On Friday, 21 February 2003 at 1:56:56 -0800, Terry Lambert wrote: > Vallo Kallaste wrote: >> The crashes and anomalies with filesystem residing on R5 volume were >> related to vinum(R5)/softupdates combo. The vinum R5 and system as >> a whole were stable without softupdates. Only one problem remained >> after disabling softupdates, while being online and user I/O going >> on, rebuilding of failed disk corrupt the R5 volume completely. >> Don't know is it fixed or not as I don't have necessary hardware at >> the moment. The only way around was to quiesce the volume before >> rebuilding, umount it, and wait until rebuild finished. I'll suggest >> extensive testing cycle for everyone who's going to work with >> vinum R5. Concat, striping and mirroring has been a breeze but not >> so with R5. > > I think this is an expected problem with a lot of concatenation, > whether through Vinum, GEOM, RAIDFrame, or whatever.
Can you be more specific? What you say below doesn't address any basic difference between virtual and real disks. > This comes about for the same reason that you can't "mount -u" > to turn Soft Updates from "off" to "on": Soft Updates does not > tolerate dirty buffers for which a dependency does not exist, and > will crap out when a pending dirty buffer causes a write. I don't understand what this has to do with virtual disks. > This could be fixed in the "mount -u" case for Soft Updates, and it > can also be fixed for Vinum (et. al.). > > The key is the difference between a "mount -u" vs. a "umount ; mount", > which comes down to flushing and invalidating all buffers on the > underlying device, e.g.: > > vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p); > vinvalbuf(devvp, V_SAVE, NOCRED, p, 0, 0); > error = VOP_CLOSE(devvp, ronly ? FREAD : FREAD|FWRITE, FSCRED, p); > error = VOP_OPEN(devvp, ronly ? FREAD : FREAD|FWRITE, FSCRED, p); > VOP_UNLOCK(devvp, 0, p); > > ... Basically, after rebuilding, before allowing the mount to proceed, > the Vinum (and GEOM and RAIDFRame, etc.) code needs to cause all the > pending dirty buffers to be written. This will guarantee that there > are no outstanding dirty buffers at mount time, which in turn guarantees > that there will be no dirty buffers that the dependency tracking in > Soft Updates does not know about. I don't understand what you're assuming here. Certainly I can't see any relevance to Vinum, RAIDframe or any other virtual disk system. Greg -- See complete headers for address and phone numbers Please note: we block mail from major spammers, notably yahoo.com. See http://www.lemis.com/yahoospam.html for further details.
pgp00000.pgp
Description: PGP signature