diff --git a/doc/bdev.md b/doc/bdev.md index 350dc2e06..24386aa7e 100644 --- a/doc/bdev.md +++ b/doc/bdev.md @@ -557,7 +557,7 @@ reflect all parameters passed to QEMU's vhost-user-scsi-pci device. Virtio-Block devices can be removed with the following command -`rpc.py remove_virtio_bdev VirtioBlk0` +`rpc.py bdev_virtio_detach_controller VirtioBlk0` # Virtio SCSI {#bdev_config_virtio_scsi} @@ -574,6 +574,6 @@ one LUN (LUN0) per SCSI device. The above 2 commands will output names of all ex Virtio-SCSI devices can be removed with the following command -`rpc.py remove_virtio_bdev VirtioScsi0` +`rpc.py bdev_virtio_detach_controller VirtioScsi0` Removing a Virtio-SCSI device will destroy all its bdevs. diff --git a/doc/jsonrpc.md b/doc/jsonrpc.md index 791ef0dbf..8cb598dd4 100644 --- a/doc/jsonrpc.md +++ b/doc/jsonrpc.md @@ -282,7 +282,7 @@ Example response: "scan_ioat_copy_engine", "construct_virtio_dev", "get_virtio_scsi_devs", - "remove_virtio_bdev", + "bdev_virtio_detach_controller", "bdev_aio_delete", "bdev_aio_create", "bdev_split_delete", @@ -2492,7 +2492,7 @@ Example response: } ~~~ -## remove_virtio_bdev {#rpc_remove_virtio_bdev} +## bdev_virtio_detach_controller {#rpc_bdev_virtio_detach_controller} Remove a Virtio device. This command can be used to remove any type of virtio device. @@ -2512,7 +2512,7 @@ Example request: "name": "VirtioUser0" }, "jsonrpc": "2.0", - "method": "remove_virtio_bdev", + "method": "bdev_virtio_detach_controller", "id": 1 } diff --git a/module/bdev/virtio/bdev_virtio_rpc.c b/module/bdev/virtio/bdev_virtio_rpc.c index de9daab44..e110585db 100644 --- a/module/bdev/virtio/bdev_virtio_rpc.c +++ b/module/bdev/virtio/bdev_virtio_rpc.c @@ -52,7 +52,7 @@ static const struct spdk_json_object_decoder rpc_remove_virtio_dev[] = { }; static void -spdk_rpc_remove_virtio_bdev_cb(void *ctx, int errnum) +spdk_rpc_bdev_virtio_detach_controller_cb(void *ctx, int errnum) { struct spdk_jsonrpc_request *request = ctx; struct spdk_json_write_ctx *w; @@ -69,8 +69,8 @@ spdk_rpc_remove_virtio_bdev_cb(void *ctx, int errnum) } static void -spdk_rpc_remove_virtio_bdev(struct spdk_jsonrpc_request *request, - const struct spdk_json_val *params) +spdk_rpc_bdev_virtio_detach_controller(struct spdk_jsonrpc_request *request, + const struct spdk_json_val *params) { struct rpc_remove_virtio_dev req = {NULL}; int rc = 0; @@ -83,9 +83,9 @@ spdk_rpc_remove_virtio_bdev(struct spdk_jsonrpc_request *request, goto cleanup; } - rc = bdev_virtio_blk_dev_remove(req.name, spdk_rpc_remove_virtio_bdev_cb, request); + rc = bdev_virtio_blk_dev_remove(req.name, spdk_rpc_bdev_virtio_detach_controller_cb, request); if (rc == -ENODEV) { - rc = bdev_virtio_scsi_dev_remove(req.name, spdk_rpc_remove_virtio_bdev_cb, request); + rc = bdev_virtio_scsi_dev_remove(req.name, spdk_rpc_bdev_virtio_detach_controller_cb, request); } if (rc != 0) { @@ -95,7 +95,9 @@ spdk_rpc_remove_virtio_bdev(struct spdk_jsonrpc_request *request, cleanup: free(req.name); } -SPDK_RPC_REGISTER("remove_virtio_bdev", spdk_rpc_remove_virtio_bdev, SPDK_RPC_RUNTIME); +SPDK_RPC_REGISTER("bdev_virtio_detach_controller", + spdk_rpc_bdev_virtio_detach_controller, SPDK_RPC_RUNTIME) +SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_virtio_detach_controller, remove_virtio_bdev) static void spdk_rpc_get_virtio_scsi_devs(struct spdk_jsonrpc_request *request, diff --git a/scripts/rpc.py b/scripts/rpc.py index 1ab09e9a3..a0b46eff7 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -1905,14 +1905,15 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse p = subparsers.add_parser('get_virtio_scsi_devs', help='List all Virtio-SCSI devices.') p.set_defaults(func=get_virtio_scsi_devs) - def remove_virtio_bdev(args): - rpc.vhost.remove_virtio_bdev(args.client, - name=args.name) + def bdev_virtio_detach_controller(args): + rpc.vhost.bdev_virtio_detach_controller(args.client, + name=args.name) - p = subparsers.add_parser('remove_virtio_bdev', help="""Remove a Virtio device + p = subparsers.add_parser('bdev_virtio_detach_controller', aliases=['remove_virtio_bdev'], + help="""Remove a Virtio device This will delete all bdevs exposed by this device""") p.add_argument('name', help='Virtio device name. E.g. VirtioUser0') - p.set_defaults(func=remove_virtio_bdev) + p.set_defaults(func=bdev_virtio_detach_controller) # ioat def scan_ioat_copy_engine(args): diff --git a/scripts/rpc/vhost.py b/scripts/rpc/vhost.py index f18a458f2..18ee9f5e1 100644 --- a/scripts/rpc/vhost.py +++ b/scripts/rpc/vhost.py @@ -1,3 +1,6 @@ +from .helpers import deprecated_alias + + def set_vhost_controller_coalescing(client, ctrlr, delay_base_us, iops_threshold): """Set coalescing for vhost controller. Args: @@ -155,14 +158,15 @@ def construct_virtio_dev(client, name, trtype, traddr, dev_type, vq_count=None, return client.call('construct_virtio_dev', params) -def remove_virtio_bdev(client, name): +@deprecated_alias('remove_virtio_bdev ') +def bdev_virtio_detach_controller(client, name): """Remove a Virtio device This will delete all bdevs exposed by this device. Args: name: virtio device name """ params = {'name': name} - return client.call('remove_virtio_bdev', params) + return client.call('bdev_virtio_detach_controller', params) def get_virtio_scsi_devs(client): diff --git a/scripts/spdkcli/ui_node.py b/scripts/spdkcli/ui_node.py index 253eaf382..bcd01bb36 100644 --- a/scripts/spdkcli/ui_node.py +++ b/scripts/spdkcli/ui_node.py @@ -541,7 +541,7 @@ class UIVirtioBlkBdev(UIBdev): Arguments: name - Is a unique identifier of the virtio scsi bdev to be deleted - UUID number or name alias. """ - self.get_root().remove_virtio_bdev(name=name) + self.get_root().bdev_virtio_detach_controller(name=name) class UIVirtioScsiBdev(UIBdev): @@ -569,7 +569,7 @@ class UIVirtioScsiBdev(UIBdev): self.shell.log.info(ret) def ui_command_delete(self, name): - self.get_root().remove_virtio_bdev(name=name) + self.get_root().bdev_virtio_detach_controller(name=name) class UIBdevObj(UINode): diff --git a/scripts/spdkcli/ui_root.py b/scripts/spdkcli/ui_root.py index 53ee091a6..ab0fa2790 100644 --- a/scripts/spdkcli/ui_root.py +++ b/scripts/spdkcli/ui_root.py @@ -245,8 +245,8 @@ class UIRoot(UINode): return self.print_array(response) @verbose - def remove_virtio_bdev(self, **kwargs): - response = rpc.vhost.remove_virtio_bdev(self.client, **kwargs) + def bdev_virtio_detach_controller(self, **kwargs): + response = rpc.vhost.bdev_virtio_detach_controller(self.client, **kwargs) return response @verbose