diff options
Diffstat (limited to 'fs/ocfs2/inode.c')
-rw-r--r-- | fs/ocfs2/inode.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c index 735514ca400f..d89e08a81eda 100644 --- a/fs/ocfs2/inode.c +++ b/fs/ocfs2/inode.c | |||
@@ -273,11 +273,13 @@ void ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, | |||
273 | inode->i_gid = le32_to_cpu(fe->i_gid); | 273 | inode->i_gid = le32_to_cpu(fe->i_gid); |
274 | 274 | ||
275 | /* Fast symlinks will have i_size but no allocated clusters. */ | 275 | /* Fast symlinks will have i_size but no allocated clusters. */ |
276 | if (S_ISLNK(inode->i_mode) && !fe->i_clusters) | 276 | if (S_ISLNK(inode->i_mode) && !fe->i_clusters) { |
277 | inode->i_blocks = 0; | 277 | inode->i_blocks = 0; |
278 | else | 278 | inode->i_mapping->a_ops = &ocfs2_fast_symlink_aops; |
279 | } else { | ||
279 | inode->i_blocks = ocfs2_inode_sector_count(inode); | 280 | inode->i_blocks = ocfs2_inode_sector_count(inode); |
280 | inode->i_mapping->a_ops = &ocfs2_aops; | 281 | inode->i_mapping->a_ops = &ocfs2_aops; |
282 | } | ||
281 | inode->i_atime.tv_sec = le64_to_cpu(fe->i_atime); | 283 | inode->i_atime.tv_sec = le64_to_cpu(fe->i_atime); |
282 | inode->i_atime.tv_nsec = le32_to_cpu(fe->i_atime_nsec); | 284 | inode->i_atime.tv_nsec = le32_to_cpu(fe->i_atime_nsec); |
283 | inode->i_mtime.tv_sec = le64_to_cpu(fe->i_mtime); | 285 | inode->i_mtime.tv_sec = le64_to_cpu(fe->i_mtime); |
@@ -331,10 +333,7 @@ void ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, | |||
331 | OCFS2_I(inode)->ip_dir_lock_gen = 1; | 333 | OCFS2_I(inode)->ip_dir_lock_gen = 1; |
332 | break; | 334 | break; |
333 | case S_IFLNK: | 335 | case S_IFLNK: |
334 | if (ocfs2_inode_is_fast_symlink(inode)) | 336 | inode->i_op = &ocfs2_symlink_inode_operations; |
335 | inode->i_op = &ocfs2_fast_symlink_inode_operations; | ||
336 | else | ||
337 | inode->i_op = &ocfs2_symlink_inode_operations; | ||
338 | i_size_write(inode, le64_to_cpu(fe->i_size)); | 337 | i_size_write(inode, le64_to_cpu(fe->i_size)); |
339 | break; | 338 | break; |
340 | default: | 339 | default: |