Commit f5cac8b
committed
io_uring: don't use retry based buffered reads for non-async bdev
Some block devices, like dm, bubble back -EAGAIN through the completion
handler. We check for this in io_read(), but don't honor it for when
we have copied the iov. Return -EAGAIN for this case before retrying,
to force punt to io-wq.
Fixes: bcf5a06 ("io_uring: support true async buffered reads, if file provides it")
Reported-by: Zorro Lang <zlang@redhat.com>
Tested-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>1 parent 8f3d749 commit f5cac8b
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3130 | 3130 | | |
3131 | 3131 | | |
3132 | 3132 | | |
| 3133 | + | |
3133 | 3134 | | |
3134 | 3135 | | |
3135 | 3136 | | |
| |||
3147 | 3148 | | |
3148 | 3149 | | |
3149 | 3150 | | |
3150 | | - | |
| 3151 | + | |
| 3152 | + | |
3151 | 3153 | | |
3152 | 3154 | | |
3153 | 3155 | | |
| |||
3191 | 3193 | | |
3192 | 3194 | | |
3193 | 3195 | | |
| 3196 | + | |
| 3197 | + | |
3194 | 3198 | | |
3195 | 3199 | | |
3196 | 3200 | | |
| |||
0 commit comments