Lines Matching refs:dir

152 int ceph_fscrypt_prepare_context(struct inode *dir, struct inode *inode,  in ceph_fscrypt_prepare_context()  argument
159 ret = fscrypt_prepare_new_inode(dir, inode, &encrypted); in ceph_fscrypt_prepare_context()
214 struct inode *dir = NULL; in parse_longname() local
243 dir = ERR_PTR(ret); in parse_longname()
248 dir = ceph_find_inode(parent->i_sb, vino); in parse_longname()
249 if (!dir) { in parse_longname()
251 dir = ceph_get_inode(parent->i_sb, vino, NULL); in parse_longname()
252 if (IS_ERR(dir)) in parse_longname()
258 return dir; in parse_longname()
264 struct inode *dir = parent; in ceph_encode_encrypted_dname() local
276 if ((ceph_snap(dir) == CEPH_SNAPDIR) && (name_len > 0) && in ceph_encode_encrypted_dname()
278 dir = parse_longname(parent, iname.name, &name_len); in ceph_encode_encrypted_dname()
279 if (IS_ERR(dir)) in ceph_encode_encrypted_dname()
280 return PTR_ERR(dir); in ceph_encode_encrypted_dname()
285 if (!fscrypt_has_encryption_key(dir)) { in ceph_encode_encrypted_dname()
297 if (!fscrypt_fname_encrypted_size(dir, iname.len, NAME_MAX, &len)) { in ceph_encode_encrypted_dname()
310 ret = fscrypt_fname_encrypt(dir, &iname, cryptbuf, len); in ceph_encode_encrypted_dname()
336 if ((elen > 0) && (dir != parent)) { in ceph_encode_encrypted_dname()
340 elen, buf, dir->i_ino); in ceph_encode_encrypted_dname()
346 if (dir != parent) { in ceph_encode_encrypted_dname()
347 if ((dir->i_state & I_NEW)) in ceph_encode_encrypted_dname()
348 discard_new_inode(dir); in ceph_encode_encrypted_dname()
350 iput(dir); in ceph_encode_encrypted_dname()
381 struct inode *dir = fname->dir; in ceph_fname_to_usr() local
393 if ((ceph_snap(dir) == CEPH_SNAPDIR) && (name_len > 0) && in ceph_fname_to_usr()
395 dir = parse_longname(dir, name, &name_len); in ceph_fname_to_usr()
396 if (IS_ERR(dir)) in ceph_fname_to_usr()
397 return PTR_ERR(dir); in ceph_fname_to_usr()
401 if (!IS_ENCRYPTED(dir)) { in ceph_fname_to_usr()
408 ret = ceph_fscrypt_prepare_readdir(dir); in ceph_fname_to_usr()
416 if (!fscrypt_has_encryption_key(dir)) { in ceph_fname_to_usr()
450 ret = fscrypt_fname_disk_to_usr(dir, 0, 0, &iname, oname); in ceph_fname_to_usr()
451 if (!ret && (dir != fname->dir)) { in ceph_fname_to_usr()
455 oname->len, oname->name, dir->i_ino); in ceph_fname_to_usr()
463 if (dir != fname->dir) { in ceph_fname_to_usr()
464 if ((dir->i_state & I_NEW)) in ceph_fname_to_usr()
465 discard_new_inode(dir); in ceph_fname_to_usr()
467 iput(dir); in ceph_fname_to_usr()
484 int ceph_fscrypt_prepare_readdir(struct inode *dir) in ceph_fscrypt_prepare_readdir() argument
486 bool had_key = fscrypt_has_encryption_key(dir); in ceph_fscrypt_prepare_readdir()
489 if (!IS_ENCRYPTED(dir)) in ceph_fscrypt_prepare_readdir()
492 err = __fscrypt_prepare_readdir(dir); in ceph_fscrypt_prepare_readdir()
495 if (!had_key && fscrypt_has_encryption_key(dir)) { in ceph_fscrypt_prepare_readdir()
497 ceph_dir_clear_complete(dir); in ceph_fscrypt_prepare_readdir()