Since most of the disk operations are done through Berkeley DB, we would have
to figure out what their abstraction looks like. 
   
 Theoretically it ought to be as simple as checking to see whether a 
db->commit()
failed.  But I'm looking at the code and we are already calling abort() in
that case.  citserver should simply stop running if Berkeley DB can't make
a good commit to the disk. 
  
 This makes me wonder whether the people who report corruption on disk full
are actually doing Something Very Stupid (tm) to try to clean their disks
up, such as deleting log files that may not be fully committed.  I'll bet
they see the name "log" and think "this is like a syslog, I don't need it
right now" 
 

Reply via email to