[OpenAFS] afs semantics

Adam Megacz megacz@cs.berkeley.edu
Fri, 09 Jun 2006 23:36:21 -0700

The people who write darcs (an incredibly powerful/flexible version
control system) are looking into making sure that it works properly on
AFS, and were looking for an authoritative, official statement of
exactly how AFS file semantics differ from UNIX semantics:


Specifically, can anybody comment on these points?

  1. If two processes on different clients both attempt to
     open(O_CREAT|O_EXCL), does AFS guarantee that no more than one of
     them will succeed?

  2. If two processes both attempt to rename() the same [source] file,
     does AFS guarantee that exactly one of them succeeds?

  3. If client "A" makes two inode-level changes (creat, remove,
     rename, etc), is it ever possible for client "B" to see the
     second change before the first one?


  - a

PGP/GPG: 5C9F F366 C9CF 2145 E770  B1B8 EFB1 462D A146 C380