diff options
author | 2024-02-23 15:55:39 +0800 | |
---|---|---|
committer | 2024-02-28 18:47:08 -0700 | |
commit | 13fe8e6825e44129b6cbeee41d3012554bf8d687 (patch) | |
tree | 7e105c3bdee74769f45a94251f52995f92e966ee /include/uapi/linux/ublk_cmd.h | |
parent | ublk: improve getting & putting ublk device (diff) | |
download | wireguard-linux-13fe8e6825e44129b6cbeee41d3012554bf8d687.tar.xz wireguard-linux-13fe8e6825e44129b6cbeee41d3012554bf8d687.zip |
ublk: add UBLK_CMD_DEL_DEV_ASYNC
The current command UBLK_CMD_DEL_DEV won't return until the device is
released, this way looks more reliable, but makes userspace more
difficult to implement, especially about orders: unmap command
buffer(which holds one ublkc reference), ublkc close,
io_uring_file_unregister, ublkb close.
Add UBLK_CMD_DEL_DEV_ASYNC so that device deletion won't wait release,
then userspace needn't worry about the above order. Actually both loop
and nbd is deleted in this async way.
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20240223075539.89945-3-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to '')
-rw-r--r-- | include/uapi/linux/ublk_cmd.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/linux/ublk_cmd.h b/include/uapi/linux/ublk_cmd.h index b9cfc5c96268..c8dc5f8ea699 100644 --- a/include/uapi/linux/ublk_cmd.h +++ b/include/uapi/linux/ublk_cmd.h @@ -49,6 +49,8 @@ _IOR('u', UBLK_CMD_GET_DEV_INFO2, struct ublksrv_ctrl_cmd) #define UBLK_U_CMD_GET_FEATURES \ _IOR('u', 0x13, struct ublksrv_ctrl_cmd) +#define UBLK_U_CMD_DEL_DEV_ASYNC \ + _IOR('u', 0x14, struct ublksrv_ctrl_cmd) /* * 64bits are enough now, and it should be easy to extend in case of |