Snapshot corruption.

Dan Nelson dnelson at allantgroup.com
Mon Nov 22 20:11:24 PST 2004


In the last episode (Nov 22), David Gilbert said:
> >>>>> "Brian" == Brian Fundakowski Feldman <green at freebsd.org> writes:
> Brian> Long strings of NUL bytes?  Missing data?  Spam (from the same
> Brian> file, or from other files)?
> 
> Well... I don't really know db file formats.  Most of the corruption
> I found in berkley db files.  mailgraph uses rrd.  mailman uses some
> form of berkley db, too.  I don't know what the corruption "looked"
> like other than the db library would no longer accept it.

db files are very fragile when it comes to OS or process crashes. There
is no logging, and writes are cached until the process exits or a
db->sync() is called, virtually guaranteeing corruption.  Ideally, db
files should only cache data and be rebuildable from other data, or
they should db->sync() after every write.  db 2+ databases can do
logging, but I don't know how many applications actually request it.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-stable mailing list