Re: [RFC 0/8] Xattr inode operation removal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On May 2, 2016, at 4:45 PM, Andreas Gruenbacher <agruenba@xxxxxxxxxx> wrote:
> > 
> > Hi all,
> > 
> > what are your thoughts on this patch set?  It applies on top of the
> > work.xattr branch [*], converts the remaining filesystems over to xattr
> > handlers, and replaces the getxattr, setxattr, and removexattr inode
> > operations.  The only way to implement getxattr, setxattr, and
> > removexattr with this approach is through xattr handlers.
> 
> Maybe I'm missing the point of this patch, but is there a long-term benefit
> to this change?  It seems to be replacing the ->getxattr() and related inode
> methods with a generic ->xattr handler list that needs to be demultiplexed
> on each access?  Is there a net improvement in functionality that comes
> out the other end?  That isn't at all clear from your comments or the
> patches themselves.  It seems that all of LOC savings is from deleting
> the .setxattr, .getxattr, and .removexattr lines from inode_operations
> but there is added complexity in the rest of the code?
> 
> Cheers, Andreas
> 
> > 
> > *** Please don't merge yet: this is boot tested only so far! ***
> > 
> > Lustre currently also breaks; I haven't succeeded in cleaning up the
> > mess there.  Oleg and Andreas, would you like to look into that?

Al do you plan on merging this for 4.7-rc1?

 
> > Thanks,
> > Andreas
> > 
> > [*] https://git.kernel.org/cgit/linux/kernel/git/viro/vfs.git/log/?h=work.xattr
> > 
> > Andreas Gruenbacher (8):
> >  ecryptfs: Switch to generic xattr handlers
> >  overlayfs: Switch to generic xattr handlers
> >  fuse: Switch to generic xattr handlers
> >  evm: Turn evm_update_evmxattr into void function
> >  xattr: Add per-inode xattr handlers as a new inode operation
> >  xattr: Add __vfs_{get,set,remove}xattr helpers
> >  xattr: Stop calling {get,set,remove}xattr inode operations
> >  xattr: Remove generic xattr handlers
> > 
> > fs/9p/vfs_inode_dotl.c                |   9 --
> > fs/bad_inode.c                        |  33 +++--
> > fs/btrfs/inode.c                      |  12 --
> > fs/cachefiles/bind.c                  |   4 +-
> > fs/cachefiles/namei.c                 |   4 +-
> > fs/ceph/dir.c                         |   3 -
> > fs/ceph/inode.c                       |   6 -
> > fs/cifs/cifsfs.c                      |   9 --
> > fs/ecryptfs/ecryptfs_kernel.h         |   2 +
> > fs/ecryptfs/inode.c                   |  64 +++++-----
> > fs/ecryptfs/main.c                    |   1 +
> > fs/ecryptfs/mmap.c                    |  15 +--
> > fs/ext2/file.c                        |   3 -
> > fs/ext2/namei.c                       |   6 -
> > fs/ext2/symlink.c                     |   6 -
> > fs/ext4/file.c                        |   3 -
> > fs/ext4/namei.c                       |   6 -
> > fs/ext4/symlink.c                     |   9 --
> > fs/f2fs/file.c                        |   3 -
> > fs/f2fs/namei.c                       |  12 --
> > fs/fuse/dir.c                         |  40 ++++--
> > fs/fuse/fuse_i.h                      |   2 +
> > fs/fuse/inode.c                       |   1 +
> > fs/gfs2/inode.c                       |   9 --
> > fs/hfs/inode.c                        |   2 -
> > fs/hfsplus/dir.c                      |   3 -
> > fs/hfsplus/inode.c                    |   3 -
> > fs/jffs2/dir.c                        |   3 -
> > fs/jffs2/file.c                       |   3 -
> > fs/jffs2/symlink.c                    |   3 -
> > fs/jfs/file.c                         |   3 -
> > fs/jfs/namei.c                        |   3 -
> > fs/jfs/symlink.c                      |   6 -
> > fs/kernfs/dir.c                       |   3 -
> > fs/kernfs/inode.c                     |   3 -
> > fs/kernfs/symlink.c                   |   3 -
> > fs/libfs.c                            |  26 +---
> > fs/nfs/nfs3proc.c                     |   6 -
> > fs/nfs/nfs4proc.c                     |   6 -
> > fs/ocfs2/file.c                       |   3 -
> > fs/ocfs2/namei.c                      |   3 -
> > fs/ocfs2/symlink.c                    |   3 -
> > fs/orangefs/inode.c                   |   3 -
> > fs/orangefs/namei.c                   |   3 -
> > fs/orangefs/symlink.c                 |   1 -
> > fs/overlayfs/copy_up.c                |   4 -
> > fs/overlayfs/dir.c                    |   3 -
> > fs/overlayfs/inode.c                  |  46 +++++--
> > fs/overlayfs/overlayfs.h              |   6 +-
> > fs/overlayfs/super.c                  |   5 +-
> > fs/reiserfs/file.c                    |   3 -
> > fs/reiserfs/namei.c                   |   9 --
> > fs/squashfs/inode.c                   |   1 -
> > fs/squashfs/namei.c                   |   1 -
> > fs/squashfs/symlink.c                 |   1 -
> > fs/squashfs/xattr.h                   |   1 -
> > fs/ubifs/dir.c                        |   3 -
> > fs/ubifs/file.c                       |   6 -
> > fs/xattr.c                            | 231 ++++++++++++++++------------------
> > fs/xfs/xfs_iops.c                     |  12 --
> > include/linux/fs.h                    |   5 +-
> > include/linux/xattr.h                 |  12 +-
> > mm/shmem.c                            |  15 ---
> > net/socket.c                          |   1 -
> > security/commoncap.c                  |  25 ++--
> > security/integrity/evm/evm.h          |   7 +-
> > security/integrity/evm/evm_crypto.c   |  20 ++-
> > security/integrity/evm/evm_main.c     |   5 +-
> > security/integrity/ima/ima_appraise.c |  23 ++--
> > security/selinux/hooks.c              |  28 +----
> > security/smack/smack_lsm.c            |  28 ++---
> > 71 files changed, 314 insertions(+), 541 deletions(-)
> > 
> > --
> > 2.5.5
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
> Cheers, Andreas
> 
> 
> 
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux