> 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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html