Lines Matching refs:dentry

59 static int nfs_do_create(struct inode *dir, struct dentry *dentry,
589 .dentry = file_dentry(desc->file), in nfs_readdir_xdr_filler()
641 int nfs_same_file(struct dentry *dentry, struct nfs_entry *entry) in nfs_same_file() argument
646 if (d_really_is_negative(dentry)) in nfs_same_file()
649 inode = d_inode(dentry); in nfs_same_file()
726 void nfs_prime_dcache(struct dentry *parent, struct nfs_entry *entry, in nfs_prime_dcache()
731 struct dentry *dentry; in nfs_prime_dcache() local
732 struct dentry *alias; in nfs_prime_dcache()
756 dentry = d_lookup(parent, &filename); in nfs_prime_dcache()
758 if (!dentry) { in nfs_prime_dcache()
759 dentry = d_alloc_parallel(parent, &filename, &wq); in nfs_prime_dcache()
760 if (IS_ERR(dentry)) in nfs_prime_dcache()
763 if (!d_in_lookup(dentry)) { in nfs_prime_dcache()
765 if (!nfs_fsid_equal(&NFS_SB(dentry->d_sb)->fsid, in nfs_prime_dcache()
768 if (nfs_same_file(dentry, entry)) { in nfs_prime_dcache()
771 nfs_set_verifier(dentry, dir_verifier); in nfs_prime_dcache()
772 status = nfs_refresh_inode(d_inode(dentry), entry->fattr); in nfs_prime_dcache()
774 nfs_setsecurity(d_inode(dentry), entry->fattr); in nfs_prime_dcache()
776 dentry, 0, status); in nfs_prime_dcache()
780 d_inode(parent), dentry, 0); in nfs_prime_dcache()
781 d_invalidate(dentry); in nfs_prime_dcache()
782 dput(dentry); in nfs_prime_dcache()
783 dentry = NULL; in nfs_prime_dcache()
788 d_lookup_done(dentry); in nfs_prime_dcache()
792 inode = nfs_fhget(dentry->d_sb, entry->fh, entry->fattr); in nfs_prime_dcache()
793 alias = d_splice_alias(inode, dentry); in nfs_prime_dcache()
794 d_lookup_done(dentry); in nfs_prime_dcache()
798 dput(dentry); in nfs_prime_dcache()
799 dentry = alias; in nfs_prime_dcache()
801 nfs_set_verifier(dentry, dir_verifier); in nfs_prime_dcache()
802 trace_nfs_readdir_lookup(d_inode(parent), dentry, 0); in nfs_prime_dcache()
804 dput(dentry); in nfs_prime_dcache()
1225 struct dentry *dentry = file_dentry(file); in nfs_readdir() local
1226 struct inode *inode = d_inode(dentry); in nfs_readdir()
1430 static bool nfs_verifier_is_delegated(struct dentry *dentry) in nfs_verifier_is_delegated() argument
1432 return nfs_test_verifier_delegated(dentry->d_time); in nfs_verifier_is_delegated()
1435 static void nfs_set_verifier_locked(struct dentry *dentry, unsigned long verf) in nfs_set_verifier_locked() argument
1437 struct inode *inode = d_inode(dentry); in nfs_set_verifier_locked()
1438 struct inode *dir = d_inode_rcu(dentry->d_parent); in nfs_set_verifier_locked()
1444 dentry->d_time = verf; in nfs_set_verifier_locked()
1457 void nfs_set_verifier(struct dentry *dentry, unsigned long verf) in nfs_set_verifier() argument
1460 spin_lock(&dentry->d_lock); in nfs_set_verifier()
1461 nfs_set_verifier_locked(dentry, verf); in nfs_set_verifier()
1462 spin_unlock(&dentry->d_lock); in nfs_set_verifier()
1479 struct dentry *alias; in nfs_clear_verifier_delegated()
1494 static int nfs_dentry_verify_change(struct inode *dir, struct dentry *dentry) in nfs_dentry_verify_change() argument
1497 d_really_is_negative(dentry)) in nfs_dentry_verify_change()
1498 return dentry->d_time == inode_peek_iversion_raw(dir); in nfs_dentry_verify_change()
1499 return nfs_verify_change_attribute(dir, dentry->d_time); in nfs_dentry_verify_change()
1508 static int nfs_check_verifier(struct inode *dir, struct dentry *dentry, in nfs_check_verifier() argument
1511 if (IS_ROOT(dentry)) in nfs_check_verifier()
1515 if (!nfs_dentry_verify_change(dir, dentry)) in nfs_check_verifier()
1524 if (!nfs_dentry_verify_change(dir, dentry)) in nfs_check_verifier()
1613 int nfs_neg_need_reval(struct inode *dir, struct dentry *dentry, in nfs_neg_need_reval() argument
1623 return !nfs_check_verifier(dir, dentry, flags & LOOKUP_RCU); in nfs_neg_need_reval()
1627 nfs_lookup_revalidate_done(struct inode *dir, struct dentry *dentry, in nfs_lookup_revalidate_done() argument
1634 if (inode && (IS_ROOT(dentry) || in nfs_lookup_revalidate_done()
1649 if (inode && IS_ROOT(dentry)) in nfs_lookup_revalidate_done()
1653 trace_nfs_lookup_revalidate_exit(dir, dentry, 0, error); in nfs_lookup_revalidate_done()
1658 nfs_lookup_revalidate_negative(struct inode *dir, struct dentry *dentry, in nfs_lookup_revalidate_negative() argument
1662 if (nfs_neg_need_reval(dir, dentry, flags)) { in nfs_lookup_revalidate_negative()
1667 return nfs_lookup_revalidate_done(dir, dentry, NULL, ret); in nfs_lookup_revalidate_negative()
1671 nfs_lookup_revalidate_delegated(struct inode *dir, struct dentry *dentry, in nfs_lookup_revalidate_delegated() argument
1674 nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); in nfs_lookup_revalidate_delegated()
1675 return nfs_lookup_revalidate_done(dir, dentry, inode, 1); in nfs_lookup_revalidate_delegated()
1679 struct dentry *dentry, in nfs_lookup_revalidate_dentry() argument
1687 trace_nfs_lookup_revalidate_enter(dir, dentry, flags); in nfs_lookup_revalidate_dentry()
1696 ret = NFS_PROTO(dir)->lookup(dir, dentry, name, fhandle, fattr); in nfs_lookup_revalidate_dentry()
1710 nfs_set_verifier(dentry, dir_verifier); in nfs_lookup_revalidate_dentry()
1721 if (!ret && nfs_dentry_verify_change(dir, dentry)) in nfs_lookup_revalidate_dentry()
1723 return nfs_lookup_revalidate_done(dir, dentry, inode, ret); in nfs_lookup_revalidate_dentry()
1739 struct dentry *dentry, unsigned int flags) in nfs_do_lookup_revalidate() argument
1745 inode = d_inode(dentry); in nfs_do_lookup_revalidate()
1748 return nfs_lookup_revalidate_negative(dir, dentry, flags); in nfs_do_lookup_revalidate()
1752 __func__, dentry); in nfs_do_lookup_revalidate()
1756 if ((flags & LOOKUP_RENAME_TARGET) && d_count(dentry) < 2 && in nfs_do_lookup_revalidate()
1760 if (nfs_verifier_is_delegated(dentry)) in nfs_do_lookup_revalidate()
1761 return nfs_lookup_revalidate_delegated(dir, dentry, inode); in nfs_do_lookup_revalidate()
1765 nfs_check_verifier(dir, dentry, flags & LOOKUP_RCU)) { in nfs_do_lookup_revalidate()
1781 return nfs_lookup_revalidate_dentry(dir, name, dentry, inode, flags); in nfs_do_lookup_revalidate()
1783 return nfs_lookup_revalidate_done(dir, dentry, inode, 1); in nfs_do_lookup_revalidate()
1787 return nfs_lookup_revalidate_done(dir, dentry, inode, error); in nfs_do_lookup_revalidate()
1791 __nfs_lookup_revalidate(struct dentry *dentry, unsigned int flags) in __nfs_lookup_revalidate() argument
1794 if (dentry->d_fsdata == NFS_FSDATA_BLOCKED) in __nfs_lookup_revalidate()
1798 wait_var_event(&dentry->d_fsdata, in __nfs_lookup_revalidate()
1799 smp_load_acquire(&dentry->d_fsdata) in __nfs_lookup_revalidate()
1806 struct dentry *dentry, unsigned int flags) in nfs_lookup_revalidate() argument
1808 if (__nfs_lookup_revalidate(dentry, flags)) in nfs_lookup_revalidate()
1810 return nfs_do_lookup_revalidate(dir, name, dentry, flags); in nfs_lookup_revalidate()
1813 static void block_revalidate(struct dentry *dentry) in block_revalidate() argument
1816 kfree(dentry->d_fsdata); in block_revalidate()
1824 lockdep_assert_held(&dentry->d_lock); in block_revalidate()
1826 dentry->d_fsdata = NFS_FSDATA_BLOCKED; in block_revalidate()
1829 static void unblock_revalidate(struct dentry *dentry) in unblock_revalidate() argument
1831 store_release_wake_up(&dentry->d_fsdata, NULL); in unblock_revalidate()
1843 static int nfs_weak_revalidate(struct dentry *dentry, unsigned int flags) in nfs_weak_revalidate() argument
1845 struct inode *inode = d_inode(dentry); in nfs_weak_revalidate()
1855 __func__, dentry); in nfs_weak_revalidate()
1861 __func__, dentry); in nfs_weak_revalidate()
1874 static int nfs_dentry_delete(const struct dentry *dentry) in nfs_dentry_delete() argument
1877 dentry, dentry->d_flags); in nfs_dentry_delete()
1880 if (d_really_is_positive(dentry) && NFS_STALE(d_inode(dentry))) in nfs_dentry_delete()
1883 if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { in nfs_dentry_delete()
1887 if (!(dentry->d_sb->s_flags & SB_ACTIVE)) { in nfs_dentry_delete()
1914 static void nfs_dentry_iput(struct dentry *dentry, struct inode *inode) in nfs_dentry_iput() argument
1916 if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { in nfs_dentry_iput()
1917 nfs_complete_unlink(dentry, inode); in nfs_dentry_iput()
1923 static void nfs_d_release(struct dentry *dentry) in nfs_d_release() argument
1926 if (unlikely(dentry->d_fsdata)) { in nfs_d_release()
1927 if (dentry->d_flags & DCACHE_NFSFS_RENAMED) in nfs_d_release()
1930 kfree(dentry->d_fsdata); in nfs_d_release()
1944 struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, unsigned int flags) in nfs_lookup() argument
1946 struct dentry *res; in nfs_lookup()
1953 dfprintk(VFS, "NFS: lookup(%pd2)\n", dentry); in nfs_lookup()
1956 if (unlikely(dentry->d_name.len > NFS_SERVER(dir)->namelen)) in nfs_lookup()
1973 trace_nfs_lookup_enter(dir, dentry, flags); in nfs_lookup()
1974 error = NFS_PROTO(dir)->lookup(dir, dentry, &dentry->d_name, in nfs_lookup()
1985 inode = nfs_fhget(dentry->d_sb, fhandle, fattr); in nfs_lookup()
1994 res = d_splice_alias(inode, dentry); in nfs_lookup()
1998 dentry = res; in nfs_lookup()
2000 nfs_set_verifier(dentry, dir_verifier); in nfs_lookup()
2002 trace_nfs_lookup_exit(dir, dentry, flags, PTR_ERR_OR_ZERO(res)); in nfs_lookup()
2019 struct dentry *, unsigned int);
2031 static struct nfs_open_context *create_nfs_open_context(struct dentry *dentry, int open_flags, stru… in create_nfs_open_context() argument
2033 return alloc_nfs_open_context(dentry, flags_to_mode(open_flags), filp); in create_nfs_open_context()
2043 struct dentry *dentry, in nfs_finish_open() argument
2048 err = finish_open(file, dentry, do_open); in nfs_finish_open()
2059 int nfs_atomic_open(struct inode *dir, struct dentry *dentry, in nfs_atomic_open() argument
2065 struct dentry *res; in nfs_atomic_open()
2075 BUG_ON(d_inode(dentry)); in nfs_atomic_open()
2078 dir->i_sb->s_id, dir->i_ino, dentry); in nfs_atomic_open()
2086 if (!d_in_lookup(dentry)) { in nfs_atomic_open()
2098 if (dentry->d_name.len > NFS_SERVER(dir)->namelen) in nfs_atomic_open()
2115 if (!(open_flags & O_CREAT) && !d_in_lookup(dentry)) { in nfs_atomic_open()
2116 d_drop(dentry); in nfs_atomic_open()
2118 dentry = d_alloc_parallel(dentry->d_parent, in nfs_atomic_open()
2119 &dentry->d_name, &wq); in nfs_atomic_open()
2120 if (IS_ERR(dentry)) in nfs_atomic_open()
2121 return PTR_ERR(dentry); in nfs_atomic_open()
2122 if (unlikely(!d_in_lookup(dentry))) in nfs_atomic_open()
2123 return finish_no_open(file, dentry); in nfs_atomic_open()
2126 ctx = create_nfs_open_context(dentry, open_flags, file); in nfs_atomic_open()
2139 d_drop(dentry); in nfs_atomic_open()
2142 d_splice_alias(NULL, dentry); in nfs_atomic_open()
2147 nfs_set_verifier(dentry, dir_verifier); in nfs_atomic_open()
2164 err = nfs_finish_open(ctx, ctx->dentry, file, open_flags); in nfs_atomic_open()
2169 d_lookup_done(dentry); in nfs_atomic_open()
2170 dput(dentry); in nfs_atomic_open()
2175 res = nfs_lookup(dir, dentry, lookup_flags); in nfs_atomic_open()
2177 inode = d_inode(dentry); in nfs_atomic_open()
2195 d_lookup_done(dentry); in nfs_atomic_open()
2197 res = dentry; in nfs_atomic_open()
2199 dput(dentry); in nfs_atomic_open()
2209 struct dentry *dentry, unsigned int flags) in nfs4_lookup_revalidate() argument
2213 if (__nfs_lookup_revalidate(dentry, flags)) in nfs4_lookup_revalidate()
2216 trace_nfs_lookup_revalidate_enter(dir, dentry, flags); in nfs4_lookup_revalidate()
2220 if (d_mountpoint(dentry)) in nfs4_lookup_revalidate()
2223 inode = d_inode(dentry); in nfs4_lookup_revalidate()
2231 if (nfs_verifier_is_delegated(dentry)) in nfs4_lookup_revalidate()
2232 return nfs_lookup_revalidate_delegated(dir, dentry, inode); in nfs4_lookup_revalidate()
2243 if (!nfs_check_verifier(dir, dentry, flags & LOOKUP_RCU)) in nfs4_lookup_revalidate()
2251 return nfs_lookup_revalidate_dentry(dir, name, dentry, inode, flags); in nfs4_lookup_revalidate()
2254 return nfs_do_lookup_revalidate(dir, name, dentry, flags); in nfs4_lookup_revalidate()
2259 int nfs_atomic_open_v23(struct inode *dir, struct dentry *dentry, in nfs_atomic_open_v23() argument
2269 if (dentry->d_name.len > NFS_SERVER(dir)->namelen) in nfs_atomic_open_v23()
2274 error = nfs_do_create(dir, dentry, mode, open_flags); in nfs_atomic_open_v23()
2277 return finish_open(file, dentry, NULL); in nfs_atomic_open_v23()
2278 } else if (d_in_lookup(dentry)) { in nfs_atomic_open_v23()
2283 struct dentry *res = nfs_lookup(dir, dentry, 0); in nfs_atomic_open_v23()
2285 d_lookup_done(dentry); in nfs_atomic_open_v23()
2297 struct dentry *
2298 nfs_add_or_obtain(struct dentry *dentry, struct nfs_fh *fhandle, in nfs_add_or_obtain() argument
2301 struct dentry *parent = dget_parent(dentry); in nfs_add_or_obtain()
2304 struct dentry *d; in nfs_add_or_obtain()
2307 d_drop(dentry); in nfs_add_or_obtain()
2310 error = NFS_PROTO(dir)->lookup(dir, dentry, &dentry->d_name, in nfs_add_or_obtain()
2315 nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); in nfs_add_or_obtain()
2317 struct nfs_server *server = NFS_SB(dentry->d_sb); in nfs_add_or_obtain()
2323 inode = nfs_fhget(dentry->d_sb, fhandle, fattr); in nfs_add_or_obtain()
2324 d = d_splice_alias(inode, dentry); in nfs_add_or_obtain()
2337 int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle, in nfs_instantiate() argument
2340 struct dentry *d; in nfs_instantiate()
2342 d = nfs_add_or_obtain(dentry, fhandle, fattr); in nfs_instantiate()
2358 static int nfs_do_create(struct inode *dir, struct dentry *dentry, in nfs_do_create() argument
2367 dir->i_sb->s_id, dir->i_ino, dentry); in nfs_do_create()
2376 trace_nfs_create_enter(dir, dentry, open_flags); in nfs_do_create()
2377 error = NFS_PROTO(dir)->create(dir, dentry, &attr, open_flags); in nfs_do_create()
2378 trace_nfs_create_exit(dir, dentry, open_flags, error); in nfs_do_create()
2383 d_drop(dentry); in nfs_do_create()
2388 struct dentry *dentry, umode_t mode, bool excl) in nfs_create() argument
2390 return nfs_do_create(dir, dentry, mode, excl ? O_EXCL : 0); in nfs_create()
2399 struct dentry *dentry, umode_t mode, dev_t rdev) in nfs_mknod() argument
2405 dir->i_sb->s_id, dir->i_ino, dentry); in nfs_mknod()
2410 trace_nfs_mknod_enter(dir, dentry); in nfs_mknod()
2411 status = NFS_PROTO(dir)->mknod(dir, dentry, &attr, rdev); in nfs_mknod()
2412 trace_nfs_mknod_exit(dir, dentry, status); in nfs_mknod()
2417 d_drop(dentry); in nfs_mknod()
2425 struct dentry *nfs_mkdir(struct mnt_idmap *idmap, struct inode *dir, in nfs_mkdir()
2426 struct dentry *dentry, umode_t mode) in nfs_mkdir() argument
2429 struct dentry *ret; in nfs_mkdir()
2432 dir->i_sb->s_id, dir->i_ino, dentry); in nfs_mkdir()
2437 trace_nfs_mkdir_enter(dir, dentry); in nfs_mkdir()
2438 ret = NFS_PROTO(dir)->mkdir(dir, dentry, &attr); in nfs_mkdir()
2439 trace_nfs_mkdir_exit(dir, dentry, PTR_ERR_OR_ZERO(ret)); in nfs_mkdir()
2444 static void nfs_dentry_handle_enoent(struct dentry *dentry) in nfs_dentry_handle_enoent() argument
2446 if (simple_positive(dentry)) in nfs_dentry_handle_enoent()
2447 d_delete(dentry); in nfs_dentry_handle_enoent()
2451 struct dentry *dentry, int error) in nfs_dentry_remove_handle_error() argument
2455 if (d_really_is_positive(dentry)) in nfs_dentry_remove_handle_error()
2456 d_delete(dentry); in nfs_dentry_remove_handle_error()
2457 nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); in nfs_dentry_remove_handle_error()
2460 nfs_d_prune_case_insensitive_aliases(d_inode(dentry)); in nfs_dentry_remove_handle_error()
2461 nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); in nfs_dentry_remove_handle_error()
2465 int nfs_rmdir(struct inode *dir, struct dentry *dentry) in nfs_rmdir() argument
2470 dir->i_sb->s_id, dir->i_ino, dentry); in nfs_rmdir()
2472 trace_nfs_rmdir_enter(dir, dentry); in nfs_rmdir()
2473 if (d_really_is_positive(dentry)) { in nfs_rmdir()
2474 down_write(&NFS_I(d_inode(dentry))->rmdir_sem); in nfs_rmdir()
2475 error = NFS_PROTO(dir)->rmdir(dir, &dentry->d_name); in nfs_rmdir()
2479 clear_nlink(d_inode(dentry)); in nfs_rmdir()
2482 nfs_dentry_handle_enoent(dentry); in nfs_rmdir()
2484 up_write(&NFS_I(d_inode(dentry))->rmdir_sem); in nfs_rmdir()
2486 error = NFS_PROTO(dir)->rmdir(dir, &dentry->d_name); in nfs_rmdir()
2487 nfs_dentry_remove_handle_error(dir, dentry, error); in nfs_rmdir()
2488 trace_nfs_rmdir_exit(dir, dentry, error); in nfs_rmdir()
2501 static int nfs_safe_remove(struct dentry *dentry) in nfs_safe_remove() argument
2503 struct inode *dir = d_inode(dentry->d_parent); in nfs_safe_remove()
2504 struct inode *inode = d_inode(dentry); in nfs_safe_remove()
2507 dfprintk(VFS, "NFS: safe_remove(%pd2)\n", dentry); in nfs_safe_remove()
2510 if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { in nfs_safe_remove()
2515 trace_nfs_remove_enter(dir, dentry); in nfs_safe_remove()
2517 error = NFS_PROTO(dir)->remove(dir, dentry); in nfs_safe_remove()
2521 error = NFS_PROTO(dir)->remove(dir, dentry); in nfs_safe_remove()
2523 nfs_dentry_handle_enoent(dentry); in nfs_safe_remove()
2524 trace_nfs_remove_exit(dir, dentry, error); in nfs_safe_remove()
2534 int nfs_unlink(struct inode *dir, struct dentry *dentry) in nfs_unlink() argument
2539 dir->i_ino, dentry); in nfs_unlink()
2541 trace_nfs_unlink_enter(dir, dentry); in nfs_unlink()
2542 spin_lock(&dentry->d_lock); in nfs_unlink()
2543 if (d_count(dentry) > 1 && !test_bit(NFS_INO_PRESERVE_UNLINKED, in nfs_unlink()
2544 &NFS_I(d_inode(dentry))->flags)) { in nfs_unlink()
2545 spin_unlock(&dentry->d_lock); in nfs_unlink()
2547 write_inode_now(d_inode(dentry), 0); in nfs_unlink()
2548 error = nfs_sillyrename(dir, dentry); in nfs_unlink()
2557 if (WARN_ON(dentry->d_flags & DCACHE_NFSFS_RENAMED) || in nfs_unlink()
2558 WARN_ON(dentry->d_fsdata == NFS_FSDATA_BLOCKED)) { in nfs_unlink()
2559 spin_unlock(&dentry->d_lock); in nfs_unlink()
2562 block_revalidate(dentry); in nfs_unlink()
2564 spin_unlock(&dentry->d_lock); in nfs_unlink()
2565 error = nfs_safe_remove(dentry); in nfs_unlink()
2566 nfs_dentry_remove_handle_error(dir, dentry, error); in nfs_unlink()
2567 unblock_revalidate(dentry); in nfs_unlink()
2569 trace_nfs_unlink_exit(dir, dentry, error); in nfs_unlink()
2590 struct dentry *dentry, const char *symname) in nfs_symlink() argument
2599 dir->i_ino, dentry, symname); in nfs_symlink()
2616 trace_nfs_symlink_enter(dir, dentry); in nfs_symlink()
2617 error = NFS_PROTO(dir)->symlink(dir, dentry, folio, pathlen, &attr); in nfs_symlink()
2618 trace_nfs_symlink_exit(dir, dentry, error); in nfs_symlink()
2622 dentry, symname, error); in nfs_symlink()
2623 d_drop(dentry); in nfs_symlink()
2628 nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); in nfs_symlink()
2634 if (filemap_add_folio(d_inode(dentry)->i_mapping, folio, 0, in nfs_symlink()
2646 nfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry) in nfs_link() argument
2652 old_dentry, dentry); in nfs_link()
2654 trace_nfs_link_enter(inode, dir, dentry); in nfs_link()
2655 d_drop(dentry); in nfs_link()
2658 error = NFS_PROTO(dir)->link(inode, dir, &dentry->d_name); in nfs_link()
2660 nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); in nfs_link()
2662 d_add(dentry, inode); in nfs_link()
2664 trace_nfs_link_exit(inode, dir, dentry, error); in nfs_link()
2672 struct dentry *new_dentry = data->new_dentry; in nfs_unblock_rename()
2677 static bool nfs_rename_is_unsafe_cross_dir(struct dentry *old_dentry, in nfs_rename_is_unsafe_cross_dir()
2678 struct dentry *new_dentry) in nfs_rename_is_unsafe_cross_dir()
2714 struct dentry *old_dentry, struct inode *new_dir, in nfs_rename()
2715 struct dentry *new_dentry, unsigned int flags) in nfs_rename()
2719 struct dentry *dentry = NULL; in nfs_rename() local
2756 dentry = d_alloc(new_dentry->d_parent, in nfs_rename()
2758 if (!dentry) in nfs_rename()
2766 new_dentry = dentry; in nfs_rename()
2824 if (dentry) in nfs_rename()
2825 dput(dentry); in nfs_rename()