Commit a7cfb63a authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

bdev/rbd: use spdk_bdev to get a handle to bdev_rbd



Previously, the code used to get an IO channel to get a handle to
bdev_rbd, but that's not necessary (and can potentially fail), as we can
get the bdev_rbd pointer from spdk_bdev (it's safe to do because we
already check that bdev->module points at rbd_if).

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I4bedf187b3ee328d4238030e9057ffa39a05f7a5
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20078


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent cfc9dcdf
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -1400,8 +1400,7 @@ bdev_rbd_resize(const char *name, const uint64_t new_size_in_mb)
{
	struct spdk_bdev_desc *desc;
	struct spdk_bdev *bdev;
	struct spdk_io_channel *ch;
	struct bdev_rbd_io_channel *rbd_io_ch;
	struct bdev_rbd *rbd;
	int rc = 0;
	uint64_t new_size_in_byte;
	uint64_t current_size_in_mb;
@@ -1425,12 +1424,9 @@ bdev_rbd_resize(const char *name, const uint64_t new_size_in_mb)
		goto exit;
	}

	ch = bdev_rbd_get_io_channel(bdev);
	rbd_io_ch = spdk_io_channel_get_ctx(ch);
	rbd = SPDK_CONTAINEROF(bdev, struct bdev_rbd, disk);
	new_size_in_byte = new_size_in_mb * 1024 * 1024;

	rc = rbd_resize(rbd_io_ch->disk->image, new_size_in_byte);
	spdk_put_io_channel(ch);
	rc = rbd_resize(rbd->image, new_size_in_byte);
	if (rc != 0) {
		SPDK_ERRLOG("failed to resize the ceph bdev.\n");
		goto exit;