|
|
Subscribe / Log in / New account

userspace PI passthrough via io_uring

From:  Bob Liu <bob.liu-AT-oracle.com>
To:  linux-block-AT-vger.kernel.org
Subject:  [RFC PATCH 0/4] userspace PI passthrough via io_uring
Date:  Wed, 26 Feb 2020 16:37:15 +0800
Message-ID:  <20200226083719.4389-1-bob.liu@oracle.com>
Cc:  axboe-AT-kernel.dk, martin.petersen-AT-oracle.com, linux-fsdevel-AT-vger.kernel.org, darrick.wong-AT-oracle.com, io-uring-AT-vger.kernel.org, Bob Liu <bob.liu-AT-oracle.com>
Archive-link:  Article

This RFC provides a rough implementation of a mechanism to allow
userspace to attach protection information (e.g. T10 DIF) data to a
disk write and to receive the information alongside a disk read.
The interface is an extension to the io_uring interface:
two new commands (IORING_OP_READV{WRITEV}_PI) are provided.
The last struct iovec in the arg list is interpreted to point to a buffer
containing the the PI data.

Patch #1 add two new commands to io_uring.
Patch #2 introduces two helper funcs in bio-integrity.
Patch #3 implement the PI passthrough in direct-io of block-dev.
(Similar extensions may add to fs/direct-io.c and fs/maps/directio.c)
Patch #4 add io_uring use space test case to liburing.

Welcome any feedbacks.
Thanks!

There was attempt before[1], but was based on AIO at that time.
[1] https://www.mail-archive.com/linux-scsi@vger.kernel.org/m...

Bob Liu (3):
  io_uring: add IORING_OP_READ{WRITE}V_PI cmd
  bio-integrity: introduce two funcs handle protect information
  block_dev: support protect information passthrough

 block/bio-integrity.c         | 77 +++++++++++++++++++++++++++++++++++++++++++
 fs/block_dev.c                | 17 ++++++++++
 fs/io_uring.c                 | 12 +++++++
 include/linux/bio.h           | 14 ++++++++
 include/linux/fs.h            |  1 +
 include/uapi/linux/io_uring.h |  2 ++
 6 files changed, 123 insertions(+)

-- 
2.9.5



Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds