Kim Kimball wrote:

> Read/write data is also cached.  If not changed it remains cached.  If
> changed and pushed back to the file server it is marked stale in the
> other client caches and fetched again by other clients only if it is
> requested again.
> 
> Caching is whole-file, so if a large file is changed on client A and was
> previously cached on client B, when client B requests the file again it
> notices it is marked as stale and fetches the entire file from the file
> server by client B.

Caching in OpenAFS is not whole-file.  Caching is performed in chunks.
Only the chunks that are actually requested by the client will be placed
into the cache.  Chunks are stored in a least-recently-used list and are
recycled last use first.

If a change to a file occurs by another client, all of the previously
cached chunks for a client will be discarded.  Only the chunks that are
requested in the future will be re-read from the file server.

> (Since client A made the changes the file is already cached on client
> A.  Writes to cached AFS files go first to the AFS cache and then back
> to the AFS file server on flushes or closes or syncs.)

On Windows, the writes are written back to the file server in real time.
 The Windows client does not implement the write-on-close semantics of
the UNIX client.

Jeffrey Altman
Secure Endpoints Inc.




Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to