From d18f3c2dd234a0d13e1b82e9fddda61358f9bdf9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 3 Mar 2012 15:39:06 -0800 Subject: [PATCH] mds: don't force in->first == dn->first The fullbit sets it now. For multiversion inodes, it's "first" can be in the future, since this dentry may not have changed when the inode was cowed in place. (OTOH, the dentry cannot have changed without the inode also have changing.) Signed-off-by: Sage Weil --- src/mds/journal.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mds/journal.cc b/src/mds/journal.cc index b25096c994d47..20bc755644a23 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -573,7 +573,8 @@ void EMetaBlob::replay(MDS *mds, LogSegment *logseg) } else { dout(10) << "EMetaBlob.replay for [" << p->dnfirst << "," << p->dnlast << "] had " << *in << dendl; } - in->first = p->dnfirst; + assert(in->first == p->dnfirst || + (in->is_multiversion() && in->first > p->dnfirst)); } } -- 2.39.5