Lines Matching refs:dn
1174 struct dentry *dn = *pdn; in splice_dentry() local
1177 BUG_ON(d_inode(dn)); in splice_dentry()
1201 if (!d_unhashed(dn)) in splice_dentry()
1202 d_drop(dn); in splice_dentry()
1203 realdn = d_splice_alias(in, dn); in splice_dentry()
1206 PTR_ERR(realdn), dn, in, ceph_vinop(in)); in splice_dentry()
1213 dn, d_count(dn), in splice_dentry()
1216 dput(dn); in splice_dentry()
1219 BUG_ON(!ceph_dentry(dn)); in splice_dentry()
1221 dn, d_inode(dn), ceph_vinop(d_inode(dn))); in splice_dentry()
1273 struct dentry *dn, *parent; in ceph_fill_trace() local
1287 dn = d_lookup(parent, &dname); in ceph_fill_trace()
1289 parent, dname.len, dname.name, dn); in ceph_fill_trace()
1291 if (!dn) { in ceph_fill_trace()
1292 dn = d_alloc(parent, &dname); in ceph_fill_trace()
1294 dname.len, dname.name, dn); in ceph_fill_trace()
1295 if (!dn) { in ceph_fill_trace()
1301 } else if (d_really_is_positive(dn) && in ceph_fill_trace()
1302 (ceph_ino(d_inode(dn)) != tvino.ino || in ceph_fill_trace()
1303 ceph_snap(d_inode(dn)) != tvino.snap)) { in ceph_fill_trace()
1305 dn, d_inode(dn)); in ceph_fill_trace()
1307 d_delete(dn); in ceph_fill_trace()
1308 dput(dn); in ceph_fill_trace()
1312 req->r_dentry = dn; in ceph_fill_trace()
1363 struct dentry *dn = req->r_dentry; in ceph_fill_trace() local
1366 BUG_ON(!dn); in ceph_fill_trace()
1368 BUG_ON(d_inode(dn->d_parent) != dir); in ceph_fill_trace()
1395 dn, dn); in ceph_fill_trace()
1397 req->r_old_dentry, dn); in ceph_fill_trace()
1403 d_move(req->r_old_dentry, dn); in ceph_fill_trace()
1407 dn, dn); in ceph_fill_trace()
1411 ceph_invalidate_dentry_lease(dn); in ceph_fill_trace()
1420 req->r_old_dentry = dn; in ceph_fill_trace()
1421 dn = req->r_dentry; in ceph_fill_trace()
1427 if (d_really_is_positive(dn)) { in ceph_fill_trace()
1428 dout("d_delete %p\n", dn); in ceph_fill_trace()
1430 d_delete(dn); in ceph_fill_trace()
1432 if (d_unhashed(dn)) in ceph_fill_trace()
1433 d_add(dn, NULL); in ceph_fill_trace()
1434 update_dentry_lease(dir, dn, in ceph_fill_trace()
1442 if (d_really_is_negative(dn)) { in ceph_fill_trace()
1448 dn = req->r_dentry; /* may have spliced */ in ceph_fill_trace()
1449 } else if (d_really_is_positive(dn) && d_inode(dn) != in) { in ceph_fill_trace()
1451 dn, d_inode(dn), ceph_vinop(d_inode(dn)), in ceph_fill_trace()
1453 d_invalidate(dn); in ceph_fill_trace()
1458 update_dentry_lease(dir, dn, in ceph_fill_trace()
1462 dout(" final dn %p\n", dn); in ceph_fill_trace()
1553 static int fill_readdir_cache(struct inode *dir, struct dentry *dn, in fill_readdir_cache() argument
1582 dout("readdir cache dn %p idx %d\n", dn, ctl->index); in fill_readdir_cache()
1583 ctl->dentries[idx] = dn; in fill_readdir_cache()
1599 struct dentry *dn; in ceph_readdir_prepopulate() local
1683 dn = d_lookup(parent, &dname); in ceph_readdir_prepopulate()
1685 parent, dname.len, dname.name, dn); in ceph_readdir_prepopulate()
1687 if (!dn) { in ceph_readdir_prepopulate()
1688 dn = d_alloc(parent, &dname); in ceph_readdir_prepopulate()
1690 dname.len, dname.name, dn); in ceph_readdir_prepopulate()
1691 if (!dn) { in ceph_readdir_prepopulate()
1696 } else if (d_really_is_positive(dn) && in ceph_readdir_prepopulate()
1697 (ceph_ino(d_inode(dn)) != tvino.ino || in ceph_readdir_prepopulate()
1698 ceph_snap(d_inode(dn)) != tvino.snap)) { in ceph_readdir_prepopulate()
1699 struct ceph_dentry_info *di = ceph_dentry(dn); in ceph_readdir_prepopulate()
1701 dn, d_inode(dn)); in ceph_readdir_prepopulate()
1703 spin_lock(&dn->d_lock); in ceph_readdir_prepopulate()
1710 spin_unlock(&dn->d_lock); in ceph_readdir_prepopulate()
1712 d_delete(dn); in ceph_readdir_prepopulate()
1713 dput(dn); in ceph_readdir_prepopulate()
1718 if (d_really_is_positive(dn)) { in ceph_readdir_prepopulate()
1719 in = d_inode(dn); in ceph_readdir_prepopulate()
1724 d_drop(dn); in ceph_readdir_prepopulate()
1725 dput(dn); in ceph_readdir_prepopulate()
1735 if (d_really_is_negative(dn)) { in ceph_readdir_prepopulate()
1744 d_drop(dn); in ceph_readdir_prepopulate()
1751 if (d_really_is_negative(dn)) { in ceph_readdir_prepopulate()
1754 " (security xattr deadlock)\n", dn, in); in ceph_readdir_prepopulate()
1760 err = splice_dentry(&dn, in); in ceph_readdir_prepopulate()
1765 ceph_dentry(dn)->offset = rde->offset; in ceph_readdir_prepopulate()
1767 update_dentry_lease(d_inode(parent), dn, in ceph_readdir_prepopulate()
1772 ret = fill_readdir_cache(d_inode(parent), dn, in ceph_readdir_prepopulate()
1778 dput(dn); in ceph_readdir_prepopulate()