Message ID | fb24b16fb695d521254f92d70241246f859ffa36.1608608848.git.naohiro.aota@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: zoned block device support | expand |
On 12/21/20 10:48 PM, Naohiro Aota wrote: > From: Johannes Thumshirn <johannes.thumshirn@wdc.com> > > Since fs_info->zoned is unioned with fs_info->zone_size, loading > fs_info->zoned from the incompat flag screw up the zone_size. So, let's > avoid to load it from the flag. It will be eventually set by > btrfs_get_dev_zone_info_all_devices(). > > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> May want to take another crack at that changelog, the grammar is way off. The code is fine tho Reviewed-by: Josef Bacik <josef@toxicpanda.com> Thanks, Josef
On 11/01/2021 21:08, Josef Bacik wrote: > May want to take another crack at that changelog, the grammar is way off. The > code is fine tho *doh* sure will do
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index e7b451d30ae2..192e366f8afc 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -3136,8 +3136,6 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device if (features & BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) btrfs_info(fs_info, "has skinny extents"); - fs_info->zoned = (features & BTRFS_FEATURE_INCOMPAT_ZONED); - /* * flag our filesystem as having big metadata blocks if * they are bigger than the page size diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c index e5619c8bcebb..ae566a7da088 100644 --- a/fs/btrfs/zoned.c +++ b/fs/btrfs/zoned.c @@ -431,6 +431,14 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info) fs_info->zone_size = zone_size; fs_info->max_zone_append_size = max_zone_append_size; + /* + * Check mount options here, because we might change fs_info->zoned + * from fs_info->zone_size. + */ + ret = btrfs_check_mountopts_zoned(fs_info); + if (ret) + goto out; + btrfs_info(fs_info, "zoned mode enabled with zone size %llu", zone_size); out: return ret;