]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: only adjust dn->first on lock msg if !multiversion
authorSage Weil <sage@newdream.net>
Thu, 3 Jun 2010 20:08:16 +0000 (13:08 -0700)
committerSage Weil <sage@newdream.net>
Thu, 3 Jun 2010 20:08:16 +0000 (13:08 -0700)
The multiversion dn->first references a range of inode versions; don't
drag it forward.  Fixes 38cb2403c043e6676b563197d086edeb11b71ddf.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/CInode.cc

index ea82eb806a199f1517b7ac4d0b99eb7d29118df4..a0a9d2fdd47f111f8f4076adee44fb6da88ed23c 100644 (file)
@@ -977,7 +977,7 @@ void CInode::decode_lock_state(int type, bufferlist& bl)
   if (!is_auth() && newfirst != first) {
     dout(10) << "decode_lock_state first " << first << " -> " << newfirst << dendl;
     assert(newfirst > first);
-    if (parent) {
+    if (!is_multiversion() && parent) {
       assert(parent->first == first);
       parent->first = newfirst;
     }