[Metakit] Re: Metakit bug, could be critical

Jean-Claude Wippler jcw at equi4.com
Fri Nov 18 13:07:52 CET 2005


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



More information about the Metakit mailing list