mds: fix replay of hard links

Use dir->link_remote_inode, not raw function, so that the CDir accounting
gets set up.
This commit is contained in:
Sage Weil 2009-11-23 13:47:01 -08:00
parent 6d10f068d9
commit cf28787c7b

View File

@ -527,7 +527,7 @@ void EMetaBlob::replay(MDS *mds, LogSegment *logseg)
dout(10) << "EMetaBlob.replay unlinking " << *dn << dendl;
dir->unlink_inode(dn);
}
dn->get_linkage()->set_remote(p->ino, p->d_type);
dir->link_remote_inode(dn, p->ino, p->d_type);
dn->set_version(p->dnv);
if (p->dirty) dn->_mark_dirty(logseg);
dout(10) << "EMetaBlob.replay for [" << p->dnfirst << "," << p->dnlast << "] had " << *dn << dendl;