block: kill merge_bvec_fn() completely
As generic_make_request() is now able to handle arbitrarily sized bios, it's no longer necessary for each individual block driver to define its own ->merge_bvec_fn() callback. Remove every invocation completely. Cc: Jens Axboe <axboe@kernel.dk> Cc: Lars Ellenberg <drbd-dev@lists.linbit.com> Cc: drbd-user@lists.linbit.com Cc: Jiri Kosina <jkosina@suse.cz> Cc: Yehuda Sadeh <yehuda@inktank.com> Cc: Sage Weil <sage@inktank.com> Cc: Alex Elder <elder@kernel.org> Cc: ceph-devel@vger.kernel.org Cc: Alasdair Kergon <agk@redhat.com> Cc: Mike Snitzer <snitzer@redhat.com> Cc: dm-devel@redhat.com Cc: Neil Brown <neilb@suse.de> Cc: linux-raid@vger.kernel.org Cc: Christoph Hellwig <hch@infradead.org> Cc: "Martin K. Petersen" <martin.petersen@oracle.com> Acked-by: NeilBrown <neilb@suse.de> (for the 'md' bits) Acked-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> [dpark: also remove ->merge_bvec_fn() in dm-thin as well as dm-era-target, and resolve merge conflicts] Signed-off-by: Dongsu Park <dpark@posteo.net> Signed-off-by: Ming Lin <ming.l@ssi.samsung.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
7140aafce2
commit
8ae126660f
@@ -3771,26 +3771,6 @@ static int cache_iterate_devices(struct dm_target *ti,
|
||||
return r;
|
||||
}
|
||||
|
||||
/*
|
||||
* We assume I/O is going to the origin (which is the volume
|
||||
* more likely to have restrictions e.g. by being striped).
|
||||
* (Looking up the exact location of the data would be expensive
|
||||
* and could always be out of date by the time the bio is submitted.)
|
||||
*/
|
||||
static int cache_bvec_merge(struct dm_target *ti,
|
||||
struct bvec_merge_data *bvm,
|
||||
struct bio_vec *biovec, int max_size)
|
||||
{
|
||||
struct cache *cache = ti->private;
|
||||
struct request_queue *q = bdev_get_queue(cache->origin_dev->bdev);
|
||||
|
||||
if (!q->merge_bvec_fn)
|
||||
return max_size;
|
||||
|
||||
bvm->bi_bdev = cache->origin_dev->bdev;
|
||||
return min(max_size, q->merge_bvec_fn(q, bvm, biovec));
|
||||
}
|
||||
|
||||
static void set_discard_limits(struct cache *cache, struct queue_limits *limits)
|
||||
{
|
||||
/*
|
||||
@@ -3834,7 +3814,6 @@ static struct target_type cache_target = {
|
||||
.status = cache_status,
|
||||
.message = cache_message,
|
||||
.iterate_devices = cache_iterate_devices,
|
||||
.merge = cache_bvec_merge,
|
||||
.io_hints = cache_io_hints,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user