Hi Al, See 01/18 for the details. Can you please apply this series? Or at least the core part, so that the fs parts can go independently? Christoph, you were positive on the RFC version but didn't comment on the full implementation. Can you please review? Changes since v1: - rebased on 5.12-rc1 (mnt_userns churn) - fixed LSM hook on overlayfs Git tree is available here: git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git#miscattr_v2 Thanks, Miklos --- Miklos Szeredi (18): vfs: add miscattr ops ecryptfs: stack miscattr ops ovl: stack miscattr ops btrfs: convert to miscattr ext2: convert to miscattr ext4: convert to miscattr f2fs: convert to miscattr gfs2: convert to miscattr orangefs: convert to miscattr xfs: convert to miscattr efivars: convert to miscattr hfsplus: convert to miscattr jfs: convert to miscattr nilfs2: convert to miscattr ocfs2: convert to miscattr reiserfs: convert to miscattr ubifs: convert to miscattr vfs: remove unused ioctl helpers Documentation/filesystems/locking.rst | 5 + Documentation/filesystems/vfs.rst | 15 ++ fs/btrfs/ctree.h | 3 + fs/btrfs/inode.c | 4 + fs/btrfs/ioctl.c | 249 ++++--------------- fs/ecryptfs/inode.c | 22 ++ fs/efivarfs/file.c | 77 ------ fs/efivarfs/inode.c | 44 ++++ fs/ext2/ext2.h | 7 +- fs/ext2/file.c | 2 + fs/ext2/ioctl.c | 88 +++---- fs/ext2/namei.c | 2 + fs/ext4/ext4.h | 12 +- fs/ext4/file.c | 2 + fs/ext4/ioctl.c | 210 ++++------------ fs/ext4/namei.c | 2 + fs/f2fs/f2fs.h | 3 + fs/f2fs/file.c | 213 +++-------------- fs/f2fs/namei.c | 2 + fs/gfs2/file.c | 57 ++--- fs/gfs2/inode.c | 4 + fs/gfs2/inode.h | 3 + fs/hfsplus/dir.c | 2 + fs/hfsplus/hfsplus_fs.h | 14 +- fs/hfsplus/inode.c | 54 +++++ fs/hfsplus/ioctl.c | 84 ------- fs/inode.c | 87 ------- fs/ioctl.c | 329 ++++++++++++++++++++++++++ fs/jfs/file.c | 6 +- fs/jfs/ioctl.c | 105 +++----- fs/jfs/jfs_dinode.h | 7 - fs/jfs/jfs_inode.h | 4 +- fs/jfs/namei.c | 6 +- fs/nilfs2/file.c | 2 + fs/nilfs2/ioctl.c | 61 ++--- fs/nilfs2/namei.c | 2 + fs/nilfs2/nilfs.h | 3 + fs/ocfs2/file.c | 2 + fs/ocfs2/ioctl.c | 59 ++--- fs/ocfs2/ioctl.h | 3 + fs/ocfs2/namei.c | 3 + fs/ocfs2/ocfs2_ioctl.h | 8 - fs/orangefs/file.c | 79 ------- fs/orangefs/inode.c | 50 ++++ fs/overlayfs/dir.c | 2 + fs/overlayfs/inode.c | 77 ++++++ fs/overlayfs/overlayfs.h | 3 + fs/reiserfs/file.c | 2 + fs/reiserfs/ioctl.c | 121 +++++----- fs/reiserfs/namei.c | 2 + fs/reiserfs/reiserfs.h | 7 +- fs/reiserfs/super.c | 2 +- fs/ubifs/dir.c | 2 + fs/ubifs/file.c | 2 + fs/ubifs/ioctl.c | 74 +++--- fs/ubifs/ubifs.h | 3 + fs/xfs/libxfs/xfs_fs.h | 4 - fs/xfs/xfs_ioctl.c | 316 +++++++------------------ fs/xfs/xfs_ioctl.h | 11 + fs/xfs/xfs_ioctl32.c | 2 - fs/xfs/xfs_ioctl32.h | 2 - fs/xfs/xfs_iops.c | 7 + include/linux/fs.h | 16 +- include/linux/miscattr.h | 53 +++++ 64 files changed, 1170 insertions(+), 1534 deletions(-) create mode 100644 include/linux/miscattr.h -- 2.30.2