]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
journaler: fix do_flush adjustment
authorSage Weil <sage@newdream.net>
Mon, 18 Apr 2011 22:32:43 +0000 (15:32 -0700)
committerSage Weil <sage@newdream.net>
Mon, 18 Apr 2011 22:32:43 +0000 (15:32 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/osdc/Journaler.cc

index a796c70cd5ad2314d1dbb388f36753d717cc0922..e1620cf0e6824c8ad280d1154074ca8d1f93607c 100644 (file)
@@ -478,9 +478,11 @@ void Journaler::_do_flush(unsigned amount)
       waiting_for_zero = true;
       return;
     }
-    dout(10) << "_do_flush wanted to do " << flush_pos << "~" << len << " but hit prezero_pos " << prezero_pos
-            << ", will do " << flush_pos << "~" << newlen << dendl;
-    len = newlen;
+    if (newlen < len) {
+      dout(10) << "_do_flush wanted to do " << flush_pos << "~" << len << " but hit prezero_pos " << prezero_pos
+              << ", will do " << flush_pos << "~" << newlen << dendl;
+      len = newlen;
+    }
   }
   dout(10) << "_do_flush flushing " << flush_pos << "~" << len << dendl;