On 1/4/20 9:41 AM, William Dauchy wrote: > Hello Jens, > > Thank you for the quick answer. > > On Sat, Jan 4, 2020 at 5:28 PM Jens Axboe <axboe@xxxxxxxxx> wrote: >> sqpoll requires the use of fixed files for any sqe, at least for now. >> That's why it returns -EBADF if the request doesn't have fixed files >> specified. > > I indeed forgot sqe->flags |= IOSQE_FIXED_FILE; in my modified test. > >> So it cannot be used with opcodes that create (or close) file >> descriptors either. > > ok, I thought `dirfd` could have been the index of my registered fd > for `openat` call. It was not very clear to me this was not possible > to use fixed files for those opcodes. I should probably clarify that in the man pages! I'll get that done. But yes, that it is how it _should_ work for registered files. I haven't spent too much time on sqpoll lately, but there's really no reason why it cannot do everything that the regular path can. Just need to ensure the proper inheritance is done, it's a kernel thread just like the async workers. -- Jens Axboe