summaryrefslogtreecommitdiffstats
path: root/fs/ufs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ufs/inode.c')
-rw-r--r--fs/ufs/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ufs/inode.c b/fs/ufs/inode.c
index afcdcd600..21171a864 100644
--- a/fs/ufs/inode.c
+++ b/fs/ufs/inode.c
@@ -631,7 +631,9 @@ void ufs_read_inode (struct inode * inode)
else if (S_ISDIR(inode->i_mode))
inode->i_op = &ufs_dir_inode_operations;
else if (S_ISLNK(inode->i_mode))
- inode->i_op = &ufs_symlink_inode_operations;
+ inode->i_op = inode->i_blocks
+ ?&ufs_symlink_inode_operations
+ :&ufs_fast_symlink_inode_operations;
else
init_special_inode(inode, inode->i_mode,
SWAB32(ufs_inode->ui_u2.ui_addr.ui_db[0]));