lkml.org 
[lkml]   [2020]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 3/3] io_uring: add support for zone-append
    On 18.06.2020 07:39, Damien Le Moal wrote:
    >On 2020/06/18 2:27, Kanchan Joshi wrote:
    >> From: Selvakumar S <selvakuma.s1@samsung.com>
    >>
    >> Introduce three new opcodes for zone-append -
    >>
    >> IORING_OP_ZONE_APPEND : non-vectord, similiar to IORING_OP_WRITE
    >> IORING_OP_ZONE_APPENDV : vectored, similar to IORING_OP_WRITEV
    >> IORING_OP_ZONE_APPEND_FIXED : append using fixed-buffers
    >>
    >> Repurpose cqe->flags to return zone-relative offset.
    >>
    >> Signed-off-by: SelvaKumar S <selvakuma.s1@samsung.com>
    >> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
    >> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
    >> Signed-off-by: Javier Gonzalez <javier.gonz@samsung.com>
    >> ---
    >> fs/io_uring.c | 72 +++++++++++++++++++++++++++++++++++++++++--
    >> include/uapi/linux/io_uring.h | 8 ++++-
    >> 2 files changed, 77 insertions(+), 3 deletions(-)
    >>
    >> diff --git a/fs/io_uring.c b/fs/io_uring.c
    >> index 155f3d8..c14c873 100644
    >> --- a/fs/io_uring.c
    >> +++ b/fs/io_uring.c
    >> @@ -649,6 +649,10 @@ struct io_kiocb {
    >> unsigned long fsize;
    >> u64 user_data;
    >> u32 result;
    >> +#ifdef CONFIG_BLK_DEV_ZONED
    >> + /* zone-relative offset for append, in bytes */
    >> + u32 append_offset;
    >
    >this can overflow. u64 is needed.

    We chose to do it this way to start with because struct io_uring_cqe
    only has space for u32 when we reuse the flags.

    We can of course create a new cqe structure, but that will come with
    larger changes to io_uring for supporting append.

    Do you believe this is a better approach?

    Javier

    \
     
     \ /
      Last update: 2020-06-18 10:37    [W:2.316 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site