bdev/split: pass correct bdev to base_bdev functions

Since the io_channel will be passed to the underlying bdev's
read/write/... functions later, we need to also acquire an io_channel
for the underlying bdev, not for the virtual bdev.

Change-Id: Ica13076973fef875ea636770fce8eb27017aa1c3
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Daniel Verkamp 2017-02-03 15:10:03 -07:00
parent ad063db506
commit 9b38556afe

View File

@ -193,7 +193,7 @@ vbdev_split_io_type_supported(struct spdk_bdev *bdev, enum spdk_bdev_io_type io_
{
struct split_disk *split_disk = (struct split_disk *)bdev;
return split_disk->base_bdev->fn_table->io_type_supported(bdev, io_type);
return split_disk->base_bdev->fn_table->io_type_supported(split_disk->base_bdev, io_type);
}
static struct spdk_io_channel *
@ -201,7 +201,7 @@ vbdev_split_get_io_channel(struct spdk_bdev *bdev, uint32_t priority)
{
struct split_disk *split_disk = (struct split_disk *)bdev;
return split_disk->base_bdev->fn_table->get_io_channel(bdev, priority);
return split_disk->base_bdev->fn_table->get_io_channel(split_disk->base_bdev, priority);
}
static struct spdk_bdev_fn_table vbdev_split_fn_table = {