patch-2.4.10 linux/fs/sysv/inode.c
Next file: linux/fs/sysv/super.c
Previous file: linux/fs/sysv/balloc.c
Back to the patch index
Back to the overall index
- Lines: 25
- Date:
Mon Sep 10 07:31:30 2001
- Orig file:
v2.4.9/linux/fs/sysv/inode.c
- Orig date:
Wed Jul 25 17:10:25 2001
diff -u --recursive --new-file v2.4.9/linux/fs/sysv/inode.c linux/fs/sysv/inode.c
@@ -131,8 +131,11 @@
inode->i_fop = &sysv_dir_operations;
inode->i_mapping->a_ops = &sysv_aops;
} else if (S_ISLNK(inode->i_mode)) {
- inode->i_op = &sysv_symlink_inode_operations;
- inode->i_mapping->a_ops = &sysv_aops;
+ if (inode->i_blocks) {
+ inode->i_op = &sysv_symlink_inode_operations;
+ inode->i_mapping->a_ops = &sysv_aops;
+ } else
+ inode->i_op = &sysv_fast_symlink_inode_operations;
} else
init_special_inode(inode, inode->i_mode, rdev);
}
@@ -195,9 +198,7 @@
if (attr->ia_mode == COH_KLUDGE_SYMLINK_MODE)
attr->ia_mode = COH_KLUDGE_NOT_SYMLINK;
- inode_setattr(inode, attr);
-
- return 0;
+ return inode_setattr(inode, attr);
}
static struct buffer_head * sysv_update_inode(struct inode * inode)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)