diff options
Diffstat (limited to 'fs/ocfs2/symlink.c')
| -rw-r--r-- | fs/ocfs2/symlink.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c index ba9dbb51d25b..cbd03dfdc7b9 100644 --- a/fs/ocfs2/symlink.c +++ b/fs/ocfs2/symlink.c | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | #include "inode.h" | 50 | #include "inode.h" |
| 51 | #include "journal.h" | 51 | #include "journal.h" |
| 52 | #include "symlink.h" | 52 | #include "symlink.h" |
| 53 | #include "xattr.h" | ||
| 53 | 54 | ||
| 54 | #include "buffer_head_io.h" | 55 | #include "buffer_head_io.h" |
| 55 | 56 | ||
| @@ -83,11 +84,7 @@ static char *ocfs2_fast_symlink_getlink(struct inode *inode, | |||
| 83 | 84 | ||
| 84 | mlog_entry_void(); | 85 | mlog_entry_void(); |
| 85 | 86 | ||
| 86 | status = ocfs2_read_block(OCFS2_SB(inode->i_sb), | 87 | status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, bh); |
| 87 | OCFS2_I(inode)->ip_blkno, | ||
| 88 | bh, | ||
| 89 | OCFS2_BH_CACHED, | ||
| 90 | inode); | ||
| 91 | if (status < 0) { | 88 | if (status < 0) { |
| 92 | mlog_errno(status); | 89 | mlog_errno(status); |
| 93 | link = ERR_PTR(status); | 90 | link = ERR_PTR(status); |
| @@ -157,8 +154,7 @@ bail: | |||
| 157 | kunmap(page); | 154 | kunmap(page); |
| 158 | page_cache_release(page); | 155 | page_cache_release(page); |
| 159 | } | 156 | } |
| 160 | if (bh) | 157 | brelse(bh); |
| 161 | brelse(bh); | ||
| 162 | 158 | ||
| 163 | return ERR_PTR(status); | 159 | return ERR_PTR(status); |
| 164 | } | 160 | } |
| @@ -168,10 +164,18 @@ const struct inode_operations ocfs2_symlink_inode_operations = { | |||
| 168 | .follow_link = ocfs2_follow_link, | 164 | .follow_link = ocfs2_follow_link, |
| 169 | .getattr = ocfs2_getattr, | 165 | .getattr = ocfs2_getattr, |
| 170 | .setattr = ocfs2_setattr, | 166 | .setattr = ocfs2_setattr, |
| 167 | .setxattr = generic_setxattr, | ||
| 168 | .getxattr = generic_getxattr, | ||
| 169 | .listxattr = ocfs2_listxattr, | ||
| 170 | .removexattr = generic_removexattr, | ||
| 171 | }; | 171 | }; |
| 172 | const struct inode_operations ocfs2_fast_symlink_inode_operations = { | 172 | const struct inode_operations ocfs2_fast_symlink_inode_operations = { |
| 173 | .readlink = ocfs2_readlink, | 173 | .readlink = ocfs2_readlink, |
| 174 | .follow_link = ocfs2_follow_link, | 174 | .follow_link = ocfs2_follow_link, |
| 175 | .getattr = ocfs2_getattr, | 175 | .getattr = ocfs2_getattr, |
| 176 | .setattr = ocfs2_setattr, | 176 | .setattr = ocfs2_setattr, |
| 177 | .setxattr = generic_setxattr, | ||
| 178 | .getxattr = generic_getxattr, | ||
| 179 | .listxattr = ocfs2_listxattr, | ||
| 180 | .removexattr = generic_removexattr, | ||
| 177 | }; | 181 | }; |
