diff options
author | Brian Behlendorf <[email protected]> | 2011-02-16 09:55:53 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-02-16 09:55:53 -0800 |
commit | a6695d83b763aaeeeeb6d4bdb57ed59a384106f7 (patch) | |
tree | f083316fef9eaaf5262adebad3b2edf27b110d17 /module/zfs | |
parent | d8fd10545b677cb4b770674372c1e116b7c22c64 (diff) |
Add get/setattr, get/setxattr hooks
While the attr/xattr hooks were already in place for regular
files this hooks can also apply to directories and special files.
While they aren't typically used in this way, it should be
supported. This patch registers these additional callbacks
for both directory and special inode types.
Diffstat (limited to 'module/zfs')
-rw-r--r-- | module/zfs/zpl_inode.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c index e866dcd4d..637a7dc69 100644 --- a/module/zfs/zpl_inode.c +++ b/module/zfs/zpl_inode.c @@ -288,7 +288,6 @@ out: } const struct inode_operations zpl_inode_operations = { - .check_acl = NULL, .create = zpl_create, .link = zpl_link, .unlink = zpl_unlink, @@ -306,7 +305,6 @@ const struct inode_operations zpl_inode_operations = { }; const struct inode_operations zpl_dir_inode_operations = { - .check_acl = NULL, .create = zpl_create, .lookup = zpl_lookup, .link = zpl_link, @@ -317,15 +315,24 @@ const struct inode_operations zpl_dir_inode_operations = { .mknod = zpl_mknod, .rename = zpl_rename, .setattr = zpl_setattr, + .getattr = zpl_getattr, + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .removexattr = generic_removexattr, + .listxattr = zpl_xattr_list, }; const struct inode_operations zpl_symlink_inode_operations = { - .check_acl = NULL, .readlink = generic_readlink, .follow_link = zpl_follow_link, .put_link = zpl_put_link, }; const struct inode_operations zpl_special_inode_operations = { - .check_acl = NULL, + .setattr = zpl_setattr, + .getattr = zpl_getattr, + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .removexattr = generic_removexattr, + .listxattr = zpl_xattr_list, }; |