Lines Matching refs:subdir

89 	struct dentry *subdir;  in cachefiles_get_directory()  local
101 subdir = lookup_one(&nop_mnt_idmap, &QSTR(dirname), dir); in cachefiles_get_directory()
103 subdir = ERR_PTR(ret); in cachefiles_get_directory()
104 trace_cachefiles_lookup(NULL, dir, subdir); in cachefiles_get_directory()
105 if (IS_ERR(subdir)) { in cachefiles_get_directory()
107 PTR_ERR(subdir), in cachefiles_get_directory()
109 if (PTR_ERR(subdir) == -ENOMEM) in cachefiles_get_directory()
115 subdir, d_backing_inode(subdir) ? "positive" : "negative"); in cachefiles_get_directory()
118 if (d_is_negative(subdir)) { in cachefiles_get_directory()
128 ret = security_path_mkdir(&path, subdir, 0700); in cachefiles_get_directory()
133 subdir = vfs_mkdir(&nop_mnt_idmap, d_inode(dir), subdir, 0700); in cachefiles_get_directory()
135 subdir = ERR_PTR(ret); in cachefiles_get_directory()
136 if (IS_ERR(subdir)) { in cachefiles_get_directory()
141 trace_cachefiles_mkdir(dir, subdir); in cachefiles_get_directory()
143 if (unlikely(d_unhashed(subdir) || d_is_negative(subdir))) { in cachefiles_get_directory()
144 dput(subdir); in cachefiles_get_directory()
147 ASSERT(d_backing_inode(subdir)); in cachefiles_get_directory()
150 subdir, d_backing_inode(subdir)->i_ino); in cachefiles_get_directory()
156 inode_lock(d_inode(subdir)); in cachefiles_get_directory()
159 if (!__cachefiles_mark_inode_in_use(NULL, d_inode(subdir))) { in cachefiles_get_directory()
161 subdir, d_inode(subdir)->i_ino); in cachefiles_get_directory()
165 inode_unlock(d_inode(subdir)); in cachefiles_get_directory()
168 ASSERT(d_backing_inode(subdir)); in cachefiles_get_directory()
170 if (!d_can_lookup(subdir)) { in cachefiles_get_directory()
177 if (!(d_backing_inode(subdir)->i_opflags & IOP_XATTR) || in cachefiles_get_directory()
178 !d_backing_inode(subdir)->i_op->lookup || in cachefiles_get_directory()
179 !d_backing_inode(subdir)->i_op->mkdir || in cachefiles_get_directory()
180 !d_backing_inode(subdir)->i_op->rename || in cachefiles_get_directory()
181 !d_backing_inode(subdir)->i_op->rmdir || in cachefiles_get_directory()
182 !d_backing_inode(subdir)->i_op->unlink) in cachefiles_get_directory()
185 _leave(" = [%lu]", d_backing_inode(subdir)->i_ino); in cachefiles_get_directory()
186 return subdir; in cachefiles_get_directory()
189 cachefiles_put_directory(subdir); in cachefiles_get_directory()
194 inode_unlock(d_inode(subdir)); in cachefiles_get_directory()
195 dput(subdir); in cachefiles_get_directory()
200 if (!IS_ERR(subdir)) in cachefiles_get_directory()
201 dput(subdir); in cachefiles_get_directory()
207 ret = PTR_ERR(subdir); in cachefiles_get_directory()