[dm-devel] [RFC PATCH v2 1/3] dm zoned: rename dev name to zoned_dev

Bob Liu bob.liu at oracle.com
Wed Mar 25 07:28:58 UTC 2020


Hi Damien,

On 3/25/20 2:29 PM, Damien Le Moal wrote:
> On 2020/03/24 20:03, Bob Liu wrote:
>> This is a prepare patch, no function change.
>> Since will introduce regular device, rename dev name to zoned_dev to
>> make things clear.
> 
> zdev would be shorter and as explicit I think.
> 

Thank you for all of the feedback to this and following patches.
There are very good suggestions, I(or perhaps Hannes) will update in next version.

Regards,
-Bob

>>
>> Signed-off-by: Bob Liu <bob.liu at oracle.com>
>> ---
>>  drivers/md/dm-zoned-metadata.c | 112 ++++++++++++++++++++---------------------
>>  drivers/md/dm-zoned-target.c   |  62 +++++++++++------------
>>  2 files changed, 87 insertions(+), 87 deletions(-)
>>
>> diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
>> index 369de15..e0e8be0 100644
>> --- a/drivers/md/dm-zoned-metadata.c
>> +++ b/drivers/md/dm-zoned-metadata.c
>> @@ -130,7 +130,7 @@ struct dmz_sb {
>>   * In-memory metadata.
>>   */
>>  struct dmz_metadata {
>> -	struct dmz_dev		*dev;
>> +	struct dmz_dev		*zoned_dev;
>>  
>>  	sector_t		zone_bitmap_size;
>>  	unsigned int		zone_nr_bitmap_blocks;
>> @@ -194,12 +194,12 @@ unsigned int dmz_id(struct dmz_metadata *zmd, struct dm_zone *zone)
>>  
>>  sector_t dmz_start_sect(struct dmz_metadata *zmd, struct dm_zone *zone)
>>  {
>> -	return (sector_t)dmz_id(zmd, zone) << zmd->dev->zone_nr_sectors_shift;
>> +	return (sector_t)dmz_id(zmd, zone) << zmd->zoned_dev->zone_nr_sectors_shift;
>>  }
>>  
>>  sector_t dmz_start_block(struct dmz_metadata *zmd, struct dm_zone *zone)
>>  {
>> -	return (sector_t)dmz_id(zmd, zone) << zmd->dev->zone_nr_blocks_shift;
>> +	return (sector_t)dmz_id(zmd, zone) << zmd->zoned_dev->zone_nr_blocks_shift;
>>  }
>>  
>>  unsigned int dmz_nr_chunks(struct dmz_metadata *zmd)
>> @@ -404,7 +404,7 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
>>  	sector_t block = zmd->sb[zmd->mblk_primary].block + mblk_no;
>>  	struct bio *bio;
>>  
>> -	if (dmz_bdev_is_dying(zmd->dev))
>> +	if (dmz_bdev_is_dying(zmd->zoned_dev))
>>  		return ERR_PTR(-EIO);
>>  
>>  	/* Get a new block and a BIO to read it */
>> @@ -440,7 +440,7 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
>>  
>>  	/* Submit read BIO */
>>  	bio->bi_iter.bi_sector = dmz_blk2sect(block);
>> -	bio_set_dev(bio, zmd->dev->bdev);
>> +	bio_set_dev(bio, zmd->zoned_dev->bdev);
>>  	bio->bi_private = mblk;
>>  	bio->bi_end_io = dmz_mblock_bio_end_io;
>>  	bio_set_op_attrs(bio, REQ_OP_READ, REQ_META | REQ_PRIO);
>> @@ -555,7 +555,7 @@ static struct dmz_mblock *dmz_get_mblock(struct dmz_metadata *zmd,
>>  		       TASK_UNINTERRUPTIBLE);
>>  	if (test_bit(DMZ_META_ERROR, &mblk->state)) {
>>  		dmz_release_mblock(zmd, mblk);
>> -		dmz_check_bdev(zmd->dev);
>> +		dmz_check_bdev(zmd->zoned_dev);
>>  		return ERR_PTR(-EIO);
>>  	}
>>  
>> @@ -582,7 +582,7 @@ static int dmz_write_mblock(struct dmz_metadata *zmd, struct dmz_mblock *mblk,
>>  	sector_t block = zmd->sb[set].block + mblk->no;
>>  	struct bio *bio;
>>  
>> -	if (dmz_bdev_is_dying(zmd->dev))
>> +	if (dmz_bdev_is_dying(zmd->zoned_dev))
>>  		return -EIO;
>>  
>>  	bio = bio_alloc(GFP_NOIO, 1);
>> @@ -594,7 +594,7 @@ static int dmz_write_mblock(struct dmz_metadata *zmd, struct dmz_mblock *mblk,
>>  	set_bit(DMZ_META_WRITING, &mblk->state);
>>  
>>  	bio->bi_iter.bi_sector = dmz_blk2sect(block);
>> -	bio_set_dev(bio, zmd->dev->bdev);
>> +	bio_set_dev(bio, zmd->zoned_dev->bdev);
>>  	bio->bi_private = mblk;
>>  	bio->bi_end_io = dmz_mblock_bio_end_io;
>>  	bio_set_op_attrs(bio, REQ_OP_WRITE, REQ_META | REQ_PRIO);
>> @@ -613,7 +613,7 @@ static int dmz_rdwr_block(struct dmz_metadata *zmd, int op, sector_t block,
>>  	struct bio *bio;
>>  	int ret;
>>  
>> -	if (dmz_bdev_is_dying(zmd->dev))
>> +	if (dmz_bdev_is_dying(zmd->zoned_dev))
>>  		return -EIO;
>>  
>>  	bio = bio_alloc(GFP_NOIO, 1);
>> @@ -621,14 +621,14 @@ static int dmz_rdwr_block(struct dmz_metadata *zmd, int op, sector_t block,
>>  		return -ENOMEM;
>>  
>>  	bio->bi_iter.bi_sector = dmz_blk2sect(block);
>> -	bio_set_dev(bio, zmd->dev->bdev);
>> +	bio_set_dev(bio, zmd->zoned_dev->bdev);
>>  	bio_set_op_attrs(bio, op, REQ_SYNC | REQ_META | REQ_PRIO);
>>  	bio_add_page(bio, page, DMZ_BLOCK_SIZE, 0);
>>  	ret = submit_bio_wait(bio);
>>  	bio_put(bio);
>>  
>>  	if (ret)
>> -		dmz_check_bdev(zmd->dev);
>> +		dmz_check_bdev(zmd->zoned_dev);
>>  	return ret;
>>  }
>>  
>> @@ -661,7 +661,7 @@ static int dmz_write_sb(struct dmz_metadata *zmd, unsigned int set)
>>  
>>  	ret = dmz_rdwr_block(zmd, REQ_OP_WRITE, block, mblk->page);
>>  	if (ret == 0)
>> -		ret = blkdev_issue_flush(zmd->dev->bdev, GFP_NOIO, NULL);
>> +		ret = blkdev_issue_flush(zmd->zoned_dev->bdev, GFP_NOIO, NULL);
>>  
>>  	return ret;
>>  }
>> @@ -695,7 +695,7 @@ static int dmz_write_dirty_mblocks(struct dmz_metadata *zmd,
>>  			       TASK_UNINTERRUPTIBLE);
>>  		if (test_bit(DMZ_META_ERROR, &mblk->state)) {
>>  			clear_bit(DMZ_META_ERROR, &mblk->state);
>> -			dmz_check_bdev(zmd->dev);
>> +			dmz_check_bdev(zmd->zoned_dev);
>>  			ret = -EIO;
>>  		}
>>  		nr_mblks_submitted--;
>> @@ -703,7 +703,7 @@ static int dmz_write_dirty_mblocks(struct dmz_metadata *zmd,
>>  
>>  	/* Flush drive cache (this will also sync data) */
>>  	if (ret == 0)
>> -		ret = blkdev_issue_flush(zmd->dev->bdev, GFP_NOIO, NULL);
>> +		ret = blkdev_issue_flush(zmd->zoned_dev->bdev, GFP_NOIO, NULL);
>>  
>>  	return ret;
>>  }
>> @@ -760,7 +760,7 @@ int dmz_flush_metadata(struct dmz_metadata *zmd)
>>  	 */
>>  	dmz_lock_flush(zmd);
>>  
>> -	if (dmz_bdev_is_dying(zmd->dev)) {
>> +	if (dmz_bdev_is_dying(zmd->zoned_dev)) {
>>  		ret = -EIO;
>>  		goto out;
>>  	}
>> @@ -772,7 +772,7 @@ int dmz_flush_metadata(struct dmz_metadata *zmd)
>>  
>>  	/* If there are no dirty metadata blocks, just flush the device cache */
>>  	if (list_empty(&write_list)) {
>> -		ret = blkdev_issue_flush(zmd->dev->bdev, GFP_NOIO, NULL);
>> +		ret = blkdev_issue_flush(zmd->zoned_dev->bdev, GFP_NOIO, NULL);
>>  		goto err;
>>  	}
>>  
>> @@ -821,7 +821,7 @@ int dmz_flush_metadata(struct dmz_metadata *zmd)
>>  		list_splice(&write_list, &zmd->mblk_dirty_list);
>>  		spin_unlock(&zmd->mblk_lock);
>>  	}
>> -	if (!dmz_check_bdev(zmd->dev))
>> +	if (!dmz_check_bdev(zmd->zoned_dev))
>>  		ret = -EIO;
>>  	goto out;
>>  }
>> @@ -832,7 +832,7 @@ int dmz_flush_metadata(struct dmz_metadata *zmd)
>>  static int dmz_check_sb(struct dmz_metadata *zmd, struct dmz_super *sb)
>>  {
>>  	unsigned int nr_meta_zones, nr_data_zones;
>> -	struct dmz_dev *dev = zmd->dev;
>> +	struct dmz_dev *dev = zmd->zoned_dev;
>>  	u32 crc, stored_crc;
>>  	u64 gen;
>>  
>> @@ -908,7 +908,7 @@ static int dmz_read_sb(struct dmz_metadata *zmd, unsigned int set)
>>   */
>>  static int dmz_lookup_secondary_sb(struct dmz_metadata *zmd)
>>  {
>> -	unsigned int zone_nr_blocks = zmd->dev->zone_nr_blocks;
>> +	unsigned int zone_nr_blocks = zmd->zoned_dev->zone_nr_blocks;
>>  	struct dmz_mblock *mblk;
>>  	int i;
>>  
>> @@ -972,13 +972,13 @@ static int dmz_recover_mblocks(struct dmz_metadata *zmd, unsigned int dst_set)
>>  	struct page *page;
>>  	int i, ret;
>>  
>> -	dmz_dev_warn(zmd->dev, "Metadata set %u invalid: recovering", dst_set);
>> +	dmz_dev_warn(zmd->zoned_dev, "Metadata set %u invalid: recovering", dst_set);
>>  
>>  	if (dst_set == 0)
>>  		zmd->sb[0].block = dmz_start_block(zmd, zmd->sb_zone);
>>  	else {
>>  		zmd->sb[1].block = zmd->sb[0].block +
>> -			(zmd->nr_meta_zones << zmd->dev->zone_nr_blocks_shift);
>> +			(zmd->nr_meta_zones << zmd->zoned_dev->zone_nr_blocks_shift);
>>  	}
>>  
>>  	page = alloc_page(GFP_NOIO);
>> @@ -1027,7 +1027,7 @@ static int dmz_load_sb(struct dmz_metadata *zmd)
>>  	zmd->sb[0].block = dmz_start_block(zmd, zmd->sb_zone);
>>  	ret = dmz_get_sb(zmd, 0);
>>  	if (ret) {
>> -		dmz_dev_err(zmd->dev, "Read primary super block failed");
>> +		dmz_dev_err(zmd->zoned_dev, "Read primary super block failed");
>>  		return ret;
>>  	}
>>  
>> @@ -1037,13 +1037,13 @@ static int dmz_load_sb(struct dmz_metadata *zmd)
>>  	if (ret == 0) {
>>  		sb_good[0] = true;
>>  		zmd->sb[1].block = zmd->sb[0].block +
>> -			(zmd->nr_meta_zones << zmd->dev->zone_nr_blocks_shift);
>> +			(zmd->nr_meta_zones << zmd->zoned_dev->zone_nr_blocks_shift);
>>  		ret = dmz_get_sb(zmd, 1);
>>  	} else
>>  		ret = dmz_lookup_secondary_sb(zmd);
>>  
>>  	if (ret) {
>> -		dmz_dev_err(zmd->dev, "Read secondary super block failed");
>> +		dmz_dev_err(zmd->zoned_dev, "Read secondary super block failed");
>>  		return ret;
>>  	}
>>  
>> @@ -1053,7 +1053,7 @@ static int dmz_load_sb(struct dmz_metadata *zmd)
>>  
>>  	/* Use highest generation sb first */
>>  	if (!sb_good[0] && !sb_good[1]) {
>> -		dmz_dev_err(zmd->dev, "No valid super block found");
>> +		dmz_dev_err(zmd->zoned_dev, "No valid super block found");
>>  		return -EIO;
>>  	}
>>  
>> @@ -1068,7 +1068,7 @@ static int dmz_load_sb(struct dmz_metadata *zmd)
>>  		ret = dmz_recover_mblocks(zmd, 1);
>>  
>>  	if (ret) {
>> -		dmz_dev_err(zmd->dev, "Recovery failed");
>> +		dmz_dev_err(zmd->zoned_dev, "Recovery failed");
>>  		return -EIO;
>>  	}
>>  
>> @@ -1080,7 +1080,7 @@ static int dmz_load_sb(struct dmz_metadata *zmd)
>>  		zmd->mblk_primary = 1;
>>  	}
>>  
>> -	dmz_dev_debug(zmd->dev, "Using super block %u (gen %llu)",
>> +	dmz_dev_debug(zmd->zoned_dev, "Using super block %u (gen %llu)",
>>  		      zmd->mblk_primary, zmd->sb_gen);
>>  
>>  	return 0;
>> @@ -1093,7 +1093,7 @@ static int dmz_init_zone(struct blk_zone *blkz, unsigned int idx, void *data)
>>  {
>>  	struct dmz_metadata *zmd = data;
>>  	struct dm_zone *zone = &zmd->zones[idx];
>> -	struct dmz_dev *dev = zmd->dev;
>> +	struct dmz_dev *dev = zmd->zoned_dev;
>>  
>>  	/* Ignore the eventual last runt (smaller) zone */
>>  	if (blkz->len != dev->zone_nr_sectors) {
>> @@ -1156,7 +1156,7 @@ static void dmz_drop_zones(struct dmz_metadata *zmd)
>>   */
>>  static int dmz_init_zones(struct dmz_metadata *zmd)
>>  {
>> -	struct dmz_dev *dev = zmd->dev;
>> +	struct dmz_dev *dev = zmd->zoned_dev;
>>  	int ret;
>>  
>>  	/* Init */
>> @@ -1223,16 +1223,16 @@ static int dmz_update_zone(struct dmz_metadata *zmd, struct dm_zone *zone)
>>  	 * GFP_NOIO was specified.
>>  	 */
>>  	noio_flag = memalloc_noio_save();
>> -	ret = blkdev_report_zones(zmd->dev->bdev, dmz_start_sect(zmd, zone), 1,
>> +	ret = blkdev_report_zones(zmd->zoned_dev->bdev, dmz_start_sect(zmd, zone), 1,
>>  				  dmz_update_zone_cb, zone);
>>  	memalloc_noio_restore(noio_flag);
>>  
>>  	if (ret == 0)
>>  		ret = -EIO;
>>  	if (ret < 0) {
>> -		dmz_dev_err(zmd->dev, "Get zone %u report failed",
>> +		dmz_dev_err(zmd->zoned_dev, "Get zone %u report failed",
>>  			    dmz_id(zmd, zone));
>> -		dmz_check_bdev(zmd->dev);
>> +		dmz_check_bdev(zmd->zoned_dev);
>>  		return ret;
>>  	}
>>  
>> @@ -1254,7 +1254,7 @@ static int dmz_handle_seq_write_err(struct dmz_metadata *zmd,
>>  	if (ret)
>>  		return ret;
>>  
>> -	dmz_dev_warn(zmd->dev, "Processing zone %u write error (zone wp %u/%u)",
>> +	dmz_dev_warn(zmd->zoned_dev, "Processing zone %u write error (zone wp %u/%u)",
>>  		     dmz_id(zmd, zone), zone->wp_block, wp);
>>  
>>  	if (zone->wp_block < wp) {
>> @@ -1287,7 +1287,7 @@ static int dmz_reset_zone(struct dmz_metadata *zmd, struct dm_zone *zone)
>>  		return 0;
>>  
>>  	if (!dmz_is_empty(zone) || dmz_seq_write_err(zone)) {
>> -		struct dmz_dev *dev = zmd->dev;
>> +		struct dmz_dev *dev = zmd->zoned_dev;
>>  
>>  		ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET,
>>  				       dmz_start_sect(zmd, zone),
>> @@ -1313,7 +1313,7 @@ static void dmz_get_zone_weight(struct dmz_metadata *zmd, struct dm_zone *zone);
>>   */
>>  static int dmz_load_mapping(struct dmz_metadata *zmd)
>>  {
>> -	struct dmz_dev *dev = zmd->dev;
>> +	struct dmz_dev *dev = zmd->zoned_dev;
>>  	struct dm_zone *dzone, *bzone;
>>  	struct dmz_mblock *dmap_mblk = NULL;
>>  	struct dmz_map *dmap;
>> @@ -1632,7 +1632,7 @@ struct dm_zone *dmz_get_chunk_mapping(struct dmz_metadata *zmd, unsigned int chu
>>  		/* Allocate a random zone */
>>  		dzone = dmz_alloc_zone(zmd, DMZ_ALLOC_RND);
>>  		if (!dzone) {
>> -			if (dmz_bdev_is_dying(zmd->dev)) {
>> +			if (dmz_bdev_is_dying(zmd->zoned_dev)) {
>>  				dzone = ERR_PTR(-EIO);
>>  				goto out;
>>  			}
>> @@ -1733,7 +1733,7 @@ struct dm_zone *dmz_get_chunk_buffer(struct dmz_metadata *zmd,
>>  	/* Allocate a random zone */
>>  	bzone = dmz_alloc_zone(zmd, DMZ_ALLOC_RND);
>>  	if (!bzone) {
>> -		if (dmz_bdev_is_dying(zmd->dev)) {
>> +		if (dmz_bdev_is_dying(zmd->zoned_dev)) {
>>  			bzone = ERR_PTR(-EIO);
>>  			goto out;
>>  		}
>> @@ -1795,7 +1795,7 @@ struct dm_zone *dmz_alloc_zone(struct dmz_metadata *zmd, unsigned long flags)
>>  		atomic_dec(&zmd->unmap_nr_seq);
>>  
>>  	if (dmz_is_offline(zone)) {
>> -		dmz_dev_warn(zmd->dev, "Zone %u is offline", dmz_id(zmd, zone));
>> +		dmz_dev_warn(zmd->zoned_dev, "Zone %u is offline", dmz_id(zmd, zone));
>>  		zone = NULL;
>>  		goto again;
>>  	}
>> @@ -1943,7 +1943,7 @@ int dmz_copy_valid_blocks(struct dmz_metadata *zmd, struct dm_zone *from_zone,
>>  	sector_t chunk_block = 0;
>>  
>>  	/* Get the zones bitmap blocks */
>> -	while (chunk_block < zmd->dev->zone_nr_blocks) {
>> +	while (chunk_block < zmd->zoned_dev->zone_nr_blocks) {
>>  		from_mblk = dmz_get_bitmap(zmd, from_zone, chunk_block);
>>  		if (IS_ERR(from_mblk))
>>  			return PTR_ERR(from_mblk);
>> @@ -1978,7 +1978,7 @@ int dmz_merge_valid_blocks(struct dmz_metadata *zmd, struct dm_zone *from_zone,
>>  	int ret;
>>  
>>  	/* Get the zones bitmap blocks */
>> -	while (chunk_block < zmd->dev->zone_nr_blocks) {
>> +	while (chunk_block < zmd->zoned_dev->zone_nr_blocks) {
>>  		/* Get a valid region from the source zone */
>>  		ret = dmz_first_valid_block(zmd, from_zone, &chunk_block);
>>  		if (ret <= 0)
>> @@ -2002,11 +2002,11 @@ int dmz_validate_blocks(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  			sector_t chunk_block, unsigned int nr_blocks)
>>  {
>>  	unsigned int count, bit, nr_bits;
>> -	unsigned int zone_nr_blocks = zmd->dev->zone_nr_blocks;
>> +	unsigned int zone_nr_blocks = zmd->zoned_dev->zone_nr_blocks;
>>  	struct dmz_mblock *mblk;
>>  	unsigned int n = 0;
>>  
>> -	dmz_dev_debug(zmd->dev, "=> VALIDATE zone %u, block %llu, %u blocks",
>> +	dmz_dev_debug(zmd->zoned_dev, "=> VALIDATE zone %u, block %llu, %u blocks",
>>  		      dmz_id(zmd, zone), (unsigned long long)chunk_block,
>>  		      nr_blocks);
>>  
>> @@ -2036,7 +2036,7 @@ int dmz_validate_blocks(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	if (likely(zone->weight + n <= zone_nr_blocks))
>>  		zone->weight += n;
>>  	else {
>> -		dmz_dev_warn(zmd->dev, "Zone %u: weight %u should be <= %u",
>> +		dmz_dev_warn(zmd->zoned_dev, "Zone %u: weight %u should be <= %u",
>>  			     dmz_id(zmd, zone), zone->weight,
>>  			     zone_nr_blocks - n);
>>  		zone->weight = zone_nr_blocks;
>> @@ -2086,10 +2086,10 @@ int dmz_invalidate_blocks(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	struct dmz_mblock *mblk;
>>  	unsigned int n = 0;
>>  
>> -	dmz_dev_debug(zmd->dev, "=> INVALIDATE zone %u, block %llu, %u blocks",
>> +	dmz_dev_debug(zmd->zoned_dev, "=> INVALIDATE zone %u, block %llu, %u blocks",
>>  		      dmz_id(zmd, zone), (u64)chunk_block, nr_blocks);
>>  
>> -	WARN_ON(chunk_block + nr_blocks > zmd->dev->zone_nr_blocks);
>> +	WARN_ON(chunk_block + nr_blocks > zmd->zoned_dev->zone_nr_blocks);
>>  
>>  	while (nr_blocks) {
>>  		/* Get bitmap block */
>> @@ -2116,7 +2116,7 @@ int dmz_invalidate_blocks(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	if (zone->weight >= n)
>>  		zone->weight -= n;
>>  	else {
>> -		dmz_dev_warn(zmd->dev, "Zone %u: weight %u should be >= %u",
>> +		dmz_dev_warn(zmd->zoned_dev, "Zone %u: weight %u should be >= %u",
>>  			     dmz_id(zmd, zone), zone->weight, n);
>>  		zone->weight = 0;
>>  	}
>> @@ -2133,7 +2133,7 @@ static int dmz_test_block(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	struct dmz_mblock *mblk;
>>  	int ret;
>>  
>> -	WARN_ON(chunk_block >= zmd->dev->zone_nr_blocks);
>> +	WARN_ON(chunk_block >= zmd->zoned_dev->zone_nr_blocks);
>>  
>>  	/* Get bitmap block */
>>  	mblk = dmz_get_bitmap(zmd, zone, chunk_block);
>> @@ -2163,7 +2163,7 @@ static int dmz_to_next_set_block(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	unsigned long *bitmap;
>>  	int n = 0;
>>  
>> -	WARN_ON(chunk_block + nr_blocks > zmd->dev->zone_nr_blocks);
>> +	WARN_ON(chunk_block + nr_blocks > zmd->zoned_dev->zone_nr_blocks);
>>  
>>  	while (nr_blocks) {
>>  		/* Get bitmap block */
>> @@ -2207,7 +2207,7 @@ int dmz_block_valid(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  
>>  	/* The block is valid: get the number of valid blocks from block */
>>  	return dmz_to_next_set_block(zmd, zone, chunk_block,
>> -				     zmd->dev->zone_nr_blocks - chunk_block, 0);
>> +				     zmd->zoned_dev->zone_nr_blocks - chunk_block, 0);
>>  }
>>  
>>  /*
>> @@ -2223,7 +2223,7 @@ int dmz_first_valid_block(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	int ret;
>>  
>>  	ret = dmz_to_next_set_block(zmd, zone, start_block,
>> -				    zmd->dev->zone_nr_blocks - start_block, 1);
>> +				    zmd->zoned_dev->zone_nr_blocks - start_block, 1);
>>  	if (ret < 0)
>>  		return ret;
>>  
>> @@ -2231,7 +2231,7 @@ int dmz_first_valid_block(struct dmz_metadata *zmd, struct dm_zone *zone,
>>  	*chunk_block = start_block;
>>  
>>  	return dmz_to_next_set_block(zmd, zone, start_block,
>> -				     zmd->dev->zone_nr_blocks - start_block, 0);
>> +				     zmd->zoned_dev->zone_nr_blocks - start_block, 0);
>>  }
>>  
>>  /*
>> @@ -2270,7 +2270,7 @@ static void dmz_get_zone_weight(struct dmz_metadata *zmd, struct dm_zone *zone)
>>  	struct dmz_mblock *mblk;
>>  	sector_t chunk_block = 0;
>>  	unsigned int bit, nr_bits;
>> -	unsigned int nr_blocks = zmd->dev->zone_nr_blocks;
>> +	unsigned int nr_blocks = zmd->zoned_dev->zone_nr_blocks;
>>  	void *bitmap;
>>  	int n = 0;
>>  
>> @@ -2326,7 +2326,7 @@ static void dmz_cleanup_metadata(struct dmz_metadata *zmd)
>>  	while (!list_empty(&zmd->mblk_dirty_list)) {
>>  		mblk = list_first_entry(&zmd->mblk_dirty_list,
>>  					struct dmz_mblock, link);
>> -		dmz_dev_warn(zmd->dev, "mblock %llu still in dirty list (ref %u)",
>> +		dmz_dev_warn(zmd->zoned_dev, "mblock %llu still in dirty list (ref %u)",
>>  			     (u64)mblk->no, mblk->ref);
>>  		list_del_init(&mblk->link);
>>  		rb_erase(&mblk->node, &zmd->mblk_rbtree);
>> @@ -2344,7 +2344,7 @@ static void dmz_cleanup_metadata(struct dmz_metadata *zmd)
>>  	/* Sanity checks: the mblock rbtree should now be empty */
>>  	root = &zmd->mblk_rbtree;
>>  	rbtree_postorder_for_each_entry_safe(mblk, next, root, node) {
>> -		dmz_dev_warn(zmd->dev, "mblock %llu ref %u still in rbtree",
>> +		dmz_dev_warn(zmd->zoned_dev, "mblock %llu ref %u still in rbtree",
>>  			     (u64)mblk->no, mblk->ref);
>>  		mblk->ref = 0;
>>  		dmz_free_mblock(zmd, mblk);
>> @@ -2371,7 +2371,7 @@ int dmz_ctr_metadata(struct dmz_dev *dev, struct dmz_metadata **metadata)
>>  	if (!zmd)
>>  		return -ENOMEM;
>>  
>> -	zmd->dev = dev;
>> +	zmd->zoned_dev = dev;
>>  	zmd->mblk_rbtree = RB_ROOT;
>>  	init_rwsem(&zmd->mblk_sem);
>>  	mutex_init(&zmd->mblk_flush_lock);
>> @@ -2488,7 +2488,7 @@ void dmz_dtr_metadata(struct dmz_metadata *zmd)
>>   */
>>  int dmz_resume_metadata(struct dmz_metadata *zmd)
>>  {
>> -	struct dmz_dev *dev = zmd->dev;
>> +	struct dmz_dev *dev = zmd->zoned_dev;
>>  	struct dm_zone *zone;
>>  	sector_t wp_block;
>>  	unsigned int i;
>> diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c
>> index 70a1063..28f4d00 100644
>> --- a/drivers/md/dm-zoned-target.c
>> +++ b/drivers/md/dm-zoned-target.c
>> @@ -43,7 +43,7 @@ struct dmz_target {
>>  	unsigned long		flags;
>>  
>>  	/* Zoned block device information */
>> -	struct dmz_dev		*dev;
>> +	struct dmz_dev		*zoned_dev;
>>  
>>  	/* For metadata handling */
>>  	struct dmz_metadata     *metadata;
>> @@ -81,7 +81,7 @@ static inline void dmz_bio_endio(struct bio *bio, blk_status_t status)
>>  	if (status != BLK_STS_OK && bio->bi_status == BLK_STS_OK)
>>  		bio->bi_status = status;
>>  	if (bio->bi_status != BLK_STS_OK)
>> -		bioctx->target->dev->flags |= DMZ_CHECK_BDEV;
>> +		bioctx->target->zoned_dev->flags |= DMZ_CHECK_BDEV;
>>  
>>  	if (refcount_dec_and_test(&bioctx->ref)) {
>>  		struct dm_zone *zone = bioctx->zone;
>> @@ -125,7 +125,7 @@ static int dmz_submit_bio(struct dmz_target *dmz, struct dm_zone *zone,
>>  	if (!clone)
>>  		return -ENOMEM;
>>  
>> -	bio_set_dev(clone, dmz->dev->bdev);
>> +	bio_set_dev(clone, dmz->zoned_dev->bdev);
>>  	clone->bi_iter.bi_sector =
>>  		dmz_start_sect(dmz->metadata, zone) + dmz_blk2sect(chunk_block);
>>  	clone->bi_iter.bi_size = dmz_blk2sect(nr_blocks) << SECTOR_SHIFT;
>> @@ -165,7 +165,7 @@ static void dmz_handle_read_zero(struct dmz_target *dmz, struct bio *bio,
>>  static int dmz_handle_read(struct dmz_target *dmz, struct dm_zone *zone,
>>  			   struct bio *bio)
>>  {
>> -	sector_t chunk_block = dmz_chunk_block(dmz->dev, dmz_bio_block(bio));
>> +	sector_t chunk_block = dmz_chunk_block(dmz->zoned_dev, dmz_bio_block(bio));
>>  	unsigned int nr_blocks = dmz_bio_blocks(bio);
>>  	sector_t end_block = chunk_block + nr_blocks;
>>  	struct dm_zone *rzone, *bzone;
>> @@ -177,8 +177,8 @@ static int dmz_handle_read(struct dmz_target *dmz, struct dm_zone *zone,
>>  		return 0;
>>  	}
>>  
>> -	dmz_dev_debug(dmz->dev, "READ chunk %llu -> %s zone %u, block %llu, %u blocks",
>> -		      (unsigned long long)dmz_bio_chunk(dmz->dev, bio),
>> +	dmz_dev_debug(dmz->zoned_dev, "READ chunk %llu -> %s zone %u, block %llu, %u blocks",
>> +		      (unsigned long long)dmz_bio_chunk(dmz->zoned_dev, bio),
>>  		      (dmz_is_rnd(zone) ? "RND" : "SEQ"),
>>  		      dmz_id(dmz->metadata, zone),
>>  		      (unsigned long long)chunk_block, nr_blocks);
>> @@ -308,14 +308,14 @@ static int dmz_handle_buffered_write(struct dmz_target *dmz,
>>  static int dmz_handle_write(struct dmz_target *dmz, struct dm_zone *zone,
>>  			    struct bio *bio)
>>  {
>> -	sector_t chunk_block = dmz_chunk_block(dmz->dev, dmz_bio_block(bio));
>> +	sector_t chunk_block = dmz_chunk_block(dmz->zoned_dev, dmz_bio_block(bio));
>>  	unsigned int nr_blocks = dmz_bio_blocks(bio);
>>  
>>  	if (!zone)
>>  		return -ENOSPC;
>>  
>> -	dmz_dev_debug(dmz->dev, "WRITE chunk %llu -> %s zone %u, block %llu, %u blocks",
>> -		      (unsigned long long)dmz_bio_chunk(dmz->dev, bio),
>> +	dmz_dev_debug(dmz->zoned_dev, "WRITE chunk %llu -> %s zone %u, block %llu, %u blocks",
>> +		      (unsigned long long)dmz_bio_chunk(dmz->zoned_dev, bio),
>>  		      (dmz_is_rnd(zone) ? "RND" : "SEQ"),
>>  		      dmz_id(dmz->metadata, zone),
>>  		      (unsigned long long)chunk_block, nr_blocks);
>> @@ -345,7 +345,7 @@ static int dmz_handle_discard(struct dmz_target *dmz, struct dm_zone *zone,
>>  	struct dmz_metadata *zmd = dmz->metadata;
>>  	sector_t block = dmz_bio_block(bio);
>>  	unsigned int nr_blocks = dmz_bio_blocks(bio);
>> -	sector_t chunk_block = dmz_chunk_block(dmz->dev, block);
>> +	sector_t chunk_block = dmz_chunk_block(dmz->zoned_dev, block);
>>  	int ret = 0;
>>  
>>  	/* For unmapped chunks, there is nothing to do */
>> @@ -355,8 +355,8 @@ static int dmz_handle_discard(struct dmz_target *dmz, struct dm_zone *zone,
>>  	if (dmz_is_readonly(zone))
>>  		return -EROFS;
>>  
>> -	dmz_dev_debug(dmz->dev, "DISCARD chunk %llu -> zone %u, block %llu, %u blocks",
>> -		      (unsigned long long)dmz_bio_chunk(dmz->dev, bio),
>> +	dmz_dev_debug(dmz->zoned_dev, "DISCARD chunk %llu -> zone %u, block %llu, %u blocks",
>> +		      (unsigned long long)dmz_bio_chunk(dmz->zoned_dev, bio),
>>  		      dmz_id(zmd, zone),
>>  		      (unsigned long long)chunk_block, nr_blocks);
>>  
>> @@ -392,7 +392,7 @@ static void dmz_handle_bio(struct dmz_target *dmz, struct dm_chunk_work *cw,
>>  
>>  	dmz_lock_metadata(zmd);
>>  
>> -	if (dmz->dev->flags & DMZ_BDEV_DYING) {
>> +	if (dmz->zoned_dev->flags & DMZ_BDEV_DYING) {
>>  		ret = -EIO;
>>  		goto out;
>>  	}
>> @@ -402,7 +402,7 @@ static void dmz_handle_bio(struct dmz_target *dmz, struct dm_chunk_work *cw,
>>  	 * mapping for read and discard. If a mapping is obtained,
>>  	 + the zone returned will be set to active state.
>>  	 */
>> -	zone = dmz_get_chunk_mapping(zmd, dmz_bio_chunk(dmz->dev, bio),
>> +	zone = dmz_get_chunk_mapping(zmd, dmz_bio_chunk(dmz->zoned_dev, bio),
>>  				     bio_op(bio));
>>  	if (IS_ERR(zone)) {
>>  		ret = PTR_ERR(zone);
>> @@ -427,7 +427,7 @@ static void dmz_handle_bio(struct dmz_target *dmz, struct dm_chunk_work *cw,
>>  		ret = dmz_handle_discard(dmz, zone, bio);
>>  		break;
>>  	default:
>> -		dmz_dev_err(dmz->dev, "Unsupported BIO operation 0x%x",
>> +		dmz_dev_err(dmz->zoned_dev, "Unsupported BIO operation 0x%x",
>>  			    bio_op(bio));
>>  		ret = -EIO;
>>  	}
>> @@ -502,7 +502,7 @@ static void dmz_flush_work(struct work_struct *work)
>>  	/* Flush dirty metadata blocks */
>>  	ret = dmz_flush_metadata(dmz->metadata);
>>  	if (ret)
>> -		dmz_dev_debug(dmz->dev, "Metadata flush failed, rc=%d\n", ret);
>> +		dmz_dev_debug(dmz->zoned_dev, "Metadata flush failed, rc=%d\n", ret);
>>  
>>  	/* Process queued flush requests */
>>  	while (1) {
>> @@ -525,7 +525,7 @@ static void dmz_flush_work(struct work_struct *work)
>>   */
>>  static int dmz_queue_chunk_work(struct dmz_target *dmz, struct bio *bio)
>>  {
>> -	unsigned int chunk = dmz_bio_chunk(dmz->dev, bio);
>> +	unsigned int chunk = dmz_bio_chunk(dmz->zoned_dev, bio);
>>  	struct dm_chunk_work *cw;
>>  	int ret = 0;
>>  
>> @@ -618,20 +618,20 @@ bool dmz_check_bdev(struct dmz_dev *dmz_dev)
>>  static int dmz_map(struct dm_target *ti, struct bio *bio)
>>  {
>>  	struct dmz_target *dmz = ti->private;
>> -	struct dmz_dev *dev = dmz->dev;
>> +	struct dmz_dev *dev = dmz->zoned_dev;
>>  	struct dmz_bioctx *bioctx = dm_per_bio_data(bio, sizeof(struct dmz_bioctx));
>>  	sector_t sector = bio->bi_iter.bi_sector;
>>  	unsigned int nr_sectors = bio_sectors(bio);
>>  	sector_t chunk_sector;
>>  	int ret;
>>  
>> -	if (dmz_bdev_is_dying(dmz->dev))
>> +	if (dmz_bdev_is_dying(dmz->zoned_dev))
>>  		return DM_MAPIO_KILL;
>>  
>>  	dmz_dev_debug(dev, "BIO op %d sector %llu + %u => chunk %llu, block %llu, %u blocks",
>>  		      bio_op(bio), (unsigned long long)sector, nr_sectors,
>> -		      (unsigned long long)dmz_bio_chunk(dmz->dev, bio),
>> -		      (unsigned long long)dmz_chunk_block(dmz->dev, dmz_bio_block(bio)),
>> +		      (unsigned long long)dmz_bio_chunk(dmz->zoned_dev, bio),
>> +		      (unsigned long long)dmz_chunk_block(dmz->zoned_dev, dmz_bio_block(bio)),
>>  		      (unsigned int)dmz_bio_blocks(bio));
>>  
>>  	bio_set_dev(bio, dev->bdev);
>> @@ -666,9 +666,9 @@ static int dmz_map(struct dm_target *ti, struct bio *bio)
>>  	/* Now ready to handle this BIO */
>>  	ret = dmz_queue_chunk_work(dmz, bio);
>>  	if (ret) {
>> -		dmz_dev_debug(dmz->dev,
>> +		dmz_dev_debug(dmz->zoned_dev,
>>  			      "BIO op %d, can't process chunk %llu, err %i\n",
>> -			      bio_op(bio), (u64)dmz_bio_chunk(dmz->dev, bio),
>> +			      bio_op(bio), (u64)dmz_bio_chunk(dmz->zoned_dev, bio),
>>  			      ret);
>>  		return DM_MAPIO_REQUEUE;
>>  	}
>> @@ -729,7 +729,7 @@ static int dmz_get_zoned_device(struct dm_target *ti, char *path)
>>  
>>  	dev->nr_zones = blkdev_nr_zones(dev->bdev->bd_disk);
>>  
>> -	dmz->dev = dev;
>> +	dmz->zoned_dev = dev;
>>  
>>  	return 0;
>>  err:
>> @@ -747,8 +747,8 @@ static void dmz_put_zoned_device(struct dm_target *ti)
>>  	struct dmz_target *dmz = ti->private;
>>  
>>  	dm_put_device(ti, dmz->ddev);
>> -	kfree(dmz->dev);
>> -	dmz->dev = NULL;
>> +	kfree(dmz->zoned_dev);
>> +	dmz->zoned_dev = NULL;
>>  }
>>  
>>  /*
>> @@ -782,7 +782,7 @@ static int dmz_ctr(struct dm_target *ti, unsigned int argc, char **argv)
>>  	}
>>  
>>  	/* Initialize metadata */
>> -	dev = dmz->dev;
>> +	dev = dmz->zoned_dev;
>>  	ret = dmz_ctr_metadata(dev, &dmz->metadata);
>>  	if (ret) {
>>  		ti->error = "Metadata initialization failed";
>> @@ -895,7 +895,7 @@ static void dmz_dtr(struct dm_target *ti)
>>  static void dmz_io_hints(struct dm_target *ti, struct queue_limits *limits)
>>  {
>>  	struct dmz_target *dmz = ti->private;
>> -	unsigned int chunk_sectors = dmz->dev->zone_nr_sectors;
>> +	unsigned int chunk_sectors = dmz->zoned_dev->zone_nr_sectors;
>>  
>>  	limits->logical_block_size = DMZ_BLOCK_SIZE;
>>  	limits->physical_block_size = DMZ_BLOCK_SIZE;
>> @@ -924,10 +924,10 @@ static int dmz_prepare_ioctl(struct dm_target *ti, struct block_device **bdev)
>>  {
>>  	struct dmz_target *dmz = ti->private;
>>  
>> -	if (!dmz_check_bdev(dmz->dev))
>> +	if (!dmz_check_bdev(dmz->zoned_dev))
>>  		return -EIO;
>>  
>> -	*bdev = dmz->dev->bdev;
>> +	*bdev = dmz->zoned_dev->bdev;
>>  
>>  	return 0;
>>  }
>> @@ -959,7 +959,7 @@ static int dmz_iterate_devices(struct dm_target *ti,
>>  			       iterate_devices_callout_fn fn, void *data)
>>  {
>>  	struct dmz_target *dmz = ti->private;
>> -	struct dmz_dev *dev = dmz->dev;
>> +	struct dmz_dev *dev = dmz->zoned_dev;
>>  	sector_t capacity = dev->capacity & ~(dev->zone_nr_sectors - 1);
>>  
>>  	return fn(ti, dmz->ddev, 0, capacity, data);
>>
> 
> 




More information about the dm-devel mailing list