diff options
author | Chandan Rajendra <chandan@linux.vnet.ibm.com> | 2016-06-16 18:37:58 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-06-17 18:32:49 +0200 |
commit | dd5c93111dc9d26e038ac437f7a403d617e82c62 (patch) | |
tree | 0e2bedc70d8b60958fb49fcb3392e95efacf39eb /fs | |
parent | btrfs: remove build fixup for qgroup_account_snapshot (diff) | |
download | linux-dd5c93111dc9d26e038ac437f7a403d617e82c62.tar.xz linux-dd5c93111dc9d26e038ac437f7a403d617e82c62.zip |
Btrfs: btrfs_check_super_valid: Allow 4096 as stripesize
Older btrfs-progs/mkfs.btrfs sets 4096 as the stripesize. Hence
restricting stripesize to be equal to sectorsize would cause super block
validation to return an error on architectures where PAGE_SIZE is not
equal to 4096.
Hence as a workaround, this commit allows stripesize to be set to 4096
bytes.
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/disk-io.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 789f5f233940..54cca7a1572b 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -4134,7 +4134,8 @@ static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info, ret = -EINVAL; } if (!is_power_of_2(btrfs_super_stripesize(sb)) || - btrfs_super_stripesize(sb) != sectorsize) { + ((btrfs_super_stripesize(sb) != sectorsize) && + (btrfs_super_stripesize(sb) != 4096))) { btrfs_err(fs_info, "invalid stripesize %u", btrfs_super_stripesize(sb)); ret = -EINVAL; |