Am 07.02.20 um 23:56 schrieb Stefan Metzmacher: > Hi Jens, > >>> Am 07.02.20 um 16:50 schrieb Jens Axboe: >>>> Due to an oversight on my part, AT_FDCWD lookups only work when the >>>> lookup can be done inline, not async. This patchset rectifies that, >>>> aiming for 5.6 for this one as it would be a shame to have openat etc >>>> without that. >>>> >>>> Just 3 small simple patches - grab the task ->fs, add io-wq suppor for >>>> passing it in and setting it, and finally add a ->needs_fs to the opcode >>>> table list of requirements for openat/openat2/statx. >>>> >>>> Last patch just ensures we allow AT_FDCWD. >>> >>> Thanks! But IOSQE_FIXED_FILE is still not supported and not rejected at >>> the same time, correct? >> >> That's in a separate patch: >> >> https://git.kernel.dk/cgit/linux-block/commit/?h=io_uring-5.6&id=5e159663813f0b7837342426cfb68185b6609359 > > Do we handle the error path correct? > As far as I can see io_req_set_file() is called before > io_{statx,openat,openat2}_prep() and req->file is already filled. > Maybe a generic way would be better using io_op_defs[op].allow_fixed_file. BTW: I'm really wondering what req->needs_fixed_file is for... Does it mean that IORING_SETUP_SQPOLL only works with IOSQE_FIXED_FILE? Which would mean IORING_SETUP_SQPOLL can't support openat2 and others. metze