On Thu, Mar 22, 2018 at 06:24:10PM +0100, Christoph Hellwig wrote:
-static void aio_complete(struct aio_kiocb *iocb, long res, long res2)
+static bool aio_complete(struct aio_kiocb *iocb, long res, long res2,
+ unsigned complete_flags)
Looks like all callers are following that with "if returned true,
fput(something)". Does it really make any sense to keep that struct
file * in different fields?
Wait a sec... What ordering do we want for
* call(s) of ->ki_complete
* call (if any) of ->ki_cancel
* dropping reference to struct file
and what are the expected call chains for all of those?
--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to majordomo@kvack.org. For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>