Lines Matching refs:lower_dentry
115 * @lower_dentry: Existing dentry in the lower filesystem
123 static int ecryptfs_interpose(struct dentry *lower_dentry,
126 struct inode *inode = ecryptfs_get_inode(d_inode(lower_dentry), sb);
138 struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry);
146 dget(lower_dentry); // don't even try to make the lower negative
147 if (lower_dentry->d_parent != lower_dir_dentry)
149 else if (d_unhashed(lower_dentry))
152 rc = vfs_unlink(lower_dir_inode, lower_dentry, NULL);
161 dput(lower_dentry);
185 struct dentry *lower_dentry;
189 lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry);
190 lower_dir_dentry = lock_parent(lower_dentry);
191 rc = vfs_create(d_inode(lower_dir_dentry), lower_dentry, mode, true);
198 inode = __ecryptfs_get_inode(d_inode(lower_dentry),
201 vfs_unlink(d_inode(lower_dir_dentry), lower_dentry, NULL);
328 struct dentry *lower_dentry)
337 dput(lower_dentry);
343 BUG_ON(!d_count(lower_dentry));
347 dentry_info->lower_path.dentry = lower_dentry;
355 lower_inode = READ_ONCE(lower_dentry->d_inode);
396 struct dentry *lower_dir_dentry, *lower_dentry;
418 lower_dentry = lookup_one_len_unlocked(name, lower_dir_dentry, len);
419 if (IS_ERR(lower_dentry)) {
421 "[%ld] on lower_dentry = [%s]\n", __func__,
422 PTR_ERR(lower_dentry),
424 res = ERR_CAST(lower_dentry);
426 res = ecryptfs_lookup_interpose(ecryptfs_dentry, lower_dentry);
475 struct dentry *lower_dentry;
481 lower_dentry = ecryptfs_dentry_to_lower(dentry);
482 dget(lower_dentry);
483 lower_dir_dentry = lock_parent(lower_dentry);
492 rc = vfs_symlink(d_inode(lower_dir_dentry), lower_dentry,
495 if (rc || d_really_is_negative(lower_dentry))
497 rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb);
504 dput(lower_dentry);
513 struct dentry *lower_dentry;
516 lower_dentry = ecryptfs_dentry_to_lower(dentry);
517 lower_dir_dentry = lock_parent(lower_dentry);
518 rc = vfs_mkdir(d_inode(lower_dir_dentry), lower_dentry, mode);
519 if (rc || d_really_is_negative(lower_dentry))
521 rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb);
536 struct dentry *lower_dentry;
541 lower_dentry = ecryptfs_dentry_to_lower(dentry);
546 dget(lower_dentry); // don't even try to make the lower negative
547 if (lower_dentry->d_parent != lower_dir_dentry)
549 else if (d_unhashed(lower_dentry))
552 rc = vfs_rmdir(lower_dir_inode, lower_dentry);
558 dput(lower_dentry);
569 struct dentry *lower_dentry;
572 lower_dentry = ecryptfs_dentry_to_lower(dentry);
573 lower_dir_dentry = lock_parent(lower_dentry);
574 rc = vfs_mknod(d_inode(lower_dir_dentry), lower_dentry, mode, dev);
575 if (rc || d_really_is_negative(lower_dentry))
577 rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb);
650 struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry);
655 link = vfs_get_link(lower_dentry, &done);
863 struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry);
865 inode_lock(d_inode(lower_dentry));
866 rc = notify_change(lower_dentry, &lower_ia, NULL);
867 inode_unlock(d_inode(lower_dentry));
893 struct dentry *lower_dentry;
907 lower_dentry = ecryptfs_dentry_to_lower(dentry);
969 inode_lock(d_inode(lower_dentry));
970 rc = notify_change(lower_dentry, &lower_ia, NULL);
971 inode_unlock(d_inode(lower_dentry));
1026 struct dentry *lower_dentry;
1028 lower_dentry = ecryptfs_dentry_to_lower(dentry);
1029 if (!(d_inode(lower_dentry)->i_opflags & IOP_XATTR)) {
1033 rc = vfs_setxattr(lower_dentry, name, value, size, flags);
1035 fsstack_copy_attr_all(inode, d_inode(lower_dentry));
1041 ecryptfs_getxattr_lower(struct dentry *lower_dentry, struct inode *lower_inode,
1051 rc = __vfs_getxattr(lower_dentry, lower_inode, name, value, size);
1070 struct dentry *lower_dentry;
1072 lower_dentry = ecryptfs_dentry_to_lower(dentry);
1073 if (!d_inode(lower_dentry)->i_op->listxattr) {
1077 inode_lock(d_inode(lower_dentry));
1078 rc = d_inode(lower_dentry)->i_op->listxattr(lower_dentry, list, size);
1079 inode_unlock(d_inode(lower_dentry));
1088 struct dentry *lower_dentry;
1091 lower_dentry = ecryptfs_dentry_to_lower(dentry);
1098 rc = __vfs_removexattr(lower_dentry, name);