diff --git a/include/spdk_internal/bdev.h b/include/spdk_internal/bdev.h index a621b5f99..8c41cdc54 100644 --- a/include/spdk_internal/bdev.h +++ b/include/spdk_internal/bdev.h @@ -224,8 +224,6 @@ struct spdk_bdev { bool bdev_opened; - bool bdev_opened_for_write; - /** * Pointer to the module that has claimed this bdev for purposes of creating virtual * bdevs on top of it. Set to NULL if the bdev has not been claimed. diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 3ca8e3cb6..2b696fedc 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -1481,7 +1481,6 @@ _spdk_bdev_register(struct spdk_bdev *bdev) TAILQ_INIT(&bdev->open_descs); bdev->bdev_opened = false; - bdev->bdev_opened_for_write = false; TAILQ_INIT(&bdev->vbdevs); TAILQ_INIT(&bdev->base_bdevs); @@ -1605,8 +1604,8 @@ spdk_bdev_open(struct spdk_bdev *bdev, bool write, spdk_bdev_remove_cb_t remove_ pthread_mutex_lock(&bdev->mutex); - if (write && (bdev->bdev_opened_for_write || bdev->claim_module)) { - SPDK_ERRLOG("failed, %s already opened for write or claimed\n", bdev->name); + if (write && bdev->claim_module) { + SPDK_ERRLOG("failed, %s already claimed\n", bdev->name); free(desc); pthread_mutex_unlock(&bdev->mutex); return -EPERM; @@ -1614,10 +1613,6 @@ spdk_bdev_open(struct spdk_bdev *bdev, bool write, spdk_bdev_remove_cb_t remove_ TAILQ_INSERT_TAIL(&bdev->open_descs, desc, link); - if (write) { - bdev->bdev_opened_for_write = true; - } - bdev->bdev_opened = true; desc->bdev = bdev; @@ -1639,11 +1634,6 @@ spdk_bdev_close(struct spdk_bdev_desc *desc) pthread_mutex_lock(&bdev->mutex); - if (desc->write) { - assert(bdev->bdev_opened_for_write); - bdev->bdev_opened_for_write = false; - } - bdev->bdev_opened = false; TAILQ_REMOVE(&bdev->open_descs, desc, link); @@ -1669,13 +1659,7 @@ spdk_bdev_module_claim_bdev(struct spdk_bdev *bdev, struct spdk_bdev_desc *desc, return -EPERM; } - if ((!desc || !desc->write) && bdev->bdev_opened_for_write) { - SPDK_ERRLOG("bdev %s already opened with write access\n", bdev->name); - return -EPERM; - } - if (desc && !desc->write) { - bdev->bdev_opened_for_write = true; desc->write = true; } diff --git a/lib/bdev/rpc/bdev_rpc.c b/lib/bdev/rpc/bdev_rpc.c index 8ff9b8eff..4232785e5 100644 --- a/lib/bdev/rpc/bdev_rpc.c +++ b/lib/bdev/rpc/bdev_rpc.c @@ -54,8 +54,8 @@ spdk_rpc_dump_bdev_info(struct spdk_json_write_ctx *w, spdk_json_write_name(w, "num_blocks"); spdk_json_write_uint64(w, spdk_bdev_get_num_blocks(bdev)); - spdk_json_write_name(w, "bdev_opened_for_write"); - spdk_json_write_bool(w, bdev->bdev_opened_for_write); + spdk_json_write_name(w, "claimed"); + spdk_json_write_bool(w, (bdev->claim_module != NULL)); spdk_json_write_name(w, "supported_io_types"); spdk_json_write_object_begin(w); diff --git a/test/lib/bdev/blockdev.sh b/test/lib/bdev/blockdev.sh index 67a2f8553..480975a93 100755 --- a/test/lib/bdev/blockdev.sh +++ b/test/lib/bdev/blockdev.sh @@ -38,7 +38,7 @@ fi timing_exit nbd timing_enter bdev_svc -bdevs=$(discover_bdevs $rootdir $testdir/bdev.conf | jq -r '.[] | select(.bdev_opened_for_write == false)') +bdevs=$(discover_bdevs $rootdir $testdir/bdev.conf | jq -r '.[] | select(.claimed == false)') timing_exit bdev_svc if [ -d /usr/src/fio ] && [ $SPDK_RUN_ASAN -eq 0 ]; then