vfs: Remove {get,set,remove}xattr inode operations
These inode operations are no longer used; remove them. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
41fefa36be
commit
fd50ecaddf
|
@ -3213,10 +3213,7 @@ const struct inode_operations ll_file_inode_operations = {
|
||||||
.setattr = ll_setattr,
|
.setattr = ll_setattr,
|
||||||
.getattr = ll_getattr,
|
.getattr = ll_getattr,
|
||||||
.permission = ll_inode_permission,
|
.permission = ll_inode_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ll_listxattr,
|
.listxattr = ll_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = ll_fiemap,
|
.fiemap = ll_fiemap,
|
||||||
.get_acl = ll_get_acl,
|
.get_acl = ll_get_acl,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1106,10 +1106,7 @@ const struct inode_operations ll_dir_inode_operations = {
|
||||||
.setattr = ll_setattr,
|
.setattr = ll_setattr,
|
||||||
.getattr = ll_getattr,
|
.getattr = ll_getattr,
|
||||||
.permission = ll_inode_permission,
|
.permission = ll_inode_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ll_listxattr,
|
.listxattr = ll_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ll_get_acl,
|
.get_acl = ll_get_acl,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1117,9 +1114,6 @@ const struct inode_operations ll_special_inode_operations = {
|
||||||
.setattr = ll_setattr,
|
.setattr = ll_setattr,
|
||||||
.getattr = ll_getattr,
|
.getattr = ll_getattr,
|
||||||
.permission = ll_inode_permission,
|
.permission = ll_inode_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ll_listxattr,
|
.listxattr = ll_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ll_get_acl,
|
.get_acl = ll_get_acl,
|
||||||
};
|
};
|
||||||
|
|
|
@ -155,8 +155,5 @@ const struct inode_operations ll_fast_symlink_inode_operations = {
|
||||||
.get_link = ll_get_link,
|
.get_link = ll_get_link,
|
||||||
.getattr = ll_getattr,
|
.getattr = ll_getattr,
|
||||||
.permission = ll_inode_permission,
|
.permission = ll_inode_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ll_listxattr,
|
.listxattr = ll_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -967,9 +967,6 @@ const struct inode_operations v9fs_dir_inode_operations_dotl = {
|
||||||
.rename = v9fs_vfs_rename,
|
.rename = v9fs_vfs_rename,
|
||||||
.getattr = v9fs_vfs_getattr_dotl,
|
.getattr = v9fs_vfs_getattr_dotl,
|
||||||
.setattr = v9fs_vfs_setattr_dotl,
|
.setattr = v9fs_vfs_setattr_dotl,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = v9fs_listxattr,
|
.listxattr = v9fs_listxattr,
|
||||||
.get_acl = v9fs_iop_get_acl,
|
.get_acl = v9fs_iop_get_acl,
|
||||||
};
|
};
|
||||||
|
@ -977,9 +974,6 @@ const struct inode_operations v9fs_dir_inode_operations_dotl = {
|
||||||
const struct inode_operations v9fs_file_inode_operations_dotl = {
|
const struct inode_operations v9fs_file_inode_operations_dotl = {
|
||||||
.getattr = v9fs_vfs_getattr_dotl,
|
.getattr = v9fs_vfs_getattr_dotl,
|
||||||
.setattr = v9fs_vfs_setattr_dotl,
|
.setattr = v9fs_vfs_setattr_dotl,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = v9fs_listxattr,
|
.listxattr = v9fs_listxattr,
|
||||||
.get_acl = v9fs_iop_get_acl,
|
.get_acl = v9fs_iop_get_acl,
|
||||||
};
|
};
|
||||||
|
@ -989,8 +983,5 @@ const struct inode_operations v9fs_symlink_inode_operations_dotl = {
|
||||||
.get_link = v9fs_vfs_get_link_dotl,
|
.get_link = v9fs_vfs_get_link_dotl,
|
||||||
.getattr = v9fs_vfs_getattr_dotl,
|
.getattr = v9fs_vfs_getattr_dotl,
|
||||||
.setattr = v9fs_vfs_setattr_dotl,
|
.setattr = v9fs_vfs_setattr_dotl,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = v9fs_listxattr,
|
.listxattr = v9fs_listxattr,
|
||||||
};
|
};
|
||||||
|
|
|
@ -10570,10 +10570,7 @@ static const struct inode_operations btrfs_dir_inode_operations = {
|
||||||
.symlink = btrfs_symlink,
|
.symlink = btrfs_symlink,
|
||||||
.setattr = btrfs_setattr,
|
.setattr = btrfs_setattr,
|
||||||
.mknod = btrfs_mknod,
|
.mknod = btrfs_mknod,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = btrfs_listxattr,
|
.listxattr = btrfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = btrfs_permission,
|
.permission = btrfs_permission,
|
||||||
.get_acl = btrfs_get_acl,
|
.get_acl = btrfs_get_acl,
|
||||||
.set_acl = btrfs_set_acl,
|
.set_acl = btrfs_set_acl,
|
||||||
|
@ -10647,10 +10644,7 @@ static const struct address_space_operations btrfs_symlink_aops = {
|
||||||
static const struct inode_operations btrfs_file_inode_operations = {
|
static const struct inode_operations btrfs_file_inode_operations = {
|
||||||
.getattr = btrfs_getattr,
|
.getattr = btrfs_getattr,
|
||||||
.setattr = btrfs_setattr,
|
.setattr = btrfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = btrfs_listxattr,
|
.listxattr = btrfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = btrfs_permission,
|
.permission = btrfs_permission,
|
||||||
.fiemap = btrfs_fiemap,
|
.fiemap = btrfs_fiemap,
|
||||||
.get_acl = btrfs_get_acl,
|
.get_acl = btrfs_get_acl,
|
||||||
|
@ -10661,10 +10655,7 @@ static const struct inode_operations btrfs_special_inode_operations = {
|
||||||
.getattr = btrfs_getattr,
|
.getattr = btrfs_getattr,
|
||||||
.setattr = btrfs_setattr,
|
.setattr = btrfs_setattr,
|
||||||
.permission = btrfs_permission,
|
.permission = btrfs_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = btrfs_listxattr,
|
.listxattr = btrfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = btrfs_get_acl,
|
.get_acl = btrfs_get_acl,
|
||||||
.set_acl = btrfs_set_acl,
|
.set_acl = btrfs_set_acl,
|
||||||
.update_time = btrfs_update_time,
|
.update_time = btrfs_update_time,
|
||||||
|
@ -10675,10 +10666,7 @@ static const struct inode_operations btrfs_symlink_inode_operations = {
|
||||||
.getattr = btrfs_getattr,
|
.getattr = btrfs_getattr,
|
||||||
.setattr = btrfs_setattr,
|
.setattr = btrfs_setattr,
|
||||||
.permission = btrfs_permission,
|
.permission = btrfs_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = btrfs_listxattr,
|
.listxattr = btrfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.update_time = btrfs_update_time,
|
.update_time = btrfs_update_time,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1486,10 +1486,7 @@ const struct inode_operations ceph_dir_iops = {
|
||||||
.permission = ceph_permission,
|
.permission = ceph_permission,
|
||||||
.getattr = ceph_getattr,
|
.getattr = ceph_getattr,
|
||||||
.setattr = ceph_setattr,
|
.setattr = ceph_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ceph_listxattr,
|
.listxattr = ceph_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ceph_get_acl,
|
.get_acl = ceph_get_acl,
|
||||||
.set_acl = ceph_set_acl,
|
.set_acl = ceph_set_acl,
|
||||||
.mknod = ceph_mknod,
|
.mknod = ceph_mknod,
|
||||||
|
|
|
@ -94,10 +94,7 @@ const struct inode_operations ceph_file_iops = {
|
||||||
.permission = ceph_permission,
|
.permission = ceph_permission,
|
||||||
.setattr = ceph_setattr,
|
.setattr = ceph_setattr,
|
||||||
.getattr = ceph_getattr,
|
.getattr = ceph_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ceph_listxattr,
|
.listxattr = ceph_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ceph_get_acl,
|
.get_acl = ceph_get_acl,
|
||||||
.set_acl = ceph_set_acl,
|
.set_acl = ceph_set_acl,
|
||||||
};
|
};
|
||||||
|
@ -1885,10 +1882,7 @@ static const struct inode_operations ceph_symlink_iops = {
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
.setattr = ceph_setattr,
|
.setattr = ceph_setattr,
|
||||||
.getattr = ceph_getattr,
|
.getattr = ceph_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ceph_listxattr,
|
.listxattr = ceph_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int __ceph_setattr(struct inode *inode, struct iattr *attr)
|
int __ceph_setattr(struct inode *inode, struct iattr *attr)
|
||||||
|
|
|
@ -901,30 +901,21 @@ const struct inode_operations cifs_dir_inode_ops = {
|
||||||
.setattr = cifs_setattr,
|
.setattr = cifs_setattr,
|
||||||
.symlink = cifs_symlink,
|
.symlink = cifs_symlink,
|
||||||
.mknod = cifs_mknod,
|
.mknod = cifs_mknod,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = cifs_listxattr,
|
.listxattr = cifs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations cifs_file_inode_ops = {
|
const struct inode_operations cifs_file_inode_ops = {
|
||||||
.setattr = cifs_setattr,
|
.setattr = cifs_setattr,
|
||||||
.getattr = cifs_getattr,
|
.getattr = cifs_getattr,
|
||||||
.permission = cifs_permission,
|
.permission = cifs_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = cifs_listxattr,
|
.listxattr = cifs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations cifs_symlink_inode_ops = {
|
const struct inode_operations cifs_symlink_inode_ops = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = cifs_get_link,
|
.get_link = cifs_get_link,
|
||||||
.permission = cifs_permission,
|
.permission = cifs_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = cifs_listxattr,
|
.listxattr = cifs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int cifs_clone_file_range(struct file *src_file, loff_t off,
|
static int cifs_clone_file_range(struct file *src_file, loff_t off,
|
||||||
|
|
|
@ -1090,10 +1090,7 @@ const struct inode_operations ecryptfs_symlink_iops = {
|
||||||
.permission = ecryptfs_permission,
|
.permission = ecryptfs_permission,
|
||||||
.setattr = ecryptfs_setattr,
|
.setattr = ecryptfs_setattr,
|
||||||
.getattr = ecryptfs_getattr_link,
|
.getattr = ecryptfs_getattr_link,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ecryptfs_listxattr,
|
.listxattr = ecryptfs_listxattr,
|
||||||
.removexattr = generic_removexattr
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations ecryptfs_dir_iops = {
|
const struct inode_operations ecryptfs_dir_iops = {
|
||||||
|
@ -1108,20 +1105,14 @@ const struct inode_operations ecryptfs_dir_iops = {
|
||||||
.rename = ecryptfs_rename,
|
.rename = ecryptfs_rename,
|
||||||
.permission = ecryptfs_permission,
|
.permission = ecryptfs_permission,
|
||||||
.setattr = ecryptfs_setattr,
|
.setattr = ecryptfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ecryptfs_listxattr,
|
.listxattr = ecryptfs_listxattr,
|
||||||
.removexattr = generic_removexattr
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations ecryptfs_main_iops = {
|
const struct inode_operations ecryptfs_main_iops = {
|
||||||
.permission = ecryptfs_permission,
|
.permission = ecryptfs_permission,
|
||||||
.setattr = ecryptfs_setattr,
|
.setattr = ecryptfs_setattr,
|
||||||
.getattr = ecryptfs_getattr,
|
.getattr = ecryptfs_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ecryptfs_listxattr,
|
.listxattr = ecryptfs_listxattr,
|
||||||
.removexattr = generic_removexattr
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int ecryptfs_xattr_get(const struct xattr_handler *handler,
|
static int ecryptfs_xattr_get(const struct xattr_handler *handler,
|
||||||
|
|
|
@ -178,10 +178,7 @@ const struct file_operations ext2_file_operations = {
|
||||||
|
|
||||||
const struct inode_operations ext2_file_inode_operations = {
|
const struct inode_operations ext2_file_inode_operations = {
|
||||||
#ifdef CONFIG_EXT2_FS_XATTR
|
#ifdef CONFIG_EXT2_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext2_listxattr,
|
.listxattr = ext2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
.setattr = ext2_setattr,
|
.setattr = ext2_setattr,
|
||||||
.get_acl = ext2_get_acl,
|
.get_acl = ext2_get_acl,
|
||||||
|
|
|
@ -428,10 +428,7 @@ const struct inode_operations ext2_dir_inode_operations = {
|
||||||
.mknod = ext2_mknod,
|
.mknod = ext2_mknod,
|
||||||
.rename = ext2_rename,
|
.rename = ext2_rename,
|
||||||
#ifdef CONFIG_EXT2_FS_XATTR
|
#ifdef CONFIG_EXT2_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext2_listxattr,
|
.listxattr = ext2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
.setattr = ext2_setattr,
|
.setattr = ext2_setattr,
|
||||||
.get_acl = ext2_get_acl,
|
.get_acl = ext2_get_acl,
|
||||||
|
@ -441,10 +438,7 @@ const struct inode_operations ext2_dir_inode_operations = {
|
||||||
|
|
||||||
const struct inode_operations ext2_special_inode_operations = {
|
const struct inode_operations ext2_special_inode_operations = {
|
||||||
#ifdef CONFIG_EXT2_FS_XATTR
|
#ifdef CONFIG_EXT2_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext2_listxattr,
|
.listxattr = ext2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
.setattr = ext2_setattr,
|
.setattr = ext2_setattr,
|
||||||
.get_acl = ext2_get_acl,
|
.get_acl = ext2_get_acl,
|
||||||
|
|
|
@ -25,10 +25,7 @@ const struct inode_operations ext2_symlink_inode_operations = {
|
||||||
.get_link = page_get_link,
|
.get_link = page_get_link,
|
||||||
.setattr = ext2_setattr,
|
.setattr = ext2_setattr,
|
||||||
#ifdef CONFIG_EXT2_FS_XATTR
|
#ifdef CONFIG_EXT2_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext2_listxattr,
|
.listxattr = ext2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37,9 +34,6 @@ const struct inode_operations ext2_fast_symlink_inode_operations = {
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
.setattr = ext2_setattr,
|
.setattr = ext2_setattr,
|
||||||
#ifdef CONFIG_EXT2_FS_XATTR
|
#ifdef CONFIG_EXT2_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext2_listxattr,
|
.listxattr = ext2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
|
@ -711,10 +711,7 @@ const struct file_operations ext4_file_operations = {
|
||||||
const struct inode_operations ext4_file_inode_operations = {
|
const struct inode_operations ext4_file_inode_operations = {
|
||||||
.setattr = ext4_setattr,
|
.setattr = ext4_setattr,
|
||||||
.getattr = ext4_getattr,
|
.getattr = ext4_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext4_listxattr,
|
.listxattr = ext4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ext4_get_acl,
|
.get_acl = ext4_get_acl,
|
||||||
.set_acl = ext4_set_acl,
|
.set_acl = ext4_set_acl,
|
||||||
.fiemap = ext4_fiemap,
|
.fiemap = ext4_fiemap,
|
||||||
|
|
|
@ -3882,10 +3882,7 @@ const struct inode_operations ext4_dir_inode_operations = {
|
||||||
.tmpfile = ext4_tmpfile,
|
.tmpfile = ext4_tmpfile,
|
||||||
.rename2 = ext4_rename2,
|
.rename2 = ext4_rename2,
|
||||||
.setattr = ext4_setattr,
|
.setattr = ext4_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext4_listxattr,
|
.listxattr = ext4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ext4_get_acl,
|
.get_acl = ext4_get_acl,
|
||||||
.set_acl = ext4_set_acl,
|
.set_acl = ext4_set_acl,
|
||||||
.fiemap = ext4_fiemap,
|
.fiemap = ext4_fiemap,
|
||||||
|
@ -3893,10 +3890,7 @@ const struct inode_operations ext4_dir_inode_operations = {
|
||||||
|
|
||||||
const struct inode_operations ext4_special_inode_operations = {
|
const struct inode_operations ext4_special_inode_operations = {
|
||||||
.setattr = ext4_setattr,
|
.setattr = ext4_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext4_listxattr,
|
.listxattr = ext4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ext4_get_acl,
|
.get_acl = ext4_get_acl,
|
||||||
.set_acl = ext4_set_acl,
|
.set_acl = ext4_set_acl,
|
||||||
};
|
};
|
||||||
|
|
|
@ -90,28 +90,19 @@ const struct inode_operations ext4_encrypted_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = ext4_encrypted_get_link,
|
.get_link = ext4_encrypted_get_link,
|
||||||
.setattr = ext4_setattr,
|
.setattr = ext4_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext4_listxattr,
|
.listxattr = ext4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations ext4_symlink_inode_operations = {
|
const struct inode_operations ext4_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = page_get_link,
|
.get_link = page_get_link,
|
||||||
.setattr = ext4_setattr,
|
.setattr = ext4_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext4_listxattr,
|
.listxattr = ext4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations ext4_fast_symlink_inode_operations = {
|
const struct inode_operations ext4_fast_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
.setattr = ext4_setattr,
|
.setattr = ext4_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ext4_listxattr,
|
.listxattr = ext4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -732,10 +732,7 @@ const struct inode_operations f2fs_file_inode_operations = {
|
||||||
.get_acl = f2fs_get_acl,
|
.get_acl = f2fs_get_acl,
|
||||||
.set_acl = f2fs_set_acl,
|
.set_acl = f2fs_set_acl,
|
||||||
#ifdef CONFIG_F2FS_FS_XATTR
|
#ifdef CONFIG_F2FS_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = f2fs_listxattr,
|
.listxattr = f2fs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
.fiemap = f2fs_fiemap,
|
.fiemap = f2fs_fiemap,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1077,10 +1077,7 @@ const struct inode_operations f2fs_encrypted_symlink_inode_operations = {
|
||||||
.getattr = f2fs_getattr,
|
.getattr = f2fs_getattr,
|
||||||
.setattr = f2fs_setattr,
|
.setattr = f2fs_setattr,
|
||||||
#ifdef CONFIG_F2FS_FS_XATTR
|
#ifdef CONFIG_F2FS_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = f2fs_listxattr,
|
.listxattr = f2fs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1100,10 +1097,7 @@ const struct inode_operations f2fs_dir_inode_operations = {
|
||||||
.get_acl = f2fs_get_acl,
|
.get_acl = f2fs_get_acl,
|
||||||
.set_acl = f2fs_set_acl,
|
.set_acl = f2fs_set_acl,
|
||||||
#ifdef CONFIG_F2FS_FS_XATTR
|
#ifdef CONFIG_F2FS_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = f2fs_listxattr,
|
.listxattr = f2fs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1113,10 +1107,7 @@ const struct inode_operations f2fs_symlink_inode_operations = {
|
||||||
.getattr = f2fs_getattr,
|
.getattr = f2fs_getattr,
|
||||||
.setattr = f2fs_setattr,
|
.setattr = f2fs_setattr,
|
||||||
#ifdef CONFIG_F2FS_FS_XATTR
|
#ifdef CONFIG_F2FS_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = f2fs_listxattr,
|
.listxattr = f2fs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1126,9 +1117,6 @@ const struct inode_operations f2fs_special_inode_operations = {
|
||||||
.get_acl = f2fs_get_acl,
|
.get_acl = f2fs_get_acl,
|
||||||
.set_acl = f2fs_set_acl,
|
.set_acl = f2fs_set_acl,
|
||||||
#ifdef CONFIG_F2FS_FS_XATTR
|
#ifdef CONFIG_F2FS_FS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = f2fs_listxattr,
|
.listxattr = f2fs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
|
@ -1739,10 +1739,7 @@ static const struct inode_operations fuse_dir_inode_operations = {
|
||||||
.mknod = fuse_mknod,
|
.mknod = fuse_mknod,
|
||||||
.permission = fuse_permission,
|
.permission = fuse_permission,
|
||||||
.getattr = fuse_getattr,
|
.getattr = fuse_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = fuse_listxattr,
|
.listxattr = fuse_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct file_operations fuse_dir_operations = {
|
static const struct file_operations fuse_dir_operations = {
|
||||||
|
@ -1760,10 +1757,7 @@ static const struct inode_operations fuse_common_inode_operations = {
|
||||||
.setattr = fuse_setattr,
|
.setattr = fuse_setattr,
|
||||||
.permission = fuse_permission,
|
.permission = fuse_permission,
|
||||||
.getattr = fuse_getattr,
|
.getattr = fuse_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = fuse_listxattr,
|
.listxattr = fuse_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct inode_operations fuse_symlink_inode_operations = {
|
static const struct inode_operations fuse_symlink_inode_operations = {
|
||||||
|
@ -1771,10 +1765,7 @@ static const struct inode_operations fuse_symlink_inode_operations = {
|
||||||
.get_link = fuse_get_link,
|
.get_link = fuse_get_link,
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.getattr = fuse_getattr,
|
.getattr = fuse_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = fuse_listxattr,
|
.listxattr = fuse_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void fuse_init_common(struct inode *inode)
|
void fuse_init_common(struct inode *inode)
|
||||||
|
|
|
@ -2036,10 +2036,7 @@ const struct inode_operations gfs2_file_iops = {
|
||||||
.permission = gfs2_permission,
|
.permission = gfs2_permission,
|
||||||
.setattr = gfs2_setattr,
|
.setattr = gfs2_setattr,
|
||||||
.getattr = gfs2_getattr,
|
.getattr = gfs2_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = gfs2_listxattr,
|
.listxattr = gfs2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = gfs2_fiemap,
|
.fiemap = gfs2_fiemap,
|
||||||
.get_acl = gfs2_get_acl,
|
.get_acl = gfs2_get_acl,
|
||||||
.set_acl = gfs2_set_acl,
|
.set_acl = gfs2_set_acl,
|
||||||
|
@ -2058,10 +2055,7 @@ const struct inode_operations gfs2_dir_iops = {
|
||||||
.permission = gfs2_permission,
|
.permission = gfs2_permission,
|
||||||
.setattr = gfs2_setattr,
|
.setattr = gfs2_setattr,
|
||||||
.getattr = gfs2_getattr,
|
.getattr = gfs2_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = gfs2_listxattr,
|
.listxattr = gfs2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = gfs2_fiemap,
|
.fiemap = gfs2_fiemap,
|
||||||
.get_acl = gfs2_get_acl,
|
.get_acl = gfs2_get_acl,
|
||||||
.set_acl = gfs2_set_acl,
|
.set_acl = gfs2_set_acl,
|
||||||
|
@ -2074,10 +2068,7 @@ const struct inode_operations gfs2_symlink_iops = {
|
||||||
.permission = gfs2_permission,
|
.permission = gfs2_permission,
|
||||||
.setattr = gfs2_setattr,
|
.setattr = gfs2_setattr,
|
||||||
.getattr = gfs2_getattr,
|
.getattr = gfs2_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = gfs2_listxattr,
|
.listxattr = gfs2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = gfs2_fiemap,
|
.fiemap = gfs2_fiemap,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -688,7 +688,5 @@ static const struct file_operations hfs_file_operations = {
|
||||||
static const struct inode_operations hfs_file_inode_operations = {
|
static const struct inode_operations hfs_file_inode_operations = {
|
||||||
.lookup = hfs_file_lookup,
|
.lookup = hfs_file_lookup,
|
||||||
.setattr = hfs_inode_setattr,
|
.setattr = hfs_inode_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = generic_listxattr,
|
.listxattr = generic_listxattr,
|
||||||
};
|
};
|
||||||
|
|
|
@ -562,10 +562,7 @@ const struct inode_operations hfsplus_dir_inode_operations = {
|
||||||
.symlink = hfsplus_symlink,
|
.symlink = hfsplus_symlink,
|
||||||
.mknod = hfsplus_mknod,
|
.mknod = hfsplus_mknod,
|
||||||
.rename = hfsplus_rename,
|
.rename = hfsplus_rename,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = hfsplus_listxattr,
|
.listxattr = hfsplus_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#ifdef CONFIG_HFSPLUS_FS_POSIX_ACL
|
#ifdef CONFIG_HFSPLUS_FS_POSIX_ACL
|
||||||
.get_acl = hfsplus_get_posix_acl,
|
.get_acl = hfsplus_get_posix_acl,
|
||||||
.set_acl = hfsplus_set_posix_acl,
|
.set_acl = hfsplus_set_posix_acl,
|
||||||
|
|
|
@ -333,10 +333,7 @@ int hfsplus_file_fsync(struct file *file, loff_t start, loff_t end,
|
||||||
|
|
||||||
static const struct inode_operations hfsplus_file_inode_operations = {
|
static const struct inode_operations hfsplus_file_inode_operations = {
|
||||||
.setattr = hfsplus_setattr,
|
.setattr = hfsplus_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = hfsplus_listxattr,
|
.listxattr = hfsplus_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#ifdef CONFIG_HFSPLUS_FS_POSIX_ACL
|
#ifdef CONFIG_HFSPLUS_FS_POSIX_ACL
|
||||||
.get_acl = hfsplus_get_posix_acl,
|
.get_acl = hfsplus_get_posix_acl,
|
||||||
.set_acl = hfsplus_set_posix_acl,
|
.set_acl = hfsplus_set_posix_acl,
|
||||||
|
|
|
@ -61,10 +61,7 @@ const struct inode_operations jffs2_dir_inode_operations =
|
||||||
.get_acl = jffs2_get_acl,
|
.get_acl = jffs2_get_acl,
|
||||||
.set_acl = jffs2_set_acl,
|
.set_acl = jffs2_set_acl,
|
||||||
.setattr = jffs2_setattr,
|
.setattr = jffs2_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jffs2_listxattr,
|
.listxattr = jffs2_listxattr,
|
||||||
.removexattr = generic_removexattr
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
|
|
|
@ -66,10 +66,7 @@ const struct inode_operations jffs2_file_inode_operations =
|
||||||
.get_acl = jffs2_get_acl,
|
.get_acl = jffs2_get_acl,
|
||||||
.set_acl = jffs2_set_acl,
|
.set_acl = jffs2_set_acl,
|
||||||
.setattr = jffs2_setattr,
|
.setattr = jffs2_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jffs2_listxattr,
|
.listxattr = jffs2_listxattr,
|
||||||
.removexattr = generic_removexattr
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct address_space_operations jffs2_file_address_operations =
|
const struct address_space_operations jffs2_file_address_operations =
|
||||||
|
|
|
@ -16,8 +16,5 @@ const struct inode_operations jffs2_symlink_inode_operations =
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
.setattr = jffs2_setattr,
|
.setattr = jffs2_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jffs2_listxattr,
|
.listxattr = jffs2_listxattr,
|
||||||
.removexattr = generic_removexattr
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -140,10 +140,7 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr)
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct inode_operations jfs_file_inode_operations = {
|
const struct inode_operations jfs_file_inode_operations = {
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jfs_listxattr,
|
.listxattr = jfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.setattr = jfs_setattr,
|
.setattr = jfs_setattr,
|
||||||
#ifdef CONFIG_JFS_POSIX_ACL
|
#ifdef CONFIG_JFS_POSIX_ACL
|
||||||
.get_acl = jfs_get_acl,
|
.get_acl = jfs_get_acl,
|
||||||
|
|
|
@ -1537,10 +1537,7 @@ const struct inode_operations jfs_dir_inode_operations = {
|
||||||
.rmdir = jfs_rmdir,
|
.rmdir = jfs_rmdir,
|
||||||
.mknod = jfs_mknod,
|
.mknod = jfs_mknod,
|
||||||
.rename = jfs_rename,
|
.rename = jfs_rename,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jfs_listxattr,
|
.listxattr = jfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.setattr = jfs_setattr,
|
.setattr = jfs_setattr,
|
||||||
#ifdef CONFIG_JFS_POSIX_ACL
|
#ifdef CONFIG_JFS_POSIX_ACL
|
||||||
.get_acl = jfs_get_acl,
|
.get_acl = jfs_get_acl,
|
||||||
|
|
|
@ -25,19 +25,13 @@ const struct inode_operations jfs_fast_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
.setattr = jfs_setattr,
|
.setattr = jfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jfs_listxattr,
|
.listxattr = jfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct inode_operations jfs_symlink_inode_operations = {
|
const struct inode_operations jfs_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = page_get_link,
|
.get_link = page_get_link,
|
||||||
.setattr = jfs_setattr,
|
.setattr = jfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = jfs_listxattr,
|
.listxattr = jfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1126,9 +1126,6 @@ const struct inode_operations kernfs_dir_iops = {
|
||||||
.permission = kernfs_iop_permission,
|
.permission = kernfs_iop_permission,
|
||||||
.setattr = kernfs_iop_setattr,
|
.setattr = kernfs_iop_setattr,
|
||||||
.getattr = kernfs_iop_getattr,
|
.getattr = kernfs_iop_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = kernfs_iop_listxattr,
|
.listxattr = kernfs_iop_listxattr,
|
||||||
|
|
||||||
.mkdir = kernfs_iop_mkdir,
|
.mkdir = kernfs_iop_mkdir,
|
||||||
|
|
|
@ -28,9 +28,6 @@ static const struct inode_operations kernfs_iops = {
|
||||||
.permission = kernfs_iop_permission,
|
.permission = kernfs_iop_permission,
|
||||||
.setattr = kernfs_iop_setattr,
|
.setattr = kernfs_iop_setattr,
|
||||||
.getattr = kernfs_iop_getattr,
|
.getattr = kernfs_iop_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = kernfs_iop_listxattr,
|
.listxattr = kernfs_iop_listxattr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -134,9 +134,6 @@ static const char *kernfs_iop_get_link(struct dentry *dentry,
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct inode_operations kernfs_symlink_iops = {
|
const struct inode_operations kernfs_symlink_iops = {
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = kernfs_iop_listxattr,
|
.listxattr = kernfs_iop_listxattr,
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = kernfs_iop_get_link,
|
.get_link = kernfs_iop_get_link,
|
||||||
|
|
|
@ -899,9 +899,6 @@ static const struct inode_operations nfs3_dir_inode_operations = {
|
||||||
.setattr = nfs_setattr,
|
.setattr = nfs_setattr,
|
||||||
#ifdef CONFIG_NFS_V3_ACL
|
#ifdef CONFIG_NFS_V3_ACL
|
||||||
.listxattr = nfs3_listxattr,
|
.listxattr = nfs3_listxattr,
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = nfs3_get_acl,
|
.get_acl = nfs3_get_acl,
|
||||||
.set_acl = nfs3_set_acl,
|
.set_acl = nfs3_set_acl,
|
||||||
#endif
|
#endif
|
||||||
|
@ -913,9 +910,6 @@ static const struct inode_operations nfs3_file_inode_operations = {
|
||||||
.setattr = nfs_setattr,
|
.setattr = nfs_setattr,
|
||||||
#ifdef CONFIG_NFS_V3_ACL
|
#ifdef CONFIG_NFS_V3_ACL
|
||||||
.listxattr = nfs3_listxattr,
|
.listxattr = nfs3_listxattr,
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = nfs3_get_acl,
|
.get_acl = nfs3_get_acl,
|
||||||
.set_acl = nfs3_set_acl,
|
.set_acl = nfs3_set_acl,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -8941,20 +8941,14 @@ static const struct inode_operations nfs4_dir_inode_operations = {
|
||||||
.permission = nfs_permission,
|
.permission = nfs_permission,
|
||||||
.getattr = nfs_getattr,
|
.getattr = nfs_getattr,
|
||||||
.setattr = nfs_setattr,
|
.setattr = nfs_setattr,
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.listxattr = nfs4_listxattr,
|
.listxattr = nfs4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct inode_operations nfs4_file_inode_operations = {
|
static const struct inode_operations nfs4_file_inode_operations = {
|
||||||
.permission = nfs_permission,
|
.permission = nfs_permission,
|
||||||
.getattr = nfs_getattr,
|
.getattr = nfs_getattr,
|
||||||
.setattr = nfs_setattr,
|
.setattr = nfs_setattr,
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.listxattr = nfs4_listxattr,
|
.listxattr = nfs4_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct nfs_rpc_ops nfs_v4_clientops = {
|
const struct nfs_rpc_ops nfs_v4_clientops = {
|
||||||
|
|
|
@ -2474,10 +2474,7 @@ const struct inode_operations ocfs2_file_iops = {
|
||||||
.setattr = ocfs2_setattr,
|
.setattr = ocfs2_setattr,
|
||||||
.getattr = ocfs2_getattr,
|
.getattr = ocfs2_getattr,
|
||||||
.permission = ocfs2_permission,
|
.permission = ocfs2_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ocfs2_listxattr,
|
.listxattr = ocfs2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = ocfs2_fiemap,
|
.fiemap = ocfs2_fiemap,
|
||||||
.get_acl = ocfs2_iop_get_acl,
|
.get_acl = ocfs2_iop_get_acl,
|
||||||
.set_acl = ocfs2_iop_set_acl,
|
.set_acl = ocfs2_iop_set_acl,
|
||||||
|
|
|
@ -2913,10 +2913,7 @@ const struct inode_operations ocfs2_dir_iops = {
|
||||||
.setattr = ocfs2_setattr,
|
.setattr = ocfs2_setattr,
|
||||||
.getattr = ocfs2_getattr,
|
.getattr = ocfs2_getattr,
|
||||||
.permission = ocfs2_permission,
|
.permission = ocfs2_permission,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ocfs2_listxattr,
|
.listxattr = ocfs2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = ocfs2_fiemap,
|
.fiemap = ocfs2_fiemap,
|
||||||
.get_acl = ocfs2_iop_get_acl,
|
.get_acl = ocfs2_iop_get_acl,
|
||||||
.set_acl = ocfs2_iop_set_acl,
|
.set_acl = ocfs2_iop_set_acl,
|
||||||
|
|
|
@ -91,9 +91,6 @@ const struct inode_operations ocfs2_symlink_inode_operations = {
|
||||||
.get_link = page_get_link,
|
.get_link = page_get_link,
|
||||||
.getattr = ocfs2_getattr,
|
.getattr = ocfs2_getattr,
|
||||||
.setattr = ocfs2_setattr,
|
.setattr = ocfs2_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ocfs2_listxattr,
|
.listxattr = ocfs2_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.fiemap = ocfs2_fiemap,
|
.fiemap = ocfs2_fiemap,
|
||||||
};
|
};
|
||||||
|
|
|
@ -296,10 +296,7 @@ const struct inode_operations orangefs_file_inode_operations = {
|
||||||
.set_acl = orangefs_set_acl,
|
.set_acl = orangefs_set_acl,
|
||||||
.setattr = orangefs_setattr,
|
.setattr = orangefs_setattr,
|
||||||
.getattr = orangefs_getattr,
|
.getattr = orangefs_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = orangefs_listxattr,
|
.listxattr = orangefs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = orangefs_permission,
|
.permission = orangefs_permission,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -462,9 +462,6 @@ const struct inode_operations orangefs_dir_inode_operations = {
|
||||||
.rename = orangefs_rename,
|
.rename = orangefs_rename,
|
||||||
.setattr = orangefs_setattr,
|
.setattr = orangefs_setattr,
|
||||||
.getattr = orangefs_getattr,
|
.getattr = orangefs_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = orangefs_listxattr,
|
.listxattr = orangefs_listxattr,
|
||||||
.permission = orangefs_permission,
|
.permission = orangefs_permission,
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,6 +14,5 @@ const struct inode_operations orangefs_symlink_inode_operations = {
|
||||||
.setattr = orangefs_setattr,
|
.setattr = orangefs_setattr,
|
||||||
.getattr = orangefs_getattr,
|
.getattr = orangefs_getattr,
|
||||||
.listxattr = orangefs_listxattr,
|
.listxattr = orangefs_listxattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.permission = orangefs_permission,
|
.permission = orangefs_permission,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1003,10 +1003,7 @@ const struct inode_operations ovl_dir_inode_operations = {
|
||||||
.mknod = ovl_mknod,
|
.mknod = ovl_mknod,
|
||||||
.permission = ovl_permission,
|
.permission = ovl_permission,
|
||||||
.getattr = ovl_dir_getattr,
|
.getattr = ovl_dir_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ovl_listxattr,
|
.listxattr = ovl_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ovl_get_acl,
|
.get_acl = ovl_get_acl,
|
||||||
.update_time = ovl_update_time,
|
.update_time = ovl_update_time,
|
||||||
};
|
};
|
||||||
|
|
|
@ -367,10 +367,7 @@ static const struct inode_operations ovl_file_inode_operations = {
|
||||||
.setattr = ovl_setattr,
|
.setattr = ovl_setattr,
|
||||||
.permission = ovl_permission,
|
.permission = ovl_permission,
|
||||||
.getattr = ovl_getattr,
|
.getattr = ovl_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ovl_listxattr,
|
.listxattr = ovl_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.get_acl = ovl_get_acl,
|
.get_acl = ovl_get_acl,
|
||||||
.update_time = ovl_update_time,
|
.update_time = ovl_update_time,
|
||||||
};
|
};
|
||||||
|
@ -380,10 +377,7 @@ static const struct inode_operations ovl_symlink_inode_operations = {
|
||||||
.get_link = ovl_get_link,
|
.get_link = ovl_get_link,
|
||||||
.readlink = ovl_readlink,
|
.readlink = ovl_readlink,
|
||||||
.getattr = ovl_getattr,
|
.getattr = ovl_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ovl_listxattr,
|
.listxattr = ovl_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.update_time = ovl_update_time,
|
.update_time = ovl_update_time,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -260,10 +260,7 @@ const struct file_operations reiserfs_file_operations = {
|
||||||
|
|
||||||
const struct inode_operations reiserfs_file_inode_operations = {
|
const struct inode_operations reiserfs_file_inode_operations = {
|
||||||
.setattr = reiserfs_setattr,
|
.setattr = reiserfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = reiserfs_listxattr,
|
.listxattr = reiserfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = reiserfs_permission,
|
.permission = reiserfs_permission,
|
||||||
.get_acl = reiserfs_get_acl,
|
.get_acl = reiserfs_get_acl,
|
||||||
.set_acl = reiserfs_set_acl,
|
.set_acl = reiserfs_set_acl,
|
||||||
|
|
|
@ -1650,10 +1650,7 @@ const struct inode_operations reiserfs_dir_inode_operations = {
|
||||||
.mknod = reiserfs_mknod,
|
.mknod = reiserfs_mknod,
|
||||||
.rename = reiserfs_rename,
|
.rename = reiserfs_rename,
|
||||||
.setattr = reiserfs_setattr,
|
.setattr = reiserfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = reiserfs_listxattr,
|
.listxattr = reiserfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = reiserfs_permission,
|
.permission = reiserfs_permission,
|
||||||
.get_acl = reiserfs_get_acl,
|
.get_acl = reiserfs_get_acl,
|
||||||
.set_acl = reiserfs_set_acl,
|
.set_acl = reiserfs_set_acl,
|
||||||
|
@ -1667,10 +1664,7 @@ const struct inode_operations reiserfs_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = page_get_link,
|
.get_link = page_get_link,
|
||||||
.setattr = reiserfs_setattr,
|
.setattr = reiserfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = reiserfs_listxattr,
|
.listxattr = reiserfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = reiserfs_permission,
|
.permission = reiserfs_permission,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1679,10 +1673,7 @@ const struct inode_operations reiserfs_symlink_inode_operations = {
|
||||||
*/
|
*/
|
||||||
const struct inode_operations reiserfs_special_inode_operations = {
|
const struct inode_operations reiserfs_special_inode_operations = {
|
||||||
.setattr = reiserfs_setattr,
|
.setattr = reiserfs_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = reiserfs_listxattr,
|
.listxattr = reiserfs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.permission = reiserfs_permission,
|
.permission = reiserfs_permission,
|
||||||
.get_acl = reiserfs_get_acl,
|
.get_acl = reiserfs_get_acl,
|
||||||
.set_acl = reiserfs_set_acl,
|
.set_acl = reiserfs_set_acl,
|
||||||
|
|
|
@ -425,7 +425,6 @@ failed_read:
|
||||||
|
|
||||||
|
|
||||||
const struct inode_operations squashfs_inode_ops = {
|
const struct inode_operations squashfs_inode_ops = {
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = squashfs_listxattr
|
.listxattr = squashfs_listxattr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -247,6 +247,5 @@ failed:
|
||||||
|
|
||||||
const struct inode_operations squashfs_dir_inode_ops = {
|
const struct inode_operations squashfs_dir_inode_ops = {
|
||||||
.lookup = squashfs_lookup,
|
.lookup = squashfs_lookup,
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = squashfs_listxattr
|
.listxattr = squashfs_listxattr
|
||||||
};
|
};
|
||||||
|
|
|
@ -120,7 +120,6 @@ const struct address_space_operations squashfs_symlink_aops = {
|
||||||
const struct inode_operations squashfs_symlink_inode_ops = {
|
const struct inode_operations squashfs_symlink_inode_ops = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = page_get_link,
|
.get_link = page_get_link,
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = squashfs_listxattr
|
.listxattr = squashfs_listxattr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,5 @@ static inline int squashfs_xattr_lookup(struct super_block *sb,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#define squashfs_listxattr NULL
|
#define squashfs_listxattr NULL
|
||||||
#define generic_getxattr NULL
|
|
||||||
#define squashfs_xattr_handlers NULL
|
#define squashfs_xattr_handlers NULL
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1182,10 +1182,7 @@ const struct inode_operations ubifs_dir_inode_operations = {
|
||||||
.rename = ubifs_rename,
|
.rename = ubifs_rename,
|
||||||
.setattr = ubifs_setattr,
|
.setattr = ubifs_setattr,
|
||||||
.getattr = ubifs_getattr,
|
.getattr = ubifs_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ubifs_listxattr,
|
.listxattr = ubifs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#ifdef CONFIG_UBIFS_ATIME_SUPPORT
|
#ifdef CONFIG_UBIFS_ATIME_SUPPORT
|
||||||
.update_time = ubifs_update_time,
|
.update_time = ubifs_update_time,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1621,10 +1621,7 @@ const struct address_space_operations ubifs_file_address_operations = {
|
||||||
const struct inode_operations ubifs_file_inode_operations = {
|
const struct inode_operations ubifs_file_inode_operations = {
|
||||||
.setattr = ubifs_setattr,
|
.setattr = ubifs_setattr,
|
||||||
.getattr = ubifs_getattr,
|
.getattr = ubifs_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ubifs_listxattr,
|
.listxattr = ubifs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#ifdef CONFIG_UBIFS_ATIME_SUPPORT
|
#ifdef CONFIG_UBIFS_ATIME_SUPPORT
|
||||||
.update_time = ubifs_update_time,
|
.update_time = ubifs_update_time,
|
||||||
#endif
|
#endif
|
||||||
|
@ -1635,10 +1632,7 @@ const struct inode_operations ubifs_symlink_inode_operations = {
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
.setattr = ubifs_setattr,
|
.setattr = ubifs_setattr,
|
||||||
.getattr = ubifs_getattr,
|
.getattr = ubifs_getattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = ubifs_listxattr,
|
.listxattr = ubifs_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#ifdef CONFIG_UBIFS_ATIME_SUPPORT
|
#ifdef CONFIG_UBIFS_ATIME_SUPPORT
|
||||||
.update_time = ubifs_update_time,
|
.update_time = ubifs_update_time,
|
||||||
#endif
|
#endif
|
||||||
|
|
53
fs/xattr.c
53
fs/xattr.c
|
@ -740,22 +740,6 @@ SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Find the handler for the prefix and dispatch its get() operation.
|
|
||||||
*/
|
|
||||||
ssize_t
|
|
||||||
generic_getxattr(struct dentry *dentry, struct inode *inode,
|
|
||||||
const char *name, void *buffer, size_t size)
|
|
||||||
{
|
|
||||||
const struct xattr_handler *handler;
|
|
||||||
|
|
||||||
handler = xattr_resolve_name(inode, &name);
|
|
||||||
if (IS_ERR(handler))
|
|
||||||
return PTR_ERR(handler);
|
|
||||||
return handler->get(handler, dentry, inode,
|
|
||||||
name, buffer, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Combine the results of the list() operation from every xattr_handler in the
|
* Combine the results of the list() operation from every xattr_handler in the
|
||||||
* list.
|
* list.
|
||||||
|
@ -792,44 +776,7 @@ generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
|
||||||
}
|
}
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Find the handler for the prefix and dispatch its set() operation.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
generic_setxattr(struct dentry *dentry, struct inode *inode, const char *name,
|
|
||||||
const void *value, size_t size, int flags)
|
|
||||||
{
|
|
||||||
const struct xattr_handler *handler;
|
|
||||||
|
|
||||||
if (size == 0)
|
|
||||||
value = ""; /* empty EA, do not remove */
|
|
||||||
handler = xattr_resolve_name(inode, &name);
|
|
||||||
if (IS_ERR(handler))
|
|
||||||
return PTR_ERR(handler);
|
|
||||||
return handler->set(handler, dentry, inode, name, value, size, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Find the handler for the prefix and dispatch its set() operation to remove
|
|
||||||
* any associated extended attribute.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
generic_removexattr(struct dentry *dentry, const char *name)
|
|
||||||
{
|
|
||||||
const struct xattr_handler *handler;
|
|
||||||
|
|
||||||
handler = xattr_resolve_name(d_inode(dentry), &name);
|
|
||||||
if (IS_ERR(handler))
|
|
||||||
return PTR_ERR(handler);
|
|
||||||
return handler->set(handler, dentry, d_inode(dentry), name, NULL,
|
|
||||||
0, XATTR_REPLACE);
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(generic_getxattr);
|
|
||||||
EXPORT_SYMBOL(generic_listxattr);
|
EXPORT_SYMBOL(generic_listxattr);
|
||||||
EXPORT_SYMBOL(generic_setxattr);
|
|
||||||
EXPORT_SYMBOL(generic_removexattr);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* xattr_full_name - Compute full attribute name from suffix
|
* xattr_full_name - Compute full attribute name from suffix
|
||||||
|
|
|
@ -1036,9 +1036,6 @@ static const struct inode_operations xfs_inode_operations = {
|
||||||
.set_acl = xfs_set_acl,
|
.set_acl = xfs_set_acl,
|
||||||
.getattr = xfs_vn_getattr,
|
.getattr = xfs_vn_getattr,
|
||||||
.setattr = xfs_vn_setattr,
|
.setattr = xfs_vn_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = xfs_vn_listxattr,
|
.listxattr = xfs_vn_listxattr,
|
||||||
.fiemap = xfs_vn_fiemap,
|
.fiemap = xfs_vn_fiemap,
|
||||||
.update_time = xfs_vn_update_time,
|
.update_time = xfs_vn_update_time,
|
||||||
|
@ -1064,9 +1061,6 @@ static const struct inode_operations xfs_dir_inode_operations = {
|
||||||
.set_acl = xfs_set_acl,
|
.set_acl = xfs_set_acl,
|
||||||
.getattr = xfs_vn_getattr,
|
.getattr = xfs_vn_getattr,
|
||||||
.setattr = xfs_vn_setattr,
|
.setattr = xfs_vn_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = xfs_vn_listxattr,
|
.listxattr = xfs_vn_listxattr,
|
||||||
.update_time = xfs_vn_update_time,
|
.update_time = xfs_vn_update_time,
|
||||||
.tmpfile = xfs_vn_tmpfile,
|
.tmpfile = xfs_vn_tmpfile,
|
||||||
|
@ -1092,9 +1086,6 @@ static const struct inode_operations xfs_dir_ci_inode_operations = {
|
||||||
.set_acl = xfs_set_acl,
|
.set_acl = xfs_set_acl,
|
||||||
.getattr = xfs_vn_getattr,
|
.getattr = xfs_vn_getattr,
|
||||||
.setattr = xfs_vn_setattr,
|
.setattr = xfs_vn_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = xfs_vn_listxattr,
|
.listxattr = xfs_vn_listxattr,
|
||||||
.update_time = xfs_vn_update_time,
|
.update_time = xfs_vn_update_time,
|
||||||
.tmpfile = xfs_vn_tmpfile,
|
.tmpfile = xfs_vn_tmpfile,
|
||||||
|
@ -1105,9 +1096,6 @@ static const struct inode_operations xfs_symlink_inode_operations = {
|
||||||
.get_link = xfs_vn_get_link,
|
.get_link = xfs_vn_get_link,
|
||||||
.getattr = xfs_vn_getattr,
|
.getattr = xfs_vn_getattr,
|
||||||
.setattr = xfs_vn_setattr,
|
.setattr = xfs_vn_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = xfs_vn_listxattr,
|
.listxattr = xfs_vn_listxattr,
|
||||||
.update_time = xfs_vn_update_time,
|
.update_time = xfs_vn_update_time,
|
||||||
};
|
};
|
||||||
|
@ -1117,9 +1105,6 @@ static const struct inode_operations xfs_inline_symlink_inode_operations = {
|
||||||
.get_link = xfs_vn_get_link_inline,
|
.get_link = xfs_vn_get_link_inline,
|
||||||
.getattr = xfs_vn_getattr,
|
.getattr = xfs_vn_getattr,
|
||||||
.setattr = xfs_vn_setattr,
|
.setattr = xfs_vn_setattr,
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.listxattr = xfs_vn_listxattr,
|
.listxattr = xfs_vn_listxattr,
|
||||||
.update_time = xfs_vn_update_time,
|
.update_time = xfs_vn_update_time,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1739,12 +1739,7 @@ struct inode_operations {
|
||||||
struct inode *, struct dentry *, unsigned int);
|
struct inode *, struct dentry *, unsigned int);
|
||||||
int (*setattr) (struct dentry *, struct iattr *);
|
int (*setattr) (struct dentry *, struct iattr *);
|
||||||
int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
|
int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
|
||||||
int (*setxattr) (struct dentry *, struct inode *,
|
|
||||||
const char *, const void *, size_t, int);
|
|
||||||
ssize_t (*getxattr) (struct dentry *, struct inode *,
|
|
||||||
const char *, void *, size_t);
|
|
||||||
ssize_t (*listxattr) (struct dentry *, char *, size_t);
|
ssize_t (*listxattr) (struct dentry *, char *, size_t);
|
||||||
int (*removexattr) (struct dentry *, const char *);
|
|
||||||
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
|
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
|
||||||
u64 len);
|
u64 len);
|
||||||
int (*update_time)(struct inode *, struct timespec *, int);
|
int (*update_time)(struct inode *, struct timespec *, int);
|
||||||
|
|
|
@ -55,11 +55,7 @@ int vfs_setxattr(struct dentry *, const char *, const void *, size_t, int);
|
||||||
int __vfs_removexattr(struct dentry *, const char *);
|
int __vfs_removexattr(struct dentry *, const char *);
|
||||||
int vfs_removexattr(struct dentry *, const char *);
|
int vfs_removexattr(struct dentry *, const char *);
|
||||||
|
|
||||||
ssize_t generic_getxattr(struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size);
|
|
||||||
ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size);
|
ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size);
|
||||||
int generic_setxattr(struct dentry *dentry, struct inode *inode,
|
|
||||||
const char *name, const void *value, size_t size, int flags);
|
|
||||||
int generic_removexattr(struct dentry *dentry, const char *name);
|
|
||||||
ssize_t vfs_getxattr_alloc(struct dentry *dentry, const char *name,
|
ssize_t vfs_getxattr_alloc(struct dentry *dentry, const char *name,
|
||||||
char **xattr_value, size_t size, gfp_t flags);
|
char **xattr_value, size_t size, gfp_t flags);
|
||||||
|
|
||||||
|
|
15
mm/shmem.c
15
mm/shmem.c
|
@ -3288,10 +3288,7 @@ static const struct inode_operations shmem_short_symlink_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = simple_get_link,
|
.get_link = simple_get_link,
|
||||||
#ifdef CONFIG_TMPFS_XATTR
|
#ifdef CONFIG_TMPFS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = shmem_listxattr,
|
.listxattr = shmem_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3299,10 +3296,7 @@ static const struct inode_operations shmem_symlink_inode_operations = {
|
||||||
.readlink = generic_readlink,
|
.readlink = generic_readlink,
|
||||||
.get_link = shmem_get_link,
|
.get_link = shmem_get_link,
|
||||||
#ifdef CONFIG_TMPFS_XATTR
|
#ifdef CONFIG_TMPFS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = shmem_listxattr,
|
.listxattr = shmem_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3796,10 +3790,7 @@ static const struct inode_operations shmem_inode_operations = {
|
||||||
.getattr = shmem_getattr,
|
.getattr = shmem_getattr,
|
||||||
.setattr = shmem_setattr,
|
.setattr = shmem_setattr,
|
||||||
#ifdef CONFIG_TMPFS_XATTR
|
#ifdef CONFIG_TMPFS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = shmem_listxattr,
|
.listxattr = shmem_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
.set_acl = simple_set_acl,
|
.set_acl = simple_set_acl,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -3818,10 +3809,7 @@ static const struct inode_operations shmem_dir_inode_operations = {
|
||||||
.tmpfile = shmem_tmpfile,
|
.tmpfile = shmem_tmpfile,
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_TMPFS_XATTR
|
#ifdef CONFIG_TMPFS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = shmem_listxattr,
|
.listxattr = shmem_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_TMPFS_POSIX_ACL
|
#ifdef CONFIG_TMPFS_POSIX_ACL
|
||||||
.setattr = shmem_setattr,
|
.setattr = shmem_setattr,
|
||||||
|
@ -3831,10 +3819,7 @@ static const struct inode_operations shmem_dir_inode_operations = {
|
||||||
|
|
||||||
static const struct inode_operations shmem_special_inode_operations = {
|
static const struct inode_operations shmem_special_inode_operations = {
|
||||||
#ifdef CONFIG_TMPFS_XATTR
|
#ifdef CONFIG_TMPFS_XATTR
|
||||||
.setxattr = generic_setxattr,
|
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = shmem_listxattr,
|
.listxattr = shmem_listxattr,
|
||||||
.removexattr = generic_removexattr,
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_TMPFS_POSIX_ACL
|
#ifdef CONFIG_TMPFS_POSIX_ACL
|
||||||
.setattr = shmem_setattr,
|
.setattr = shmem_setattr,
|
||||||
|
|
|
@ -519,7 +519,6 @@ static ssize_t sockfs_listxattr(struct dentry *dentry, char *buffer,
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct inode_operations sockfs_inode_ops = {
|
static const struct inode_operations sockfs_inode_ops = {
|
||||||
.getxattr = generic_getxattr,
|
|
||||||
.listxattr = sockfs_listxattr,
|
.listxattr = sockfs_listxattr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue