All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] fileattr API
@ 2021-04-07 19:22 Miklos Szeredi
  2021-04-09  1:52 ` Al Viro
  0 siblings, 1 reply; 3+ messages in thread
From: Miklos Szeredi @ 2021-04-07 19:22 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-kernel, linux-fsdevel

Hi Al,

Please pull from:

  git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git fileattr_v4

Convert all (with the exception of CIFS) filesystems from handling
FS_IOC_[GS]ETFLAGS and FS_IOC_FS[GS]ETXATTR themselves to new i_ops and
common code moved into the VFS for these ioctls.  This removes boilerplate
from filesystems, and allows these operations to be properly stacked in
overlayfs.

Thanks,
Miklos

---
Changes since v3:

 - converted fuse
 - removed overlayfs ioctl code
 - moved d_is_special() check to callbacks where necessary
 - user copy cosmetics

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

----------------------------------------------------------------
Miklos Szeredi (23):
      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
      fuse: move ioctl to separate source file
      fuse: unsigned open flags
      fuse: add internal open/release helpers
      fuse: convert to fileattr
      ovl: remove unneeded ioctls

---
 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/fuse/Makefile                      |   2 +-
 fs/fuse/dir.c                         |   6 +-
 fs/fuse/file.c                        | 435 +++---------------------------
 fs/fuse/fuse_i.h                      |  40 ++-
 fs/fuse/ioctl.c                       | 490 ++++++++++++++++++++++++++++++++++
 fs/gfs2/file.c                        |  63 ++---
 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                            | 325 ++++++++++++++++++++++
 fs/jfs/file.c                         |   6 +-
 fs/jfs/ioctl.c                        | 111 +++-----
 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/file.c                   | 110 --------
 fs/overlayfs/inode.c                  |  77 ++++++
 fs/overlayfs/overlayfs.h              |   5 +-
 fs/overlayfs/readdir.c                |   4 -
 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                      |  78 +++---
 fs/ubifs/ubifs.h                      |   3 +
 fs/xfs/libxfs/xfs_fs.h                |   4 -
 fs/xfs/xfs_ioctl.c                    | 258 +++++-------------
 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 +-
 71 files changed, 1724 insertions(+), 2007 deletions(-)
 create mode 100644 fs/fuse/ioctl.c
 create mode 100644 include/linux/fileattr.h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] fileattr API
  2021-04-07 19:22 [GIT PULL] fileattr API Miklos Szeredi
@ 2021-04-09  1:52 ` Al Viro
  2021-04-09  2:02   ` Al Viro
  0 siblings, 1 reply; 3+ messages in thread
From: Al Viro @ 2021-04-09  1:52 UTC (permalink / raw)
  To: Miklos Szeredi; +Cc: linux-kernel, linux-fsdevel

On Wed, Apr 07, 2021 at 09:22:52PM +0200, Miklos Szeredi wrote:
> Hi Al,
> 
> Please pull from:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git fileattr_v4
> 
> Convert all (with the exception of CIFS) filesystems from handling
> FS_IOC_[GS]ETFLAGS and FS_IOC_FS[GS]ETXATTR themselves to new i_ops and
> common code moved into the VFS for these ioctls.  This removes boilerplate
> from filesystems, and allows these operations to be properly stacked in
> overlayfs.

Umm...  v4 or v5?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] fileattr API
  2021-04-09  1:52 ` Al Viro
@ 2021-04-09  2:02   ` Al Viro
  0 siblings, 0 replies; 3+ messages in thread
From: Al Viro @ 2021-04-09  2:02 UTC (permalink / raw)
  To: Miklos Szeredi; +Cc: linux-kernel, linux-fsdevel

On Fri, Apr 09, 2021 at 01:52:11AM +0000, Al Viro wrote:
> On Wed, Apr 07, 2021 at 09:22:52PM +0200, Miklos Szeredi wrote:
> > Hi Al,
> > 
> > Please pull from:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git fileattr_v4
> > 
> > Convert all (with the exception of CIFS) filesystems from handling
> > FS_IOC_[GS]ETFLAGS and FS_IOC_FS[GS]ETXATTR themselves to new i_ops and
> > common code moved into the VFS for these ioctls.  This removes boilerplate
> > from filesystems, and allows these operations to be properly stacked in
> > overlayfs.
> 
> Umm...  v4 or v5?

Looks like they only differ in making a couple of fuse helpers static.
Grabbed and merged into #for-next; will push if it passes the smoke
test...

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-09  2:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-07 19:22 [GIT PULL] fileattr API Miklos Szeredi
2021-04-09  1:52 ` Al Viro
2021-04-09  2:02   ` Al Viro

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.