Where the the correctness go?
Posted Mar 15, 2009 2:42 UTC (Sun) by njs
In reply to: Where the the correctness go?
Parent article: Ts'o: Delayed allocation and the zero-length file problem
> There's a window there where it can leave you with baz~ and baz.new, but
no baz, on crash.
Yeah, 3.f is supposed to say "link", not "rename". (Programming against POSIX correctly makes those Raymond Smullyan books seem like light reading. If only everything else weren't worse...)
> Why doesn't someone add real DB-style transactions to at least one
filesystem, again? They'd be really useful...
The problem is that a filesystem has a bazillion mostly independent "transactions" going on all the time, and no way to tell which ones are actually dependent on each other. (Besides, app developers would just screw up their rollback-and-retry logic anyway...)
Completely off the wall solution: move to a plan9/capability-ish system where apps all live in little micro-worlds and can only see the stuff that is important to them (this is a good idea anyway), and then use these to infer safe but efficient transaction domain boundaries. (Anyone looking for a PhD project...?)
to post comments)