Lines Matching refs:subdir

89 	struct dentry *subdir;  in cachefiles_get_directory()  local
101 subdir = lookup_one_len(dirname, dir, strlen(dirname)); 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 ret = vfs_mkdir(&nop_mnt_idmap, d_inode(dir), subdir, 0700); in cachefiles_get_directory()
139 trace_cachefiles_mkdir(dir, subdir); in cachefiles_get_directory()
141 if (unlikely(d_unhashed(subdir))) { in cachefiles_get_directory()
142 cachefiles_put_directory(subdir); in cachefiles_get_directory()
145 ASSERT(d_backing_inode(subdir)); in cachefiles_get_directory()
148 subdir, d_backing_inode(subdir)->i_ino); in cachefiles_get_directory()
154 inode_lock(d_inode(subdir)); in cachefiles_get_directory()
157 if (!__cachefiles_mark_inode_in_use(NULL, d_inode(subdir))) { in cachefiles_get_directory()
159 subdir, d_inode(subdir)->i_ino); in cachefiles_get_directory()
163 inode_unlock(d_inode(subdir)); in cachefiles_get_directory()
166 ASSERT(d_backing_inode(subdir)); in cachefiles_get_directory()
168 if (!d_can_lookup(subdir)) { in cachefiles_get_directory()
175 if (!(d_backing_inode(subdir)->i_opflags & IOP_XATTR) || in cachefiles_get_directory()
176 !d_backing_inode(subdir)->i_op->lookup || in cachefiles_get_directory()
177 !d_backing_inode(subdir)->i_op->mkdir || in cachefiles_get_directory()
178 !d_backing_inode(subdir)->i_op->rename || in cachefiles_get_directory()
179 !d_backing_inode(subdir)->i_op->rmdir || in cachefiles_get_directory()
180 !d_backing_inode(subdir)->i_op->unlink) in cachefiles_get_directory()
183 _leave(" = [%lu]", d_backing_inode(subdir)->i_ino); in cachefiles_get_directory()
184 return subdir; in cachefiles_get_directory()
187 cachefiles_put_directory(subdir); in cachefiles_get_directory()
192 inode_unlock(d_inode(subdir)); in cachefiles_get_directory()
193 dput(subdir); in cachefiles_get_directory()
198 dput(subdir); in cachefiles_get_directory()
204 ret = PTR_ERR(subdir); in cachefiles_get_directory()