mbox series

[v3,00/18] new kAPI for FS_IOC_[GS]ETFLAGS/FS_IOC_FS[GS]ETXATTR

Message ID 20210325193755.294925-1-mszeredi@redhat.com (mailing list archive)
Headers show
Series new kAPI for FS_IOC_[GS]ETFLAGS/FS_IOC_FS[GS]ETXATTR | expand

Message

Miklos Szeredi March 25, 2021, 7:37 p.m. UTC
Thanks for the feedback, I think all comments are addressed.  Seems
"fileattr" has won a small majority of bikesheders' preference, so
switching over to that.

Changes since v2:

 - renaming, most notably miscattr -> fileattr
 - use memset instead of structure initialization
 - drop gratuitous use of file_dentry()
 - kerneldoc, comments, spelling improvements
 - xfs: enable getting/setting FS_PROJINHERIT_FL and other tweaks
 - btrfs: patch logistics

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#fileattr_v3


Miklos Szeredi (18):
  vfs: add fileattr ops
  ecryptfs: stack fileattr ops
  ovl: stack fileattr ops
  btrfs: convert to fileattr
  ext2: convert to fileattr
  ext4: convert to fileattr
  f2fs: convert to fileattr
  gfs2: convert to fileattr
  orangefs: convert to fileattr
  xfs: convert to fileattr
  efivars: convert to fileattr
  hfsplus: convert to fileattr
  jfs: convert to fileattr
  nilfs2: convert to fileattr
  ocfs2: convert to fileattr
  reiserfs: convert to fileattr
  ubifs: convert to fileattr
  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                      | 226 +++---------------
 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                       | 208 ++++------------
 fs/ext4/namei.c                       |   2 +
 fs/f2fs/f2fs.h                        |   3 +
 fs/f2fs/file.c                        | 216 +++--------------
 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                            | 331 ++++++++++++++++++++++++++
 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                    | 252 +++++---------------
 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/fileattr.h              |  59 +++++
 include/linux/fs.h                    |  16 +-
 64 files changed, 1136 insertions(+), 1490 deletions(-)
 create mode 100644 include/linux/fileattr.h

Comments

Mike Marshall March 25, 2021, 10:07 p.m. UTC | #1
Hi Miklos...

While you were sending out v3, I was running xfstests on v2...
no orangefs problems with your changes.

-Mike

On Thu, Mar 25, 2021 at 3:38 PM Miklos Szeredi <mszeredi@redhat.com> wrote:
>
> Thanks for the feedback, I think all comments are addressed.  Seems
> "fileattr" has won a small majority of bikesheders' preference, so
> switching over to that.
>
> Changes since v2:
>
>  - renaming, most notably miscattr -> fileattr
>  - use memset instead of structure initialization
>  - drop gratuitous use of file_dentry()
>  - kerneldoc, comments, spelling improvements
>  - xfs: enable getting/setting FS_PROJINHERIT_FL and other tweaks
>  - btrfs: patch logistics
>
> 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#fileattr_v3
>
>
> Miklos Szeredi (18):
>   vfs: add fileattr ops
>   ecryptfs: stack fileattr ops
>   ovl: stack fileattr ops
>   btrfs: convert to fileattr
>   ext2: convert to fileattr
>   ext4: convert to fileattr
>   f2fs: convert to fileattr
>   gfs2: convert to fileattr
>   orangefs: convert to fileattr
>   xfs: convert to fileattr
>   efivars: convert to fileattr
>   hfsplus: convert to fileattr
>   jfs: convert to fileattr
>   nilfs2: convert to fileattr
>   ocfs2: convert to fileattr
>   reiserfs: convert to fileattr
>   ubifs: convert to fileattr
>   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                      | 226 +++---------------
>  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                       | 208 ++++------------
>  fs/ext4/namei.c                       |   2 +
>  fs/f2fs/f2fs.h                        |   3 +
>  fs/f2fs/file.c                        | 216 +++--------------
>  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                            | 331 ++++++++++++++++++++++++++
>  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                    | 252 +++++---------------
>  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/fileattr.h              |  59 +++++
>  include/linux/fs.h                    |  16 +-
>  64 files changed, 1136 insertions(+), 1490 deletions(-)
>  create mode 100644 include/linux/fileattr.h
>
> --
> 2.30.2
>