Re: filesystem transactions API

Trond Myklebust
2005-04-26T15:20:22Z

ty den 26.04.2005 Klokka 11:01 (-0400) skreiv John Stoffel:
> >>>>> "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?

That is why implementing it as a form of lock makes sense.

> 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.

Wrong.

Cheers,
Trond
--
Trond Myklebust <trond.myklebust@fys.uio.no>