aio: use iocb_put() instead of open coding it
authorJens Axboe <axboe@kernel.dk>
Sun, 25 Nov 2018 04:33:09 +0000 (21:33 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 18 Dec 2018 15:29:58 +0000 (08:29 -0700)
Replace the percpu_ref_put() + kmem_cache_free() with a call to
iocb_put() instead.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/aio.c

index 0f9867e..59044e5 100644 (file)
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1886,10 +1886,9 @@ static int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
                goto out_put_req;
        return 0;
 out_put_req:
-       percpu_ref_put(&ctx->reqs);
        if (req->ki_eventfd)
                eventfd_ctx_put(req->ki_eventfd);
-       kmem_cache_free(kiocb_cachep, req);
+       iocb_put(req);
 out_put_reqs_available:
        put_reqs_available(ctx, 1);
        return ret;