io_uring: allow non-fixed files with SQPOLL
authorJens Axboe <axboe@kernel.dk>
Mon, 14 Sep 2020 16:51:17 +0000 (10:51 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 9 Dec 2020 19:03:54 +0000 (12:03 -0700)
commit28cea78af44918b920306df150afbd116bd94301
tree420d5d7ded4a818f0ed57acf67f0612aee9ef29d
parent36f4fa6886a81266d7c82b1c90a65205e73a7c85
io_uring: allow non-fixed files with SQPOLL

The restriction of needing fixed files for SQPOLL is problematic, and
prevents/inhibits several valid uses cases. With the referenced
files_struct that we have now, it's trivially supportable.

Treat ->files like we do the mm for the SQPOLL thread - grab a reference
to it (and assign it), and drop it when we're done.

This feature is exposed as IORING_FEAT_SQPOLL_NONFIXED.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h