Commit 18461f2
ublk: don't fail request for recovery & reissue in case of ubq->canceling
ubq->canceling is set with request queue quiesced when io_uring context is
exiting. USER_RECOVERY or !RECOVERY_FAIL_IO requires request to be re-queued
and re-dispatch after device is recovered.
However commit d796cea ("ublk: implement ->queue_rqs()") still may fail
any request in case of ubq->canceling, this way breaks USER_RECOVERY or
!RECOVERY_FAIL_IO.
Fix it by calling __ublk_abort_rq() in case of ubq->canceling.
Reviewed-by: Uday Shankar <[email protected]>
Reported-by: Uday Shankar <[email protected]>
Closes: https://lore.kernel.org/linux-block/Z%2FQkkTRHfRxtN%[email protected]/
Fixes: d796cea ("ublk: implement ->queue_rqs()")
Signed-off-by: Ming Lei <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>1 parent 6ee6bd5 commit 18461f2
1 file changed
+5
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1371 | 1371 | | |
1372 | 1372 | | |
1373 | 1373 | | |
1374 | | - | |
| 1374 | + | |
| 1375 | + | |
1375 | 1376 | | |
1376 | 1377 | | |
1377 | 1378 | | |
| |||
1390 | 1391 | | |
1391 | 1392 | | |
1392 | 1393 | | |
1393 | | - | |
| 1394 | + | |
1394 | 1395 | | |
1395 | 1396 | | |
1396 | 1397 | | |
| |||
1409 | 1410 | | |
1410 | 1411 | | |
1411 | 1412 | | |
1412 | | - | |
| 1413 | + | |
1413 | 1414 | | |
1414 | 1415 | | |
1415 | 1416 | | |
| |||
1441 | 1442 | | |
1442 | 1443 | | |
1443 | 1444 | | |
1444 | | - | |
| 1445 | + | |
1445 | 1446 | | |
1446 | 1447 | | |
1447 | 1448 | | |
| |||
0 commit comments