Commit bc70852f authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

bcache: convert to blk_alloc_disk/blk_cleanup_disk



Convert the bcache driver to use the blk_alloc_disk and blk_cleanup_disk
helpers to simplify gendisk and request_queue allocation.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Acked-by: default avatarColy Li <colyli@suse.de>
Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20210521055116.1053587-13-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 1aabd53a
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -890,13 +890,9 @@ static void bcache_device_free(struct bcache_device *d)
		if (disk_added)
			del_gendisk(disk);

		if (disk->queue)
			blk_cleanup_queue(disk->queue);

		blk_cleanup_disk(disk);
		ida_simple_remove(&bcache_device_idx,
				  first_minor_to_idx(disk->first_minor));
		if (disk_added)
			put_disk(disk);
	}

	bioset_exit(&d->bio_split);
@@ -946,7 +942,7 @@ static int bcache_device_init(struct bcache_device *d, unsigned int block_size,
			BIOSET_NEED_BVECS|BIOSET_NEED_RESCUER))
		goto err;

	d->disk = alloc_disk(BCACHE_MINORS);
	d->disk = blk_alloc_disk(NUMA_NO_NODE);
	if (!d->disk)
		goto err;

@@ -955,14 +951,11 @@ static int bcache_device_init(struct bcache_device *d, unsigned int block_size,

	d->disk->major		= bcache_major;
	d->disk->first_minor	= idx_to_first_minor(idx);
	d->disk->minors		= BCACHE_MINORS;
	d->disk->fops		= ops;
	d->disk->private_data	= d;

	q = blk_alloc_queue(NUMA_NO_NODE);
	if (!q)
		return -ENOMEM;

	d->disk->queue			= q;
	q = d->disk->queue;
	q->limits.max_hw_sectors	= UINT_MAX;
	q->limits.max_sectors		= UINT_MAX;
	q->limits.max_segment_size	= UINT_MAX;