Re: filesystem transactions API

John Stoffel
2005-04-26T15:02:03Z

>>>>> "Jamie" == Jamie Lokier <jamie@shareable.org> writes:

Jamie> No. A transaction means that _all_ processes will see the
Jamie> whole transaction or not.

This is really hard. How do you handle the case where process X
starts a transaction modifies files a, b & c, but process Y has file b
open for writing, and never lets it go? Or the file gets unlinked?

Jamie> For example, you can use transactions for distro package
Jamie> management: a whole update of a package would be a single
Jamie> transaction, so that at no time does any program see an
Jamie> inconsistent set of files. See why _every_ process in the
Jamie> system must have the same view?

What about programs that are already open and running?

It might be doable in some sense, but I can see that details are
really hard to get right. Esp without breaking existing Unix
semantics.

But then again, I could be smoking something good (or bad :-) here, so
take what I say with a grain of salt.

John