Adam Megacz wrote: > 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: > > http://bugs.darcs.net/issue117 > > 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?
It should. There have been recent reports that this may not be true on some platforms either because of a bug. However, insufficient data has been collected to determine if in fact this is a bug. If it is a bug I suspect it is a bug in the client on some bug not all platforms. > 2. If two processes both attempt to rename() the same [source] file, > does AFS guarantee that exactly one of them succeeds? It should. Again, if this is not true it would be a bug in the client. > 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? Not possible. AFS does not distribute changes to clients. It simply notifies clients that the known state of the object has changed. The client could find out about the first change or the combination of the first and second changes, but never the second and not the first. > Thanks, > > - a It is possible to test whether or not a path is located within AFS by using "fs whichcell <path>". If it returns successfully, you have an AFS path. If not, then not. Darcs might want to test this to determine whether or not alternative behaviors should be used. Jeffrey Altman
smime.p7s
Description: S/MIME Cryptographic Signature
