Btrfs: put ENOSPC debugging under a mount option
ENOSPC in btrfs is getting to the point where the extra debugging isn't required. I've put it under mount -o enospc_debug just in case someone is having difficult problems. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
c26a920373
commit
91435650c2
@ -1254,6 +1254,7 @@ struct btrfs_root {
|
||||
#define BTRFS_MOUNT_SPACE_CACHE (1 << 12)
|
||||
#define BTRFS_MOUNT_CLEAR_CACHE (1 << 13)
|
||||
#define BTRFS_MOUNT_USER_SUBVOL_RM_ALLOWED (1 << 14)
|
||||
#define BTRFS_MOUNT_ENOSPC_DEBUG (1 << 15)
|
||||
|
||||
#define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt)
|
||||
#define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt)
|
||||
|
@ -5377,7 +5377,7 @@ int btrfs_reserve_extent(struct btrfs_trans_handle *trans,
|
||||
num_bytes, data, 1);
|
||||
goto again;
|
||||
}
|
||||
if (ret == -ENOSPC) {
|
||||
if (ret == -ENOSPC && btrfs_test_opt(root, ENOSPC_DEBUG)) {
|
||||
struct btrfs_space_info *sinfo;
|
||||
|
||||
sinfo = __find_space_info(root->fs_info, data);
|
||||
|
@ -155,7 +155,8 @@ enum {
|
||||
Opt_nossd, Opt_ssd_spread, Opt_thread_pool, Opt_noacl, Opt_compress,
|
||||
Opt_compress_type, Opt_compress_force, Opt_compress_force_type,
|
||||
Opt_notreelog, Opt_ratio, Opt_flushoncommit, Opt_discard,
|
||||
Opt_space_cache, Opt_clear_cache, Opt_user_subvol_rm_allowed, Opt_err,
|
||||
Opt_space_cache, Opt_clear_cache, Opt_user_subvol_rm_allowed,
|
||||
Opt_enospc_debug, Opt_err,
|
||||
};
|
||||
|
||||
static match_table_t tokens = {
|
||||
@ -184,6 +185,7 @@ static match_table_t tokens = {
|
||||
{Opt_space_cache, "space_cache"},
|
||||
{Opt_clear_cache, "clear_cache"},
|
||||
{Opt_user_subvol_rm_allowed, "user_subvol_rm_allowed"},
|
||||
{Opt_enospc_debug, "enospc_debug"},
|
||||
{Opt_err, NULL},
|
||||
};
|
||||
|
||||
@ -358,6 +360,9 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
|
||||
case Opt_user_subvol_rm_allowed:
|
||||
btrfs_set_opt(info->mount_opt, USER_SUBVOL_RM_ALLOWED);
|
||||
break;
|
||||
case Opt_enospc_debug:
|
||||
btrfs_set_opt(info->mount_opt, ENOSPC_DEBUG);
|
||||
break;
|
||||
case Opt_err:
|
||||
printk(KERN_INFO "btrfs: unrecognized mount option "
|
||||
"'%s'\n", p);
|
||||
|
Loading…
Reference in New Issue
Block a user