Uday Shankar 59eaa01ce7 ublk: support device recovery without I/O queueing
ublk currently supports the following behaviors on ublk server exit:

A: outstanding I/Os get errors, subsequently issued I/Os get errors
B: outstanding I/Os get errors, subsequently issued I/Os queue
C: outstanding I/Os get reissued, subsequently issued I/Os queue

and the following behaviors for recovery of preexisting block devices by
a future incarnation of the ublk server:

1: ublk devices stopped on ublk server exit (no recovery possible)
2: ublk devices are recoverable using start/end_recovery commands

The userspace interface allows selection of combinations of these
behaviors using flags specified at device creation time, namely:

default behavior: A + 1
UBLK_F_USER_RECOVERY: B + 2
UBLK_F_USER_RECOVERY|UBLK_F_USER_RECOVERY_REISSUE: C + 2

The behavior A + 2 is currently unsupported. Add support for this
behavior under the new flag combination
UBLK_F_USER_RECOVERY|UBLK_F_USER_RECOVERY_FAIL_IO.

Signed-off-by: Uday Shankar <ushankar@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20241007182419.3263186-5-ushankar@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-10-22 08:16:37 -06:00
..
2024-10-11 11:32:10 -07:00
2024-10-11 11:26:15 -07:00
2024-09-27 08:48:37 -07:00
2024-10-07 11:33:26 -07:00
2024-09-17 15:27:01 +02:00
2024-09-18 10:49:45 +02:00
2024-09-19 10:18:15 +02:00
2024-10-15 20:39:43 +00:00
2024-10-18 13:53:41 +10:00
2024-10-13 16:35:20 -07:00
2024-09-19 10:18:15 +02:00
2024-10-05 10:31:04 -07:00
2024-10-19 10:18:03 -07:00
2024-09-29 09:22:34 -07:00
2024-10-20 13:10:44 -07:00
2024-09-26 08:43:17 -07:00
2024-10-18 15:53:00 -07:00
2024-09-23 14:05:10 -07:00
2024-10-06 11:11:01 -07:00
2024-09-26 12:00:25 -07:00
2024-10-19 12:52:19 -07:00
2024-10-11 10:03:13 +00:00
2024-09-23 14:00:46 -07:00
2024-10-05 10:25:04 -07:00
2024-10-19 12:52:19 -07:00
2024-09-09 12:22:06 +02:00
2024-10-19 12:52:19 -07:00
2024-09-11 16:02:54 +02:00
2024-10-18 12:11:28 +02:00
2024-10-07 11:33:26 -07:00
2024-10-07 11:33:26 -07:00
2024-10-07 11:33:26 -07:00