summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-11-23 13:47:01 -0800
committerSage Weil <sage@newdream.net>2009-11-23 13:52:07 -0800
commitcf28787c7b10185ccecc0aefcda00d339f28bcf5 (patch)
tree45c7360e597de65d5108e9a5474464c75f7e111c
parent6d10f068d9d25fb3fdadeace966d52a352c6b50c (diff)
downloadceph-cf28787c7b10185ccecc0aefcda00d339f28bcf5.tar.gz
mds: fix replay of hard links
Use dir->link_remote_inode, not raw function, so that the CDir accounting gets set up.
-rw-r--r--src/mds/journal.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mds/journal.cc b/src/mds/journal.cc
index 6e33083d17d..8107cd32056 100644
--- a/src/mds/journal.cc
+++ b/src/mds/journal.cc
@@ -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;