io_uring: flag new native workers with IORING_FEAT_NATIVE_WORKERS
authorJens Axboe <axboe@kernel.dk>
Sat, 20 Feb 2021 18:55:28 +0000 (11:55 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 24 Feb 2021 03:32:11 +0000 (20:32 -0700)
A few reasons to do this:

- The naming of the manager and worker have changed. That's a user visible
  change, so makes sense to flag it.

- Opening certain files that use ->signal (like /proc/self or /dev/tty)
  now works, and the flag tells the application upfront that this is the
  case.

- Related to the above, using signalfd will now work as well.

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

index 378cf79e66c9028f445a8820b8f6a8227221dd0b..cf9a5fa1ad03ecb29de1d7cb934cd2f75a490963 100644 (file)
@@ -9467,7 +9467,7 @@ static int io_uring_create(unsigned entries, struct io_uring_params *p,
                        IORING_FEAT_SUBMIT_STABLE | IORING_FEAT_RW_CUR_POS |
                        IORING_FEAT_CUR_PERSONALITY | IORING_FEAT_FAST_POLL |
                        IORING_FEAT_POLL_32BITS | IORING_FEAT_SQPOLL_NONFIXED |
-                       IORING_FEAT_EXT_ARG;
+                       IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS;
 
        if (copy_to_user(params, p, sizeof(*p))) {
                ret = -EFAULT;
index ac4e1738a9afd4c352e9557b1bf2152f4b4d84d3..2514eb6b1cf28c00b4773bf323a15528f690ec23 100644 (file)
@@ -262,6 +262,7 @@ struct io_uring_params {
 #define IORING_FEAT_POLL_32BITS        (1U << 6)
 #define IORING_FEAT_SQPOLL_NONFIXED    (1U << 7)
 #define IORING_FEAT_EXT_ARG            (1U << 8)
+#define IORING_FEAT_NATIVE_WORKERS     (1U << 9)
 
 /*
  * io_uring_register(2) opcodes and arguments