Signed-off-by: Jens Axboe <[email protected]>
---
 fs/aio.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/fs/aio.c b/fs/aio.c
index 7a3986c6cc1b..fda9b1c53f3d 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1205,12 +1205,9 @@ static void aio_fill_event(struct io_event *ev, struct 
aio_kiocb *iocb,
        ev->res2 = res2;
 }
 
-/* aio_complete
- *     Called when the io request on the given iocb is complete.
- */
-static void aio_complete(struct aio_kiocb *iocb, long res, long res2)
+static void aio_ring_complete(struct kioctx *ctx, struct aio_kiocb *iocb,
+                             long res, long res2)
 {
-       struct kioctx   *ctx = iocb->ki_ctx;
        struct aio_ring *ring;
        struct io_event *ev_page, *event;
        unsigned tail, pos, head;
@@ -1260,6 +1257,16 @@ static void aio_complete(struct aio_kiocb *iocb, long 
res, long res2)
        spin_unlock_irqrestore(&ctx->completion_lock, flags);
 
        pr_debug("added to ring %p at [%u]\n", iocb, tail);
+}
+
+/* aio_complete
+ *     Called when the io request on the given iocb is complete.
+ */
+static void aio_complete(struct aio_kiocb *iocb, long res, long res2)
+{
+       struct kioctx *ctx = iocb->ki_ctx;
+
+       aio_ring_complete(ctx, iocb, res, res2);
 
        /*
         * Check if the user asked us to deliver the result through an
-- 
2.17.1

Reply via email to