]> git.itanic.dy.fi Git - linux-stable/commitdiff
aio: abstract out io_event filler helper
authorJens Axboe <axboe@kernel.dk>
Wed, 21 Nov 2018 03:06:23 +0000 (20:06 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 May 2019 07:58:58 +0000 (09:58 +0200)
commit 875736bb3f3ded168469f6a14df7a938416a99d5 upstream.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/aio.c

index 6e1da220f04be4034e81be8e7e8dbaafa46eb24d..f6ce01ca6903dace0595294d34077f18cd74eae1 100644 (file)
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1059,6 +1059,15 @@ static inline void iocb_put(struct aio_kiocb *iocb)
        }
 }
 
+static void aio_fill_event(struct io_event *ev, struct aio_kiocb *iocb,
+                          long res, long res2)
+{
+       ev->obj = (u64)(unsigned long)iocb->ki_user_iocb;
+       ev->data = iocb->ki_user_data;
+       ev->res = res;
+       ev->res2 = res2;
+}
+
 /* aio_complete
  *     Called when the io request on the given iocb is complete.
  */
@@ -1086,10 +1095,7 @@ static void aio_complete(struct aio_kiocb *iocb, long res, long res2)
        ev_page = kmap_atomic(ctx->ring_pages[pos / AIO_EVENTS_PER_PAGE]);
        event = ev_page + pos % AIO_EVENTS_PER_PAGE;
 
-       event->obj = (u64)(unsigned long)iocb->ki_user_iocb;
-       event->data = iocb->ki_user_data;
-       event->res = res;
-       event->res2 = res2;
+       aio_fill_event(event, iocb, res, res2);
 
        kunmap_atomic(ev_page);
        flush_dcache_page(ctx->ring_pages[pos / AIO_EVENTS_PER_PAGE]);