]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't force in->first == dn->first
authorSage Weil <sage.weil@dreamhost.com>
Sat, 3 Mar 2012 23:39:06 +0000 (15:39 -0800)
committerSage Weil <sage@inktank.com>
Mon, 24 Dec 2012 04:01:13 +0000 (20:01 -0800)
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 <sage.weil@dreamhost.com>
src/mds/journal.cc

index b25096c994d475c528ca4065fff5cb61f3350c41..20bc755644a2366db1ac100c1e215a4f3ac67fd5 100644 (file)
@@ -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));
       }
     }