io_uring: don't fail links for EAGAIN error in IOPOLL mode
authorXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
Mon, 15 Jun 2020 18:06:37 +0000 (02:06 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 17 Jun 2020 18:49:01 +0000 (12:49 -0600)
In IOPOLL mode, for EAGAIN error, we'll try to submit io request
again using io-wq, so don't fail rest of links if this io request
has links.

Cc: stable@vger.kernel.org
Signed-off-by: Xiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index e17df66..eb37977 100644 (file)
@@ -1988,7 +1988,7 @@ static void io_complete_rw_iopoll(struct kiocb *kiocb, long res, long res2)
        if (kiocb->ki_flags & IOCB_WRITE)
                kiocb_end_write(req);
 
-       if (res != req->result)
+       if (res != -EAGAIN && res != req->result)
                req_set_fail_links(req);
        req->result = res;
        if (res != -EAGAIN)