Lines Matching refs:dn
1457 struct dentry *dn = *pdn; in splice_dentry() local
1460 BUG_ON(d_inode(dn)); in splice_dentry()
1484 if (!d_unhashed(dn)) in splice_dentry()
1485 d_drop(dn); in splice_dentry()
1486 realdn = d_splice_alias(in, dn); in splice_dentry()
1489 PTR_ERR(realdn), dn, in, ceph_vinop(in)); in splice_dentry()
1495 dn, d_count(dn), realdn, d_count(realdn), in splice_dentry()
1497 dput(dn); in splice_dentry()
1500 BUG_ON(!ceph_dentry(dn)); in splice_dentry()
1501 doutc(cl, "dn %p attached to %p ino %llx.%llx\n", dn, in splice_dentry()
1502 d_inode(dn), ceph_vinop(d_inode(dn))); in splice_dentry()
1556 struct dentry *dn, *parent; in ceph_fill_trace() local
1588 dn = d_lookup(parent, &dname); in ceph_fill_trace()
1590 parent, dname.len, dname.name, dn); in ceph_fill_trace()
1592 if (!dn) { in ceph_fill_trace()
1593 dn = d_alloc(parent, &dname); in ceph_fill_trace()
1595 dname.len, dname.name, dn); in ceph_fill_trace()
1596 if (!dn) { in ceph_fill_trace()
1603 spin_lock(&dn->d_lock); in ceph_fill_trace()
1604 dn->d_flags |= DCACHE_NOKEY_NAME; in ceph_fill_trace()
1605 spin_unlock(&dn->d_lock); in ceph_fill_trace()
1608 } else if (d_really_is_positive(dn) && in ceph_fill_trace()
1609 (ceph_ino(d_inode(dn)) != tvino.ino || in ceph_fill_trace()
1610 ceph_snap(d_inode(dn)) != tvino.snap)) { in ceph_fill_trace()
1612 dn, d_inode(dn)); in ceph_fill_trace()
1614 d_delete(dn); in ceph_fill_trace()
1615 dput(dn); in ceph_fill_trace()
1620 req->r_dentry = dn; in ceph_fill_trace()
1666 struct dentry *dn = req->r_dentry; in ceph_fill_trace() local
1669 BUG_ON(!dn); in ceph_fill_trace()
1671 BUG_ON(d_inode(dn->d_parent) != dir); in ceph_fill_trace()
1696 req->r_old_dentry, req->r_old_dentry, dn, dn); in ceph_fill_trace()
1697 doutc(cl, "doing d_move %p -> %p\n", req->r_old_dentry, dn); in ceph_fill_trace()
1703 d_move(req->r_old_dentry, dn); in ceph_fill_trace()
1705 req->r_old_dentry, req->r_old_dentry, dn, dn); in ceph_fill_trace()
1709 ceph_invalidate_dentry_lease(dn); in ceph_fill_trace()
1719 req->r_old_dentry = dn; in ceph_fill_trace()
1720 dn = req->r_dentry; in ceph_fill_trace()
1726 if (d_really_is_positive(dn)) { in ceph_fill_trace()
1727 doutc(cl, "d_delete %p\n", dn); in ceph_fill_trace()
1729 d_delete(dn); in ceph_fill_trace()
1731 if (d_unhashed(dn)) in ceph_fill_trace()
1732 d_add(dn, NULL); in ceph_fill_trace()
1735 if (!d_unhashed(dn) && have_lease) in ceph_fill_trace()
1736 update_dentry_lease(dir, dn, in ceph_fill_trace()
1743 if (d_really_is_negative(dn)) { in ceph_fill_trace()
1749 dn = req->r_dentry; /* may have spliced */ in ceph_fill_trace()
1750 } else if (d_really_is_positive(dn) && d_inode(dn) != in) { in ceph_fill_trace()
1752 dn, d_inode(dn), ceph_vinop(d_inode(dn)), in ceph_fill_trace()
1754 d_invalidate(dn); in ceph_fill_trace()
1759 update_dentry_lease(dir, dn, in ceph_fill_trace()
1763 doutc(cl, " final dn %p\n", dn); in ceph_fill_trace()
1854 static int fill_readdir_cache(struct inode *dir, struct dentry *dn, in fill_readdir_cache() argument
1890 doutc(cl, "dn %p idx %d\n", dn, ctl->index); in fill_readdir_cache()
1891 ctl->dentries[idx] = dn; in fill_readdir_cache()
1909 struct dentry *dn; in ceph_readdir_prepopulate() local
1989 dn = d_lookup(parent, &dname); in ceph_readdir_prepopulate()
1991 parent, dname.len, dname.name, dn); in ceph_readdir_prepopulate()
1993 if (!dn) { in ceph_readdir_prepopulate()
1994 dn = d_alloc(parent, &dname); in ceph_readdir_prepopulate()
1996 dname.len, dname.name, dn); in ceph_readdir_prepopulate()
1997 if (!dn) { in ceph_readdir_prepopulate()
2003 spin_lock(&dn->d_lock); in ceph_readdir_prepopulate()
2004 dn->d_flags |= DCACHE_NOKEY_NAME; in ceph_readdir_prepopulate()
2005 spin_unlock(&dn->d_lock); in ceph_readdir_prepopulate()
2007 } else if (d_really_is_positive(dn) && in ceph_readdir_prepopulate()
2008 (ceph_ino(d_inode(dn)) != tvino.ino || in ceph_readdir_prepopulate()
2009 ceph_snap(d_inode(dn)) != tvino.snap)) { in ceph_readdir_prepopulate()
2010 struct ceph_dentry_info *di = ceph_dentry(dn); in ceph_readdir_prepopulate()
2012 dn, d_inode(dn)); in ceph_readdir_prepopulate()
2014 spin_lock(&dn->d_lock); in ceph_readdir_prepopulate()
2021 spin_unlock(&dn->d_lock); in ceph_readdir_prepopulate()
2023 d_delete(dn); in ceph_readdir_prepopulate()
2024 dput(dn); in ceph_readdir_prepopulate()
2029 if (d_really_is_positive(dn)) { in ceph_readdir_prepopulate()
2030 in = d_inode(dn); in ceph_readdir_prepopulate()
2035 d_drop(dn); in ceph_readdir_prepopulate()
2036 dput(dn); in ceph_readdir_prepopulate()
2047 if (d_really_is_negative(dn)) { in ceph_readdir_prepopulate()
2054 d_drop(dn); in ceph_readdir_prepopulate()
2061 if (d_really_is_negative(dn)) { in ceph_readdir_prepopulate()
2064 " (security xattr deadlock)\n", dn, in); in ceph_readdir_prepopulate()
2070 err = splice_dentry(&dn, in); in ceph_readdir_prepopulate()
2075 ceph_dentry(dn)->offset = rde->offset; in ceph_readdir_prepopulate()
2077 update_dentry_lease(d_inode(parent), dn, in ceph_readdir_prepopulate()
2082 ret = fill_readdir_cache(d_inode(parent), dn, in ceph_readdir_prepopulate()
2088 dput(dn); in ceph_readdir_prepopulate()