Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a812f7b6 authored by Jens Axboe's avatar Jens Axboe Committed by Greg Kroah-Hartman
Browse files

aio: abstract out io_event filler helper



commit 875736bb3f3ded168469f6a14df7a938416a99d5 upstream.

Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d384f8b8
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -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]);