Commit c7f2e1f0ac142a657a1de00d404e1c8345b20598

Authored by Dmitry Monakhov
Committed by Dave Kleikamp
1 parent 2b0b39517d

jfs: add jfs specific ->setattr call

generic setattr not longer responsible for quota transfer.
use jfs_setattr for all jfs's inodes.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>

Showing 4 changed files with 17 additions and 4 deletions Side-by-side Diff

... ... @@ -60,7 +60,7 @@
60 60 inode->i_op = &page_symlink_inode_operations;
61 61 inode->i_mapping->a_ops = &jfs_aops;
62 62 } else {
63   - inode->i_op = &jfs_symlink_inode_operations;
  63 + inode->i_op = &jfs_fast_symlink_inode_operations;
64 64 /*
65 65 * The inline data should be null-terminated, but
66 66 * don't let on-disk corruption crash the kernel
... ... @@ -47,6 +47,7 @@
47 47 extern const struct inode_operations jfs_file_inode_operations;
48 48 extern const struct file_operations jfs_file_operations;
49 49 extern const struct inode_operations jfs_symlink_inode_operations;
  50 +extern const struct inode_operations jfs_fast_symlink_inode_operations;
50 51 extern const struct dentry_operations jfs_ci_dentry_operations;
51 52 #endif /* _H_JFS_INODE */
... ... @@ -946,7 +946,7 @@
946 946 */
947 947  
948 948 if (ssize <= IDATASIZE) {
949   - ip->i_op = &jfs_symlink_inode_operations;
  949 + ip->i_op = &jfs_fast_symlink_inode_operations;
950 950  
951 951 i_fastsymlink = JFS_IP(ip)->i_inline;
952 952 memcpy(i_fastsymlink, name, ssize);
... ... @@ -968,7 +968,7 @@
968 968 else {
969 969 jfs_info("jfs_symlink: allocate extent ip:0x%p", ip);
970 970  
971   - ip->i_op = &page_symlink_inode_operations;
  971 + ip->i_op = &jfs_symlink_inode_operations;
972 972 ip->i_mapping->a_ops = &jfs_aops;
973 973  
974 974 /*
... ... @@ -29,9 +29,21 @@
29 29 return NULL;
30 30 }
31 31  
32   -const struct inode_operations jfs_symlink_inode_operations = {
  32 +const struct inode_operations jfs_fast_symlink_inode_operations = {
33 33 .readlink = generic_readlink,
34 34 .follow_link = jfs_follow_link,
  35 + .setattr = jfs_setattr,
  36 + .setxattr = jfs_setxattr,
  37 + .getxattr = jfs_getxattr,
  38 + .listxattr = jfs_listxattr,
  39 + .removexattr = jfs_removexattr,
  40 +};
  41 +
  42 +const struct inode_operations jfs_symlink_inode_operations = {
  43 + .readlink = generic_readlink,
  44 + .follow_link = page_follow_link_light,
  45 + .put_link = page_put_link,
  46 + .setattr = jfs_setattr,
35 47 .setxattr = jfs_setxattr,
36 48 .getxattr = jfs_getxattr,
37 49 .listxattr = jfs_listxattr,