diff options
author | ZiyangZhang <ZiyangZhang@linux.alibaba.com> | 2022-09-23 18:39:14 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-09-24 04:09:56 +0300 |
commit | 77a440e2cbb4b8688b567104f80ce1cda1afbbc4 (patch) | |
tree | 81c9b301c59dfddb341eaab4ef795e327fdd1f4a /include/uapi/linux/ublk_cmd.h | |
parent | ae3f719300816865489abd44c91c821859daa26f (diff) | |
download | linux-77a440e2cbb4b8688b567104f80ce1cda1afbbc4.tar.xz |
ublk_drv: define macros for recovery feature and check them
Define some macros for recovery feature.
UBLK_S_DEV_QUIESCED implies that ublk_device is quiesced
and is ready for recovery. This state can be observed by userspace.
UBLK_F_USER_RECOVERY implies that:
(1) ublk_drv enables recovery feature. It won't let monitor_work to
automatically abort rqs and release the device.
(2) With a dying ubq_daemon, ublk_drv ends(aborts) rqs issued to
userspace(ublksrv) before crash.
(3) With a dying ubq_daemon, in task work and ublk_queue_rq(),
ublk_drv requeues rqs.
Signed-off-by: ZiyangZhang <ZiyangZhang@linux.alibaba.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20220923153919.44078-3-ZiyangZhang@linux.alibaba.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/uapi/linux/ublk_cmd.h')
-rw-r--r-- | include/uapi/linux/ublk_cmd.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/uapi/linux/ublk_cmd.h b/include/uapi/linux/ublk_cmd.h index 677edaab2b66..340ff14bde49 100644 --- a/include/uapi/linux/ublk_cmd.h +++ b/include/uapi/linux/ublk_cmd.h @@ -74,9 +74,12 @@ */ #define UBLK_F_NEED_GET_DATA (1UL << 2) +#define UBLK_F_USER_RECOVERY (1UL << 3) + /* device state */ #define UBLK_S_DEV_DEAD 0 #define UBLK_S_DEV_LIVE 1 +#define UBLK_S_DEV_QUIESCED 2 /* shipped via sqe->cmd of io_uring command */ struct ublksrv_ctrl_cmd { |