inode.c (1d9d4495001d3c470e5c902ff35a6aa626924fc1) inode.c (fceef393a538134f03b778c5d2519e670269342f)
1/*
2 * linux/fs/sysv/inode.c
3 *
4 * minix/inode.c
5 * Copyright (C) 1991, 1992 Linus Torvalds
6 *
7 * xenix/inode.c
8 * Copyright (C) 1992 Doug Evans

--- 132 unchanged lines hidden (view full) ---

141 to[0] = from[1];
142 to[1] = from[2];
143 to[2] = from[3];
144 }
145}
146
147static const struct inode_operations sysv_symlink_inode_operations = {
148 .readlink = generic_readlink,
1/*
2 * linux/fs/sysv/inode.c
3 *
4 * minix/inode.c
5 * Copyright (C) 1991, 1992 Linus Torvalds
6 *
7 * xenix/inode.c
8 * Copyright (C) 1992 Doug Evans

--- 132 unchanged lines hidden (view full) ---

141 to[0] = from[1];
142 to[1] = from[2];
143 to[2] = from[3];
144 }
145}
146
147static const struct inode_operations sysv_symlink_inode_operations = {
148 .readlink = generic_readlink,
149 .follow_link = page_follow_link_light,
150 .put_link = page_put_link,
149 .get_link = page_get_link,
151 .getattr = sysv_getattr,
152};
153
154void sysv_set_inode(struct inode *inode, dev_t rdev)
155{
156 if (S_ISREG(inode->i_mode)) {
157 inode->i_op = &sysv_file_inode_operations;
158 inode->i_fop = &sysv_file_operations;
159 inode->i_mapping->a_ops = &sysv_aops;
160 } else if (S_ISDIR(inode->i_mode)) {
161 inode->i_op = &sysv_dir_inode_operations;
162 inode->i_fop = &sysv_dir_operations;
163 inode->i_mapping->a_ops = &sysv_aops;
164 } else if (S_ISLNK(inode->i_mode)) {
165 inode->i_op = &sysv_symlink_inode_operations;
150 .getattr = sysv_getattr,
151};
152
153void sysv_set_inode(struct inode *inode, dev_t rdev)
154{
155 if (S_ISREG(inode->i_mode)) {
156 inode->i_op = &sysv_file_inode_operations;
157 inode->i_fop = &sysv_file_operations;
158 inode->i_mapping->a_ops = &sysv_aops;
159 } else if (S_ISDIR(inode->i_mode)) {
160 inode->i_op = &sysv_dir_inode_operations;
161 inode->i_fop = &sysv_dir_operations;
162 inode->i_mapping->a_ops = &sysv_aops;
163 } else if (S_ISLNK(inode->i_mode)) {
164 inode->i_op = &sysv_symlink_inode_operations;
165 inode_nohighmem(inode);
166 inode->i_mapping->a_ops = &sysv_aops;
167 } else
168 init_special_inode(inode, inode->i_mode, rdev);
169}
170
171struct inode *sysv_iget(struct super_block *sb, unsigned int ino)
172{
173 struct sysv_sb_info * sbi = SYSV_SB(sb);

--- 191 unchanged lines hidden ---
166 inode->i_mapping->a_ops = &sysv_aops;
167 } else
168 init_special_inode(inode, inode->i_mode, rdev);
169}
170
171struct inode *sysv_iget(struct super_block *sb, unsigned int ino)
172{
173 struct sysv_sb_info * sbi = SYSV_SB(sb);

--- 191 unchanged lines hidden ---