diff options
author | Christoph Hellwig <hch@lst.de> | 2024-11-13 09:45:36 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-11-13 11:40:11 -0700 |
commit | e559ee022658c70bdc07c4846bf279f5a5abc494 (patch) | |
tree | 2d3a268d7a73933fb39f27831ae580c7c8207487 /fs/btrfs | |
parent | 470d2bc3a0bc19a849cc7478c02d3f5ecaa1233e (diff) | |
download | lwn-e559ee022658c70bdc07c4846bf279f5a5abc494.tar.gz lwn-e559ee022658c70bdc07c4846bf279f5a5abc494.zip |
btrfs: validate queue limits
Call blk_validate_limits on the queue limits used for zone append
splitting so that calculated values get filled in and any stacking
conflicts get cought.
Without this there isn't a max_zone_append_sectors limits as of commit
559218d43ec9 ("block: pre-calculate max_zone_append_sectors").
Fixes: 559218d43ec9 ("block: pre-calculate max_zone_append_sectors")
Reported-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20241113084541.34315-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/zoned.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c index 46b9386957e6..64cdae31d348 100644 --- a/fs/btrfs/zoned.c +++ b/fs/btrfs/zoned.c @@ -711,6 +711,12 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info) blk_stack_limits(lim, bdev_limits(device->bdev), 0); } + ret = blk_validate_limits(lim); + if (ret) { + btrfs_err(fs_info, "zoned: failed to validate queue limits"); + return ret; + } + /* * stripe_size is always aligned to BTRFS_STRIPE_LEN in * btrfs_create_chunk(). Since we want stripe_len == zone_size, |