From: Christian Brauner <brauner@kernel.org>
To: linux-fsdevel@vger.kernel.org, Christoph Hellwig <hch@lst.de>
Cc: "Christian Brauner (Microsoft)" <brauner@kernel.org>,
reiserfs-devel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-mtd@lists.infradead.org, Al Viro <viro@zeniv.linux.org.uk>,
Jan Kara <jack@suse.com>,
linux-ext4@vger.kernel.org, linux-erofs@lists.ozlabs.org,
ocfs2-devel@oss.oracle.com, Seth Forshee <sforshee@kernel.org>
Subject: [PATCH 00/12] acl: remove remaining posix acl handlers
Date: Wed, 25 Jan 2023 12:28:45 +0100 [thread overview]
Message-ID: <20230125-fs-acl-remove-generic-xattr-handlers-v1-0-6cf155b492b6@kernel.org> (raw)
Hey everyone,
after we finished the introduction of the new posix acl api last cycle
we still left the generic POSIX ACL xattr handler around for two
reasons. First, because a few filesystems relied on the ->list() method
of the generic POSIX ACL xattr handlers in their ->listxattr() inode
operation. Second, during inode initalization in inode_init_always() the
registered xattr handlers in sb->s_xattr are used to raise IOP_XATTR in
inode->i_opflags.
With the removal of the legacy POSIX ACL handlers it is at least
possible for a filesystem to only implement POSIX ACLs but no other
xattrs. If that were to happen we would miss to raise IOP_XATTR because
sb->s_xattr would be NULL.
Fix these things and then get rid of the misleading and effectively
already unused generic POSIX ACL handlers.
For most filesystems it is a trivial removal of the generic POSIX ACL
handlers. Only for erofs, ext2, ext4, f2fs, jffs2, reiserfs, oc2fs the
handler is used but rather easy to fix.
All filesystems with reasonable integration into xfstests have been
tested with:
./check -g acl,attr,cap,idmapped,io_uring,perms,unlink
All tests pass without regression on xfstests for-next branch.
Since erofs doesn't have integration into xfstests yet afaict I have
tested it with the testuite available in erofs-utils. They also all pass
without any regressions.
This branch depends on [1] which hopefully should be merged soon and can
be pulled from [2] which already includes [1] so it's easy to test and
compile.
With this all remnants of the old POSIX ACL xattr handling will be gone.
Thanks!
Christian
[1]: https://lore.kernel.org/lkml/20230125100040.374709-1-brauner@kernel.org
[2]: ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git tags/fs.acl.remove.generic.xattr.handlers.v1
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
---
Christian Brauner (12):
xattr: simplify listxattr helpers
xattr, posix acl: add listxattr helpers
xattr: remove unused argument
fs: drop unused posix acl handlers
erofs: drop posix acl handlers
ext2: drop posix acl handlers
ext4: drop posix acl handlers
f2fs: drop posix acl handlers
jffs2: drop posix acl handlers
ocfs2: drop posix acl handlers
reiserfs: drop posix acl handlers
acl: remove posix acl handlers
fs/9p/xattr.c | 4 --
fs/btrfs/xattr.c | 4 --
fs/ceph/xattr.c | 4 --
fs/cifs/xattr.c | 4 --
fs/ecryptfs/inode.c | 4 --
fs/erofs/xattr.c | 49 ++++++++++++----
fs/erofs/xattr.h | 21 -------
fs/ext2/xattr.c | 60 +++++++++++--------
fs/ext4/xattr.c | 71 +++++++++++++----------
fs/f2fs/xattr.c | 63 ++++++++++++--------
fs/gfs2/xattr.c | 2 -
fs/jffs2/xattr.c | 42 +++++++-------
fs/jfs/xattr.c | 4 --
fs/nfs/nfs3_fs.h | 1 -
fs/nfs/nfs3acl.c | 6 --
fs/nfs/nfs3super.c | 3 -
fs/nfsd/nfs4xdr.c | 3 +-
fs/ntfs3/xattr.c | 4 --
fs/ocfs2/xattr.c | 41 +++++++------
fs/orangefs/xattr.c | 2 -
fs/overlayfs/super.c | 8 ---
fs/posix_acl.c | 20 -------
fs/reiserfs/xattr.c | 38 ++++++------
fs/xattr.c | 124 ++++++++++++++++++++--------------------
fs/xfs/xfs_xattr.c | 4 --
include/linux/posix_acl_xattr.h | 6 +-
include/linux/xattr.h | 8 ++-
mm/shmem.c | 4 --
28 files changed, 290 insertions(+), 314 deletions(-)
---
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
change-id: 20230125-fs-acl-remove-generic-xattr-handlers-4cfed8558d88
next reply other threads:[~2023-01-25 11:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 11:28 Christian Brauner [this message]
2023-01-25 11:28 ` [PATCH 11/12] reiserfs: drop posix acl handlers Christian Brauner
2023-01-30 9:10 ` [PATCH 00/12] acl: remove remaining " Christian Brauner
2023-01-30 9:16 ` Christoph Hellwig
2023-01-30 10:23 ` Christian Brauner
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=20230125-fs-acl-remove-generic-xattr-handlers-v1-0-6cf155b492b6@kernel.org \
--to=brauner@kernel.org \
--cc=hch@lst.de \
--cc=jack@suse.com \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=ocfs2-devel@oss.oracle.com \
--cc=reiserfs-devel@vger.kernel.org \
--cc=sforshee@kernel.org \
--cc=viro@zeniv.linux.org.uk \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).