From ece0e1ea036e6d1c952f304ff74762a12786c37f Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Fri, 25 Sep 2015 18:15:44 +0200 Subject: btrfs-progs: utils: Check nodesize against features Check nodesize against features, not only sectorsize. In fact, one of the btrfs-convert and mkfs differs in the nodesize check. This patch also provides the basis for later btrfs-convert fix. Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- utils.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'utils.c') diff --git a/utils.c b/utils.c index bb4091ec..0f8f91dd 100644 --- a/utils.c +++ b/utils.c @@ -2928,7 +2928,7 @@ int btrfs_tree_search2_ioctl_supported(int fd) return v2_supported; } -int btrfs_check_nodesize(u32 nodesize, u32 sectorsize) +int btrfs_check_nodesize(u32 nodesize, u32 sectorsize, u64 features) { if (nodesize < sectorsize) { fprintf(stderr, @@ -2945,6 +2945,12 @@ int btrfs_check_nodesize(u32 nodesize, u32 sectorsize) "ERROR: Illegal nodesize %u (not aligned to %u)\n", nodesize, sectorsize); return -1; + } else if (features & BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS && + nodesize != sectorsize) { + fprintf(stderr, + "ERROR: Illegal nodesize %u (not equal to %u for mixed block group)\n", + nodesize, sectorsize); + return -1; } return 0; } -- cgit v1.2.3