From: Stefan Roesch <[email protected]>
To: <[email protected]>, <[email protected]>,
<[email protected]>
Cc: <[email protected]>, <[email protected]>,
<[email protected]>
Subject: [PATCH v10 0/5] io_uring: add xattr support
Date: Wed, 29 Dec 2021 12:29:57 -0800 [thread overview]
Message-ID: <[email protected]> (raw)
This adds the xattr support to io_uring. The intent is to have a more
complete support for file operations in io_uring.
This change adds support for the following functions to io_uring:
- fgetxattr
- fsetxattr
- getxattr
- setxattr
Patch 1: fs: split off do_user_path_at_empty from user_path_at_empty()
This splits off a new function do_user_path_at_empty from
user_path_at_empty that is based on filename and not on a
user-specified string.
Patch 2: fs: split off setxattr_copy and do_setxattr function from setxattr
Split off the setup part of the setxattr function in the setxattr_copy
function. Split off the processing part in do_setxattr.
Patch 3: fs: split off do_getxattr from getxattr
Split of the do_getxattr part from getxattr. This will
allow it to be invoked it from io_uring.
Patch 4: io_uring: add fsetxattr and setxattr support
This adds new functions to support the fsetxattr and setxattr
functions.
Patch 5: io_uring: add fgetxattr and getxattr support
This adds new functions to support the fgetxattr and getxattr
functions.
There are two additional patches:
liburing: Add support for xattr api's.
This also includes the tests for the new code.
xfstests: Add support for io_uring xattr support.
V10: - move do_user_path_at_empty definition to fs/internal.h
- introduce __io_setxattr_finish function
- introduce __io_getxattr_finish function
V9 : - keep kvalue in struct xattr_ctx
V8 : - introduce xattr_name struct as advised by Linus
- remove kname_sz field in xattr_ctx
V7 : - split off setxattr in two functions as recommeneded by
Christian.
V6 : - reverted addition of kname array to xattr_ctx structure
Adding the kname array increases the io_kiocb beyond 64 bytes
(increases it to 224 bytes). We try hard to limit it to 64 bytes.
Keeping the original interface also is a bit more efficient.
- addressed Pavel's reordering comment
- addressed Pavel's putname comment
- addressed Pavel's kvfree comment
- rebased on for-5.17/io_uring-getdents64
V5 : - add kname array to xattr_ctx structure
V4 : - rebased patch series
V3 : - remove req->file checks in prep functions
- change size parameter in do_xattr
V2 : - split off function do_user_path_empty instead of changing
the function signature of user_path_at
- Fix datatype size problem in do_getxattr
Stefan Roesch (5):
fs: split off do_user_path_at_empty from user_path_at_empty()
fs: split off setxattr_copy and do_setxattr function from setxattr
fs: split off do_getxattr from getxattr
io_uring: add fsetxattr and setxattr support
io_uring: add fgetxattr and getxattr support
fs/internal.h | 34 ++++
fs/io_uring.c | 316 ++++++++++++++++++++++++++++++++++
fs/namei.c | 10 +-
fs/xattr.c | 114 ++++++++----
include/uapi/linux/io_uring.h | 8 +-
5 files changed, 444 insertions(+), 38 deletions(-)
base-commit: b4518682080d3a1cdd6ea45a54ff6772b8b2797a
--
2.30.2
next reply other threads:[~2021-12-29 20:30 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-29 20:29 Stefan Roesch [this message]
2021-12-29 20:29 ` [PATCH v10 1/5] fs: split off do_user_path_at_empty from user_path_at_empty() Stefan Roesch
2021-12-30 0:49 ` Al Viro
2021-12-30 19:57 ` Stefan Roesch
2021-12-29 20:29 ` [PATCH v10 2/5] fs: split off setxattr_copy and do_setxattr function from setxattr Stefan Roesch
2021-12-30 1:15 ` Al Viro
2021-12-30 9:41 ` Christian Brauner
2021-12-30 19:57 ` Stefan Roesch
2021-12-29 20:30 ` [PATCH v10 3/5] fs: split off do_getxattr from getxattr Stefan Roesch
2021-12-29 20:30 ` [PATCH v10 4/5] io_uring: add fsetxattr and setxattr support Stefan Roesch
2021-12-30 1:58 ` Al Viro
2021-12-30 2:17 ` Al Viro
2021-12-30 2:19 ` Al Viro
2021-12-30 3:04 ` Al Viro
2021-12-30 10:12 ` Christian Brauner
2021-12-30 16:16 ` Al Viro
2021-12-30 18:01 ` Christian Brauner
2021-12-30 19:09 ` Jens Axboe
2021-12-30 22:24 ` Al Viro
2021-12-30 22:46 ` Jens Axboe
2021-12-30 23:02 ` Al Viro
2021-12-30 20:18 ` Stefan Roesch
2021-12-29 20:30 ` [PATCH v10 5/5] io_uring: add fgetxattr and getxattr support Stefan Roesch
2021-12-30 1:41 ` Al Viro
2021-12-30 1:46 ` Al Viro
2021-12-30 20:01 ` Stefan Roesch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox