Lines Matching refs:inode
54 static int ecryptfs_inode_test(struct inode *inode, void *lower_inode) in ecryptfs_inode_test() argument
56 return ecryptfs_inode_to_lower(inode) == lower_inode; in ecryptfs_inode_test()
59 static int ecryptfs_inode_set(struct inode *inode, void *opaque) in ecryptfs_inode_set() argument
61 struct inode *lower_inode = opaque; in ecryptfs_inode_set()
63 ecryptfs_set_inode_lower(inode, lower_inode); in ecryptfs_inode_set()
64 fsstack_copy_attr_all(inode, lower_inode); in ecryptfs_inode_set()
66 fsstack_copy_inode_size(inode, lower_inode); in ecryptfs_inode_set()
67 inode->i_ino = lower_inode->i_ino; in ecryptfs_inode_set()
68 inode->i_version++; in ecryptfs_inode_set()
69 inode->i_mapping->a_ops = &ecryptfs_aops; in ecryptfs_inode_set()
71 if (S_ISLNK(inode->i_mode)) in ecryptfs_inode_set()
72 inode->i_op = &ecryptfs_symlink_iops; in ecryptfs_inode_set()
73 else if (S_ISDIR(inode->i_mode)) in ecryptfs_inode_set()
74 inode->i_op = &ecryptfs_dir_iops; in ecryptfs_inode_set()
76 inode->i_op = &ecryptfs_main_iops; in ecryptfs_inode_set()
78 if (S_ISDIR(inode->i_mode)) in ecryptfs_inode_set()
79 inode->i_fop = &ecryptfs_dir_fops; in ecryptfs_inode_set()
80 else if (special_file(inode->i_mode)) in ecryptfs_inode_set()
81 init_special_inode(inode, inode->i_mode, inode->i_rdev); in ecryptfs_inode_set()
83 inode->i_fop = &ecryptfs_main_fops; in ecryptfs_inode_set()
88 static struct inode *__ecryptfs_get_inode(struct inode *lower_inode, in __ecryptfs_get_inode()
91 struct inode *inode; in __ecryptfs_get_inode() local
97 inode = iget5_locked(sb, (unsigned long)lower_inode, in __ecryptfs_get_inode()
100 if (!inode) { in __ecryptfs_get_inode()
104 if (!(inode->i_state & I_NEW)) in __ecryptfs_get_inode()
107 return inode; in __ecryptfs_get_inode()
110 struct inode *ecryptfs_get_inode(struct inode *lower_inode, in ecryptfs_get_inode()
113 struct inode *inode = __ecryptfs_get_inode(lower_inode, sb); in ecryptfs_get_inode() local
115 if (!IS_ERR(inode) && (inode->i_state & I_NEW)) in ecryptfs_get_inode()
116 unlock_new_inode(inode); in ecryptfs_get_inode()
118 return inode; in ecryptfs_get_inode()
134 struct inode *inode = ecryptfs_get_inode(d_inode(lower_dentry), sb); in ecryptfs_interpose() local
136 if (IS_ERR(inode)) in ecryptfs_interpose()
137 return PTR_ERR(inode); in ecryptfs_interpose()
138 d_instantiate(dentry, inode); in ecryptfs_interpose()
143 static int ecryptfs_do_unlink(struct inode *dir, struct dentry *dentry, in ecryptfs_do_unlink()
144 struct inode *inode) in ecryptfs_do_unlink() argument
147 struct inode *lower_dir_inode = ecryptfs_inode_to_lower(dir); in ecryptfs_do_unlink()
159 set_nlink(inode, ecryptfs_inode_to_lower(inode)->i_nlink); in ecryptfs_do_unlink()
160 inode->i_ctime = dir->i_ctime; in ecryptfs_do_unlink()
181 static struct inode *
182 ecryptfs_do_create(struct inode *directory_inode, in ecryptfs_do_create()
188 struct inode *inode; in ecryptfs_do_create() local
196 inode = ERR_PTR(rc); in ecryptfs_do_create()
199 inode = __ecryptfs_get_inode(d_inode(lower_dentry), in ecryptfs_do_create()
201 if (IS_ERR(inode)) { in ecryptfs_do_create()
209 return inode; in ecryptfs_do_create()
221 struct inode *ecryptfs_inode) in ecryptfs_initialize_file()
266 ecryptfs_create(struct inode *directory_inode, struct dentry *ecryptfs_dentry, in ecryptfs_create()
269 struct inode *ecryptfs_inode; in ecryptfs_create()
297 static int ecryptfs_i_size_read(struct dentry *dentry, struct inode *inode) in ecryptfs_i_size_read() argument
302 rc = ecryptfs_get_lower_file(dentry, inode); in ecryptfs_i_size_read()
311 crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; in ecryptfs_i_size_read()
316 rc = ecryptfs_read_and_validate_header_region(inode); in ecryptfs_i_size_read()
317 ecryptfs_put_lower_file(inode); in ecryptfs_i_size_read()
319 rc = ecryptfs_read_and_validate_xattr_region(dentry, inode); in ecryptfs_i_size_read()
333 struct inode *dir_inode) in ecryptfs_lookup_interpose()
335 struct inode *inode, *lower_inode = d_inode(lower_dentry); in ecryptfs_lookup_interpose() local
362 inode = __ecryptfs_get_inode(lower_inode, dir_inode->i_sb); in ecryptfs_lookup_interpose()
363 if (IS_ERR(inode)) { in ecryptfs_lookup_interpose()
365 __func__, PTR_ERR(inode)); in ecryptfs_lookup_interpose()
366 return PTR_ERR(inode); in ecryptfs_lookup_interpose()
368 if (S_ISREG(inode->i_mode)) { in ecryptfs_lookup_interpose()
369 rc = ecryptfs_i_size_read(dentry, inode); in ecryptfs_lookup_interpose()
371 make_bad_inode(inode); in ecryptfs_lookup_interpose()
376 if (inode->i_state & I_NEW) in ecryptfs_lookup_interpose()
377 unlock_new_inode(inode); in ecryptfs_lookup_interpose()
378 d_add(dentry, inode); in ecryptfs_lookup_interpose()
392 static struct dentry *ecryptfs_lookup(struct inode *ecryptfs_dir_inode, in ecryptfs_lookup()
452 static int ecryptfs_link(struct dentry *old_dentry, struct inode *dir, in ecryptfs_link()
486 static int ecryptfs_unlink(struct inode *dir, struct dentry *dentry) in ecryptfs_unlink()
491 static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry, in ecryptfs_symlink()
531 static int ecryptfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in ecryptfs_mkdir()
555 static int ecryptfs_rmdir(struct inode *dir, struct dentry *dentry) in ecryptfs_rmdir()
579 ecryptfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev) in ecryptfs_mknod()
603 ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry, in ecryptfs_rename()
604 struct inode *new_dir, struct dentry *new_dentry) in ecryptfs_rename()
612 struct inode *target_inode; in ecryptfs_rename()
741 struct inode *inode = d_inode(dentry); in truncate_upper() local
743 loff_t i_size = i_size_read(inode); in truncate_upper()
751 rc = ecryptfs_get_lower_file(dentry, inode); in truncate_upper()
764 rc = ecryptfs_write(inode, zero, in truncate_upper()
775 truncate_setsize(inode, ia->ia_size); in truncate_upper()
788 rc = ecryptfs_write(inode, zeros_virt, in truncate_upper()
798 truncate_setsize(inode, ia->ia_size); in truncate_upper()
799 rc = ecryptfs_write_inode_size_to_metadata(inode); in truncate_upper()
819 ecryptfs_put_lower_file(inode); in truncate_upper()
823 static int ecryptfs_inode_newsize_ok(struct inode *inode, loff_t offset) in ecryptfs_inode_newsize_ok() argument
828 crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; in ecryptfs_inode_newsize_ok()
830 i_size_read(inode)); in ecryptfs_inode_newsize_ok()
839 return inode_newsize_ok(inode, lower_newsize); in ecryptfs_inode_newsize_ok()
877 ecryptfs_permission(struct inode *inode, int mask) in ecryptfs_permission() argument
879 return inode_permission(ecryptfs_inode_to_lower(inode), mask); in ecryptfs_permission()
899 struct inode *inode; in ecryptfs_setattr() local
900 struct inode *lower_inode; in ecryptfs_setattr()
906 inode = d_inode(dentry); in ecryptfs_setattr()
907 lower_inode = ecryptfs_inode_to_lower(inode); in ecryptfs_setattr()
919 rc = ecryptfs_get_lower_file(dentry, inode); in ecryptfs_setattr()
925 ecryptfs_put_lower_file(inode); in ecryptfs_setattr()
945 rc = inode_change_ok(inode, ia); in ecryptfs_setattr()
949 rc = ecryptfs_inode_newsize_ok(inode, ia->ia_size); in ecryptfs_setattr()
974 fsstack_copy_attr_all(inode, lower_inode); in ecryptfs_setattr()