Re: disk-full handling bug in MK 2.4.9.4:

$ cvs diff persist.cpp
Index: persist.cpp
===================================================================
RCS file: /home/cvs/metakit/src/persist.cpp,v
retrieving revision 1.26
diff -u -r1.26 persist.cpp
--- persist.cpp 28 Jan 2004 21:33:40 -0000      1.26
+++ persist.cpp 18 Nov 2005 02:41:28 -0000
@@ -684,6 +684,15 @@
     _nextSpace->Release(end0, 8);
     end0 -= 16; // overwrite existing tail markers
   } else {
+ /* 18-11-2005 write new end marker and flush it before *anything* else! */
+    if (!_fullScan && end0 < limit) {
+      c4_FileMark mark1 (limit, 0);
+      _strategy.DataWrite(limit, &mark1, sizeof mark1);
+      _strategy.DataCommit(0);
+      if (_strategy._failure != 0)
+       return;
+    }
+
c4_FileMark head (limit + 16 - end, _strategy._bytesFlipped, end > 0);
     _strategy.DataWrite(end, &head, sizeof head);

$

Confirmed and now in cvs HEAD. I will have a new release out in a few days.

-jcw

_____________________________________________
Metakit mailing list  -  [email protected]
http://www.equi4.com/mailman/listinfo/metakit

Reply via email to