]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PG: only raise PG's last_user_version if entry is >
authorSage Weil <sage@inktank.com>
Sat, 31 Aug 2013 00:15:56 +0000 (17:15 -0700)
committerSage Weil <sage@inktank.com>
Sun, 1 Sep 2013 15:42:56 +0000 (08:42 -0700)
We may have pg entries that do not increase the user_version at all (i.e.,
they may be 0).  Do not update the last_user_version in that case as we
need it to remain an upper bound.

Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/PG.cc

index ef64fe379198500bae8957458fc5f3361a35f5d1..2b81856b202aa747935cbda7ba8666bdb79ae0c2 100644 (file)
@@ -2306,7 +2306,11 @@ void PG::add_log_entry(pg_log_entry_t& e, bufferlist& log_bl)
   // raise last_update.
   assert(e.version > info.last_update);
   info.last_update = e.version;
-  info.last_user_version = e.user_version;
+
+  // raise user_version, if it increased (it may have not get bumped
+  // by all logged updates)
+  if (e.user_version > info.last_user_version)
+    info.last_user_version = e.user_version;
 
   // log mutation
   pg_log.add(e);