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

Signed-off-by: Sam Tygier <samtygier@yahoo.co.uk>
[ minor message reformatting ]
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Sam Tygier 2016-01-06 08:46:12 +00:00 коммит произвёл David Sterba
Родитель ca8a51b3a9
Коммит ee592d0771
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -3748,6 +3748,13 @@ int btrfs_balance(struct btrfs_balance_control *bctl,
} }
} while (read_seqretry(&fs_info->profiles_lock, seq)); } 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,
"metatdata profile 0x%llx has lower redundancy than data profile 0x%llx",
bctl->meta.target, bctl->data.target);
}
if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) { if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) {
fs_info->num_tolerated_disk_barrier_failures = min( fs_info->num_tolerated_disk_barrier_failures = min(
btrfs_calc_num_tolerated_disk_barrier_failures(fs_info), btrfs_calc_num_tolerated_disk_barrier_failures(fs_info),