[OpenAFS-devel] afs and byte-range locking ideas

Jim Doyle doyle@theworld.com
Wed, 5 Dec 2001 13:04:01 -0500


> Does DFS take a huge performance hit due to its support of byte-level
> locking?

Yes, there are a number of issues that come up with DCE/DFS.

There is a token protocol between the fileserver and cache manager that
provides for exclusive rights, synchronized read-writes, etc.  The token
meta-data is stored in memory in the fileserver instance and the
cache-mgr instance.  DFS fileservers could possibly require very large
memory footprints in a big cell with frequent concurrent R/W access to
files.

Another phenomenon with DFS is that when a file server crashes and
restarts, there is a "blackout" period in fileservice for some configured
period of time ; usually 15 minutes..  This period is called token state
recovery.  During TSR, the file server sits and waits for cache managers
who had prior been issues tokens to file to contact it to renew their
tokens... This is how the fileserver rebuilds its list of clients locks
after crash, and re-estabilishes the precedence on granting range order
access to files... If a cache mgr is unable to reach the file server
following the crash (i.e. network outage) - that cache manager simply
becomes S.O.L. and simply loses whatever rights it held on access locks.

Because the token protocol touches everything ; I doubt it would be
possible to make DFS work in disconnected mode operation.

There is a white paper on the DFS token protocol out there - I belive it
was among the DCE 1.2.2 documentation tar ball.  I havent touched DCE
stuff in years though ; and dont intend to ever again. :)


-- Jim