Lines Matching refs:dir

102 int ceph_fscrypt_prepare_context(struct inode *dir, struct inode *inode,  in ceph_fscrypt_prepare_context()  argument
109 ret = fscrypt_prepare_new_inode(dir, inode, &encrypted); in ceph_fscrypt_prepare_context()
165 struct inode *dir = NULL; in parse_longname() local
195 dir = ceph_find_inode(parent->i_sb, vino); in parse_longname()
196 if (!dir) { in parse_longname()
198 dir = ceph_get_inode(parent->i_sb, vino, NULL); in parse_longname()
199 if (IS_ERR(dir)) in parse_longname()
202 return dir; in parse_longname()
208 struct inode *dir = parent; in ceph_encode_encrypted_dname() local
216 if (ceph_snap(dir) == CEPH_SNAPDIR && *p == '_') { in ceph_encode_encrypted_dname()
217 dir = parse_longname(parent, p, &name_len); in ceph_encode_encrypted_dname()
218 if (IS_ERR(dir)) in ceph_encode_encrypted_dname()
219 return PTR_ERR(dir); in ceph_encode_encrypted_dname()
223 if (!fscrypt_has_encryption_key(dir)) in ceph_encode_encrypted_dname()
232 if (!fscrypt_fname_encrypted_size(dir, name_len, NAME_MAX, &len)) { in ceph_encode_encrypted_dname()
245 ret = fscrypt_fname_encrypt(dir, in ceph_encode_encrypted_dname()
273 if (dir != parent) // leading _ is already there; append _<inum> in ceph_encode_encrypted_dname()
274 elen += 1 + sprintf(p + elen, "_%ld", dir->i_ino); in ceph_encode_encrypted_dname()
278 if (dir != parent) { in ceph_encode_encrypted_dname()
279 if ((inode_state_read_once(dir) & I_NEW)) in ceph_encode_encrypted_dname()
280 discard_new_inode(dir); in ceph_encode_encrypted_dname()
282 iput(dir); in ceph_encode_encrypted_dname()
305 struct inode *dir = fname->dir; in ceph_fname_to_usr() local
317 if ((ceph_snap(dir) == CEPH_SNAPDIR) && (name_len > 0) && in ceph_fname_to_usr()
319 dir = parse_longname(dir, name, &name_len); in ceph_fname_to_usr()
320 if (IS_ERR(dir)) in ceph_fname_to_usr()
321 return PTR_ERR(dir); in ceph_fname_to_usr()
325 if (!IS_ENCRYPTED(dir)) { in ceph_fname_to_usr()
332 ret = ceph_fscrypt_prepare_readdir(dir); in ceph_fname_to_usr()
340 if (!fscrypt_has_encryption_key(dir)) { in ceph_fname_to_usr()
375 ret = fscrypt_fname_disk_to_usr(dir, 0, 0, &iname, oname); in ceph_fname_to_usr()
376 if (!ret && (dir != fname->dir)) { in ceph_fname_to_usr()
380 oname->len, oname->name, dir->i_ino); in ceph_fname_to_usr()
388 if (dir != fname->dir) { in ceph_fname_to_usr()
389 if ((inode_state_read_once(dir) & I_NEW)) in ceph_fname_to_usr()
390 discard_new_inode(dir); in ceph_fname_to_usr()
392 iput(dir); in ceph_fname_to_usr()
409 int ceph_fscrypt_prepare_readdir(struct inode *dir) in ceph_fscrypt_prepare_readdir() argument
411 bool had_key = fscrypt_has_encryption_key(dir); in ceph_fscrypt_prepare_readdir()
414 if (!IS_ENCRYPTED(dir)) in ceph_fscrypt_prepare_readdir()
417 err = __fscrypt_prepare_readdir(dir); in ceph_fscrypt_prepare_readdir()
420 if (!had_key && fscrypt_has_encryption_key(dir)) { in ceph_fscrypt_prepare_readdir()
422 ceph_dir_clear_complete(dir); in ceph_fscrypt_prepare_readdir()