aboutsummaryrefslogtreecommitdiff
path: root/Kbuild
diff options
context:
space:
mode:
authorPavel Begunkov2020-02-08 14:04:34 +0300
committerJens Axboe2020-02-08 13:07:00 -0700
commita93b33312f63ef6d5997f45d6fdf4de84c5396cc (patch)
treef83839f6fc29190f8bf1515787daef8828ede9c1 /Kbuild
parent0b5faf6ba7fb78bb1fe7336d23ea1978386a6c3a (diff)
io_uring: fix async close() with f_op->flush()
First, io_close() misses filp_close() and io_cqring_add_event(), when f_op->flush is defined. That's because in this case it will io_queue_async_work() itself not grabbing files, so the corresponding chunk in io_close_finish() won't be executed. Second, when submitted through io_wq_submit_work(), it will do filp_close() and *_add_event() twice: first inline in io_close(), and the second one in call to io_close_finish() from io_close(). The second one will also fire, because it was submitted async through generic path, and so have grabbed files. And the last nice thing is to remove this weird pilgrimage with checking work/old_work and casting it to nxt. Just use a helper instead. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions