Btrfs: Check metadata redundancy on balance
PATCH v3 1/1 Btrfs: Check metadata redundancy on balance
From: Sam Tygier <[email protected]>
Date: Wed, 6 Jan 2016 08:46:12 +0000
Subject: [PATCH] Btrfs: Check metadata redundancy on balance
When converting a filesystem via balance check that metadata mode is at least as redundant as the data mode. For example give warning when:
-dconvert=raid1 -mconvert=single
---
v3:
Use btrfs_warn()
Mention profiles in message
v2:
Use btrfs_get_num_tolerated_disk_barrier_failures()
--- fs/btrfs/volumes.c | 8 ++++++++ 1 file changed, 8 insertions(+)
fs/btrfs/volumes.c +8 -0
@@ -3756,6 +3756,14 @@ int btrfs_balance(struct btrfs_balance_control *bctl, } }while (read_seqretry (&fs_info->profiles_lock, seq)); +if (btrfs_get_num_tolerated_disk_barrier_failures (bctl->meta.target) < +btrfs_get_num_tolerated_disk_barrier_failures (bctl->data.target)) { +btrfs_warn (fs_info, +"Warning: metatdata profile %llu has lower redundancy " +"than data profile %llu\n" , bctl->meta.target, + bctl->data.target); + } +if (bctl->sys.flags &BTRFS_BALANCE_ARGS_CONVERT ) { fs_info->num_tolerated_disk_barrier_failures = min( btrfs_calc_num_tolerated_disk_barrier_failures(fs_info),
Signature · 1 line
2.4.3
Quoted 25 lines · sam tygier
From: Sam Tygier <[email protected]>
Date: Wed, 6 Jan 2016 08:46:12 +0000
Subject: [PATCH] Btrfs: Check metadata redundancy on balanceWhen converting a filesystem via balance check that metadata mode is at least as redundant as the data mode. For example give warning when:
-dconvert=raid1 -mconvert=singleSigned-off-by Sam Tygier <[email protected]>---
v3:
Usebtrfs_warn()
Mention profiles in message
v2:
Usebtrfs_get_num_tolerated_disk_barrier_failures()--- fs/btrfs/volumes.c | 8 ++++++++ 1 file changed, 8 insertions(+)fs/btrfs/volumes.c +0
-0
fs/btrfs/volumes.c int btrfs_balance(struct btrfs_balance_control *bctl, · line 3763
Quoted 8 lines
fs/btrfs/volumes.c +5
-0@@ -3756,6 +3756,14 @@ int btrfs_balance(struct btrfs_balance_control *bctl, } }while (read_seqretry (&fs_info->profiles_lock, seq)); +if (btrfs_get_num_tolerated_disk_barrier_failures (bctl->meta.target) < +btrfs_get_num_tolerated_disk_barrier_failures (bctl->data.target)) { + btrfs_warn(fs_info, + "Warning: metatdata profile %llu has lower redundancy " + "than data profile %llu\n", bctl->meta.target,
Thanks. FYI, I made some minor adjustments to the message ("warning" is not necessary, numer format looks better in hexa, no ending \n).