lkml.org 
[lkml]   [2022]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 084/219] io_uring: flag the fact that linked file assignment is sane
    Date
    From: Jens Axboe <axboe@kernel.dk>

    [ Upstream commit c4212f3eb89fd5654f0a6ed2ee1d13fcb86cb664 ]

    Give applications a way to tell if the kernel supports sane linked files,
    as in files being assigned at the right time to be able to reliably
    do <open file direct into slot X><read file from slot X> while using
    IOSQE_IO_LINK to order them.

    Not really a bug fix, but flag it as such so that it gets pulled in with
    backports of the deferred file assignment.

    Fixes: 6bf9c47a3989 ("io_uring: defer file assignment")
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/io_uring.c | 3 ++-
    include/uapi/linux/io_uring.h | 1 +
    2 files changed, 3 insertions(+), 1 deletion(-)

    diff --git a/fs/io_uring.c b/fs/io_uring.c
    index 1a9630dc5361..d13f142793f2 100644
    --- a/fs/io_uring.c
    +++ b/fs/io_uring.c
    @@ -10566,7 +10566,8 @@ static __cold int io_uring_create(unsigned entries, struct io_uring_params *p,
    IORING_FEAT_CUR_PERSONALITY | IORING_FEAT_FAST_POLL |
    IORING_FEAT_POLL_32BITS | IORING_FEAT_SQPOLL_NONFIXED |
    IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS |
    - IORING_FEAT_RSRC_TAGS | IORING_FEAT_CQE_SKIP;
    + IORING_FEAT_RSRC_TAGS | IORING_FEAT_CQE_SKIP |
    + IORING_FEAT_LINKED_FILE;

    if (copy_to_user(params, p, sizeof(*p))) {
    ret = -EFAULT;
    diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h
    index 787f491f0d2a..1e45368ad33f 100644
    --- a/include/uapi/linux/io_uring.h
    +++ b/include/uapi/linux/io_uring.h
    @@ -293,6 +293,7 @@ struct io_uring_params {
    #define IORING_FEAT_NATIVE_WORKERS (1U << 9)
    #define IORING_FEAT_RSRC_TAGS (1U << 10)
    #define IORING_FEAT_CQE_SKIP (1U << 11)
    +#define IORING_FEAT_LINKED_FILE (1U << 12)

    /*
    * io_uring_register(2) opcodes and arguments
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-04-18 14:24    [W:4.024 / U:0.508 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site