public inbox for [email protected]
 help / color / mirror / Atom feed
From: Christian Brauner <[email protected]>
To: Stefan Roesch <[email protected]>
Cc: [email protected], [email protected],
	[email protected], [email protected]
Subject: Re: [PATCH v12 0/4] io_uring: add xattr support
Date: Thu, 6 Jan 2022 14:20:21 +0100	[thread overview]
Message-ID: <20220106132021.n2cwzvf2winkw3qk@wittgenstein> (raw)
In-Reply-To: <[email protected]>

On Wed, Jan 05, 2022 at 02:18:26PM -0800, Stefan Roesch wrote:
> 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 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 2: 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 3: io_uring: add fsetxattr and setxattr support
>   This adds new functions to support the fsetxattr and setxattr
>   functions.
> 
> Patch 4: 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.
> 
> 
> V12: - add union to xattr_ctx structure. The getxattr api requires
>        a pointer to value and the setxattr requires a const pointer
>        to value (with a union this can be unified).

I'm fine with adding a union in there. I think it's also what Linus
suggested in a previous mail. Al suggested a different allocation for
the attribute name. Fwiw, I'm fine with either (struct kattr or
dynamically allocating via an additional helper).

I've ran this through the generic vfs and idmapped mount xfstests I
added last year. They do test core xattr functionality. I've applied
your patchset on top of Jen's for-next. They pass:

ubuntu@f2-vm:~/src/git/xfstests$ sudo ./check -g idmapped
SECTION       -- xfs
RECREATING    -- xfs on /dev/loop4
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 f2-vm 5.16.0-rc3-fs-xattr-c62607c023ad #41 SMP PREEMPT Thu Jan 6 12:11:34 UTC 2022
MKFS_OPTIONS  -- -f -f /dev/loop5
MOUNT_OPTIONS -- /dev/loop5 /mnt/scratch

generic/633 26s ...  29s
generic/644 5s ...  19s
generic/645 413s ...  225s
generic/656 13s ...  21s
xfs/152 70s ...  75s
xfs/153 46s ...  48s
Ran: generic/633 generic/644 generic/645 generic/656 xfs/152 xfs/153
Passed all 6 tests

SECTION       -- ext4
RECREATING    -- ext4 on /dev/loop4
FSTYP         -- ext4
PLATFORM      -- Linux/x86_64 f2-vm 5.16.0-rc3-fs-xattr-c62607c023ad #41 SMP PREEMPT Thu Jan 6 12:11:34 UTC 2022
MKFS_OPTIONS  -- -F -F /dev/loop5
MOUNT_OPTIONS -- -o acl,user_xattr /dev/loop5 /mnt/scratch

generic/633 29s ...  20s
generic/644 19s ...  5s
generic/645 225s ...  208s
generic/656 21s ...  12s
Ran: generic/633 generic/644 generic/645 generic/656
Passed all 4 tests

SECTION       -- btrfs
RECREATING    -- btrfs on /dev/loop4
FSTYP         -- btrfs
PLATFORM      -- Linux/x86_64 f2-vm 5.16.0-rc3-fs-xattr-c62607c023ad #41 SMP PREEMPT Thu Jan 6 12:11:34 UTC 2022
MKFS_OPTIONS  -- -f /dev/loop5
MOUNT_OPTIONS -- /dev/loop5 /mnt/scratch

btrfs/245 10s ...  11s
generic/633 20s ...  25s
generic/644 5s ...  4s
generic/645 208s ...  209s
generic/656 12s ...  14s
Ran: btrfs/245 generic/633 generic/644 generic/645 generic/656
Passed all 5 tests

SECTION       -- xfs
=========================
Ran: generic/633 generic/644 generic/645 generic/656 xfs/152 xfs/153
Passed all 6 tests

SECTION       -- ext4
=========================
Ran: generic/633 generic/644 generic/645 generic/656
Passed all 4 tests

SECTION       -- btrfs
=========================
Ran: btrfs/245 generic/633 generic/644 generic/645 generic/656
Passed all 5 tests

      parent reply	other threads:[~2022-01-06 13:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-05 22:18 [PATCH v12 0/4] io_uring: add xattr support Stefan Roesch
2022-01-05 22:18 ` [PATCH v12 1/4] fs: split off setxattr_copy and do_setxattr function from setxattr Stefan Roesch
2022-01-05 22:18 ` [PATCH v12 2/4] fs: split off do_getxattr from getxattr Stefan Roesch
2022-01-05 22:18 ` [PATCH v12 3/4] io_uring: add fsetxattr and setxattr support Stefan Roesch
2022-01-05 22:18 ` [PATCH v12 4/4] io_uring: add fgetxattr and getxattr support Stefan Roesch
2022-01-06 13:20 ` Christian Brauner [this message]

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 \
    --in-reply-to=20220106132021.n2cwzvf2winkw3qk@wittgenstein \
    [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