Serious bug in vinum?

From: João Carlos Mendes Luís (jonny_at_jonny.eng.br)
Date: 03/30/04

  • Next message: Mike Tancsa: "FAST_IPSEC bug fix"
    Date: Tue, 30 Mar 2004 00:32:38 -0300
    To: hackers@freebsd.org, stable@freebsd.org
    
    

        Sorry for the cross-posting, but nor the Author nor freebsd-bugs did
    acknowledge my message, and I think this is a very serious bug in vinum, leading
    to loss of data...

         If these are not the correct foruns for this, please forgive me and tell me
    which is the correct one.

    PS: Please CC: me, since I'm not currently subscribed to these lists.

    ====================================================
    Hi Greg,

         I've been a big fan of vinum since it's beggining. I use it for RAID0
    and RAID1 solution for lots of servers.

         In some RAID0 (stripe) configurations, though, I've had some serious
    problems. If an underlying disk fails, the respective plex and volume do
    not fail, as they should. This leads to full corruption of data, but worst
    of that, leads to a system which believes the data is safe. In one ocasion,
    for example, the backup ran and overwrote good data with bad data, full of
    zeros.

         I am not fully aware of vinum programming details, but a quick look at
    4.9-STABLE, in file vinumstate.c, dated Jul, 7, 2000, at line 588, function
    update_volume_state() sets volume state to up if plex state is corrupt or
    better for at least one plex:

         for (plexno = 0; plexno < vol->plexes; plexno++) {
             struct plex *plex = &PLEX[vol->plex[plexno]]; /* point to the plex */
             if (plex->state >= plex_corrupt) { /* something
    accessible, */
                 vol->state = volume_up;
                 break;
             }
         }

         I think this should be like:

             if (plex->state > plex_corrupt) { /* something
    accessible, */

         Or, in other words, volume state is up only if plex state is degraded
    or better.

         I did not test this, since the situation is not easy to reproduce, but
    I think it depends only on the real meaning of the "corrupt" state.

         Thanks in advance for your attention,

                                    Jonny

    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  • Next message: Mike Tancsa: "FAST_IPSEC bug fix"

    Relevant Pages

    • Serious bug in vinum?
      ... If an underlying disk fails, the respective plex and volume do ... leads to a system which believes the data is safe. ... I think it depends only on the real meaning of the "corrupt" state. ...
      (freebsd-stable)
    • Re: Global warming test
      ... And of course the US leads the next best contender in CO2 emissions ... It will be interesting to see if the leftists go after China as much ... China is a corrupt brutal violent state where crony capitalism backed by an authoritarian corrupt government long ago replaced any pretense of "socialism" with one of the most vicious materialistic and corrupt regimes on the planet. ...
      (sci.military.naval)
    • Re: Global warming test
      ... matter emissions, while falling since a 1985 high, are still ... And of course the US leads the next best contender in CO2 emissions ... China is a corrupt brutal violent state where crony capitalism backed by ...
      (sci.military.naval)