bdev/compress: update internal delete function to delete by name
Needed in upcoming patches. Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I0db6f2e4aa99e9c1e3b1080dc63e50291a6f5938 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465825 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
ffc17e6e94
commit
a480b18eda
@ -1461,17 +1461,21 @@ error_bdev_name:
|
||||
}
|
||||
|
||||
void
|
||||
bdev_compress_delete(struct spdk_bdev *bdev, spdk_delete_compress_complete cb_fn, void *cb_arg)
|
||||
bdev_compress_delete(const char *name, spdk_delete_compress_complete cb_fn, void *cb_arg)
|
||||
{
|
||||
struct vbdev_compress *comp_bdev = NULL;
|
||||
|
||||
if (!bdev || bdev->module != &compress_if) {
|
||||
TAILQ_FOREACH(comp_bdev, &g_vbdev_comp, link) {
|
||||
if (strcmp(name, comp_bdev->comp_bdev.name) == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (comp_bdev == NULL) {
|
||||
cb_fn(cb_arg, -ENODEV);
|
||||
return;
|
||||
}
|
||||
|
||||
comp_bdev = SPDK_CONTAINEROF(bdev, struct vbdev_compress, comp_bdev);
|
||||
|
||||
/* Save these for after the vol is destroyed. */
|
||||
comp_bdev->delete_cb_fn = cb_fn;
|
||||
comp_bdev->delete_cb_arg = cb_arg;
|
||||
|
@ -61,11 +61,11 @@ int create_compress_bdev(const char *bdev_name, const char *pm_path);
|
||||
/**
|
||||
* Delete compress bdev.
|
||||
*
|
||||
* \param bdev Pointer to compression bdev.
|
||||
* \param bdev_name Bdev on which compression bdev will be deleted.
|
||||
* \param cb_fn Function to call after deletion.
|
||||
* \param cb_arg Argument to pass to cb_fn.
|
||||
*/
|
||||
void bdev_compress_delete(struct spdk_bdev *bdev, spdk_delete_compress_complete cb_fn,
|
||||
void bdev_compress_delete(const char *bdev_name, spdk_delete_compress_complete cb_fn,
|
||||
void *cb_arg);
|
||||
|
||||
#endif /* SPDK_VBDEV_COMPRESS_H */
|
||||
|
@ -172,25 +172,16 @@ spdk_rpc_bdev_compress_delete(struct spdk_jsonrpc_request *request,
|
||||
const struct spdk_json_val *params)
|
||||
{
|
||||
struct rpc_delete_compress req = {NULL};
|
||||
struct spdk_bdev *bdev;
|
||||
|
||||
if (spdk_json_decode_object(params, rpc_delete_compress_decoders,
|
||||
SPDK_COUNTOF(rpc_delete_compress_decoders),
|
||||
&req)) {
|
||||
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
|
||||
"spdk_json_decode_object failed");
|
||||
goto cleanup;
|
||||
} else {
|
||||
bdev_compress_delete(req.name, _spdk_rpc_bdev_compress_delete_cb, request);
|
||||
}
|
||||
|
||||
bdev = spdk_bdev_get_by_name(req.name);
|
||||
if (bdev == NULL) {
|
||||
spdk_jsonrpc_send_error_response(request, ENODEV, spdk_strerror(-ENODEV));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
bdev_compress_delete(bdev, _spdk_rpc_bdev_compress_delete_cb, request);
|
||||
|
||||
cleanup:
|
||||
free_rpc_delete_compress(&req);
|
||||
}
|
||||
SPDK_RPC_REGISTER("bdev_compress_delete", spdk_rpc_bdev_compress_delete, SPDK_RPC_RUNTIME)
|
||||
|
Loading…
Reference in New Issue
Block a user