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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Andreas Dilger
On May 2, 2016, at 4:45 PM, Andreas Gruenbacher <[hidden email]> 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?
>
> 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 [hidden email]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Cheers, Andreas






------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
--
fuse-devel mailing list
To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel

signature.asc (850 bytes) Download Attachment