mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
dm-zoned: cleanup dmz_fixup_devices
Use the bdev based helpers where applicable and move the zoned_dev into the scope where it is actually used. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Link: https://lore.kernel.org/r/20220706070350.1703384-15-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
a239145ad1
commit
fabed68c27
@ -764,8 +764,7 @@ static void dmz_put_zoned_device(struct dm_target *ti)
|
||||
static int dmz_fixup_devices(struct dm_target *ti)
|
||||
{
|
||||
struct dmz_target *dmz = ti->private;
|
||||
struct dmz_dev *reg_dev, *zoned_dev;
|
||||
struct request_queue *q;
|
||||
struct dmz_dev *reg_dev = NULL;
|
||||
sector_t zone_nr_sectors = 0;
|
||||
int i;
|
||||
|
||||
@ -780,31 +779,32 @@ static int dmz_fixup_devices(struct dm_target *ti)
|
||||
return -EINVAL;
|
||||
}
|
||||
for (i = 1; i < dmz->nr_ddevs; i++) {
|
||||
zoned_dev = &dmz->dev[i];
|
||||
struct dmz_dev *zoned_dev = &dmz->dev[i];
|
||||
struct block_device *bdev = zoned_dev->bdev;
|
||||
|
||||
if (zoned_dev->flags & DMZ_BDEV_REGULAR) {
|
||||
ti->error = "Secondary disk is not a zoned device";
|
||||
return -EINVAL;
|
||||
}
|
||||
q = bdev_get_queue(zoned_dev->bdev);
|
||||
if (zone_nr_sectors &&
|
||||
zone_nr_sectors != blk_queue_zone_sectors(q)) {
|
||||
zone_nr_sectors != bdev_zone_sectors(bdev)) {
|
||||
ti->error = "Zone nr sectors mismatch";
|
||||
return -EINVAL;
|
||||
}
|
||||
zone_nr_sectors = blk_queue_zone_sectors(q);
|
||||
zone_nr_sectors = bdev_zone_sectors(bdev);
|
||||
zoned_dev->zone_nr_sectors = zone_nr_sectors;
|
||||
zoned_dev->nr_zones = bdev_nr_zones(zoned_dev->bdev);
|
||||
zoned_dev->nr_zones = bdev_nr_zones(bdev);
|
||||
}
|
||||
} else {
|
||||
reg_dev = NULL;
|
||||
zoned_dev = &dmz->dev[0];
|
||||
struct dmz_dev *zoned_dev = &dmz->dev[0];
|
||||
struct block_device *bdev = zoned_dev->bdev;
|
||||
|
||||
if (zoned_dev->flags & DMZ_BDEV_REGULAR) {
|
||||
ti->error = "Disk is not a zoned device";
|
||||
return -EINVAL;
|
||||
}
|
||||
q = bdev_get_queue(zoned_dev->bdev);
|
||||
zoned_dev->zone_nr_sectors = blk_queue_zone_sectors(q);
|
||||
zoned_dev->nr_zones = bdev_nr_zones(zoned_dev->bdev);
|
||||
zoned_dev->zone_nr_sectors = bdev_zone_sectors(bdev);
|
||||
zoned_dev->nr_zones = bdev_nr_zones(bdev);
|
||||
}
|
||||
|
||||
if (reg_dev) {
|
||||
|
Loading…
Reference in New Issue
Block a user