io_uring: add lookup table for various opcode needs
authorJens Axboe <axboe@kernel.dk>
Wed, 18 Dec 2019 16:50:26 +0000 (09:50 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 21 Jan 2020 00:03:59 +0000 (17:03 -0700)
commitd3656344fea0339fb0365c8df4d2beba4e0089cd
tree088de11b0e4b91c33ed3f449def3278a827b4a01
parentadd7b6b85a4dfa89283834d181e87ea2144b9028
io_uring: add lookup table for various opcode needs

We currently have various switch statements that check if an opcode needs
a file, mm, etc. These are hard to keep in sync as opcodes are added. Add
a struct io_op_def that holds all of this information, so we have just
one spot to update when opcodes are added.

This also enables us to NOT allocate req->io if a deferred command
doesn't need it, and corrects some mistakes we had in terms of what
commands need mm context.

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