[OpenAFS] State of OpenAFS

Craig_Everhart@transarc.com Craig_Everhart@transarc.com
Wed, 27 Feb 2002 11:53:57 -0500 (EST)


Excerpts from mail: 27-Feb-02 Re: [OpenAFS] State of OpenAFS "Todd M.
Lewis"@email.un (3084*)

> Wout Mertens wrote:
> > 
> > [...] Also, afs does write-on-close, does it
> > write-on-flush as well?

> You're probably thinking about flush as in fflush(3) which only flushes
> buffered user space data.  As far as AFS is concerned, writes don't
> happen until the user space buffers flush, so no, AFS doesn't do
> write-on-flush.

Assuming that he was thinking about fsync() as a flush operation, then
yes, AFS [semantically equivalent to "OpenAFS" here] does
write-on-flush.  Without assumptions, AFS does store-on-fsync().  It
also does store-on-close(), but you knew that.

> But what appears to be the case from my experience is that AFS handles
> flushed writes in O_APPEND mode much the same as write-on-close, only
> without the close.  I can't say that's actually how it's implemented,
> however.

> > Are these really problems?

> They really are issues, but once you understand how they work, they're
> just more basic assumptions that you work with/from.  Whether that
constitutes a problem is your call.

Yup.  My favorite way to dodge the problem if you have an application on
client A doing appends to file X, and you are reading file X from a
separate client B, is to have a separate process on client A (or the
application if it's possible) periodically open file X and issue an
fsync() call on it.  Another, perhaps cleaner, way to do this is to use
DCE/DFS, but that isn't what you likely wanted to know.

> > Anything else that is different versus 'regular' unix filesystems?

All the things that Todd Lewis said.  Setuid/setgid attributes don't
confer AFS permissions; they confer permissions only to operations local
to the client.  (This is inherent in an "untrusted client"
architecture.)  Authenticating the client is idiosyncratic with AFS, and
there are some concepts that may surface as you work around them, like
using PAGs.  PAM does a pretty good job, though.

		Craig