Thread (53 messages) 53 messages, 7 authors, 2019-03-12

Re: [PATCH 3/8] aio: store event at final iocb_put()

From: Al Viro <viro@zeniv.linux.org.uk>
Date: 2019-03-11 21:13:42
Also in: linux-fsdevel, lkml

On Mon, Mar 11, 2019 at 08:44:31PM +0100, Christoph Hellwig wrote:
On Sun, Mar 10, 2019 at 07:08:17AM +0000, Al Viro wrote:
quoted
From: Al Viro <viro@zeniv.linux.org.uk>

Instead of having aio_complete() set ->ki_res.{res,res2}, do that
explicitly in its callers, drop the reference (as aio_complete()
used to do) and delay the rest until the final iocb_put().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
 fs/aio.c | 45 ++++++++++++++++++++-------------------------
 1 file changed, 20 insertions(+), 25 deletions(-)
diff --git a/fs/aio.c b/fs/aio.c
index 2249a7a1d6b3..b9c4c1894020 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1077,24 +1077,10 @@ static inline void iocb_destroy(struct aio_kiocb *iocb)
 	kmem_cache_free(kiocb_cachep, iocb);
 }
 
-static inline void iocb_put(struct aio_kiocb *iocb)
-{
-	if (refcount_dec_and_test(&iocb->ki_refcnt))
-		iocb_destroy(iocb);
-}
Maybe iocb_put should just have been added in the place you move
it to in patch 1?
Might as well...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help