Hi, #1 disables multishot requests for double waitqueue users for now, it's got a few corner cases that need hashing out. #2 is a prep patch for #3, which ties the ->apoll lifetime with that of the request instead of keeping it seperate. That's more logical and makes it handled more like other dynamically allocated items. fs/io_uring.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) Since v1: - Turn double wait multishot into single-shot. The application logic won't change for that, it'll just be a bit less efficient as it'll require a re-arm for each trigger. It effectively just turns multishot into single shot mode for double wait use cases (which are rare). - Add flag checking helper and make the io_clean_op() call conditional again. -- Jens Axboe