From d7ecf255d339dcac04500806bcf86ee2e6036151 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 12 Jan 2009 16:52:10 -0800 Subject: [PATCH] mds: end of traverse may be indoe or projected_inode This may need a more general solution... --- src/mds/Server.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 05949998244b1..78bb3460d5a6e 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -1471,7 +1471,8 @@ CInode* Server::rdlock_path_pin_ref(MDRequest *mdr, if (mdr->ref) { if (mdr->trace.size()) { CDentry *last = mdr->trace[mdr->trace.size()-1]; - assert(last->get_inode() == mdr->ref); + assert(last->get_inode() == mdr->ref || + last->get_projected_inode() == mdr->ref); } dout(10) << "rdlock_path_pin_ref had snap " << mdr->ref_snapid << " " << *mdr->ref << dendl; return mdr->ref; @@ -1582,7 +1583,8 @@ CDentry* Server::rdlock_path_xlock_dentry(MDRequest *mdr, bool okexist, bool mus if (mdr->ref) { CDentry *last = mdr->trace[mdr->trace.size()-1]; - assert(last->get_inode() == mdr->ref); + assert(last->get_inode() == mdr->ref || + last->get_projected_inode() == mdr->ref); dout(10) << "rdlock_path_xlock_dentry had " << *last << " " << *mdr->ref << dendl; return last; } -- 2.39.5