Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Dentry **pdn, bool expect_null)
{
// lookup
+ ldout(cct, 20) << "get_or_create " << *dir << " name " << name << dendl;
dir->open_dir();
if (dir->dir->dentries.count(name)) {
Dentry *dn = dir->dir->dentries[name];
Dir *Inode::open_dir()
{
if (!dir) {
+ dir = new Dir(this);
+ ldout(cct, 15) << "open_dir " << dir << " on " << this << dendl;
assert(dn_set.size() < 2); // dirs can't be hard-linked
if (!dn_set.empty())
(*dn_set.begin())->get(); // pin dentry
get(); // pin inode
- dir = new Dir(this);
}
return dir;
}