]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix replay of hard links
authorSage Weil <sage@newdream.net>
Mon, 23 Nov 2009 21:47:01 +0000 (13:47 -0800)
committerSage Weil <sage@newdream.net>
Mon, 23 Nov 2009 21:52:07 +0000 (13:52 -0800)
Use dir->link_remote_inode, not raw function, so that the CDir accounting
gets set up.

src/mds/journal.cc

index 6e33083d17d7d4d6a0ebef084fbd1060793bacc4..8107cd32056c41b7992aaae5df68f729afb4b2fa 100644 (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;