David Bear wrote:
since file locking is 'just around the corner' for openafs (at least
I'm hopeful) the question I have now is will (is) there be a way to
ask the server who has a particular file open. the afs server has to
keep track of which client has a file open in order to force the cache
manager to do its callback functions correct? If so, there should be a
way to query the afs server to see who has fileX open.

This would be a really nice feature...

At the present time there is no such functionality.   The way that
the server maintains each file's lock status with a timestamp and a simple counter that can be in one of three states:

   0:  no locks held

  >0:  one or more read locks are held

  -1:  a write lock is held

In order to ensure that a lock is not issued to a client that goes away
and never returns, a lock is issued with a five minute expiration time.
As long as some client within five minutes extends the lock, the lock
status will be maintained.

This implementation is light weight and fast but does not provide the
information necessary to implement a "WhoIsLocking" RPC. It is important to remember that the File Server does not know who has a
file open.  The File Server can possibly be aware of two things:

 * which clients are holding a valid callback for a given unit of
   data (volume, directory, file, ...) depending on the scope of the
   callbacks.

 * which clients are holding locks (assuming that the file server
   was re-written to keep track of such things.)

Holding a callback does not imply anything about the status of a file
being open.  It simply means that there is a valid copy of the data
being held in a client's cache.

Even if the file server did contain a list of valid locks, would an
RPC indicating IP addresses of lock holding clients be enough for you
or are you looking for a list of the authenticated user names on whose
behalf the locks were obtained?

Jeffrey Altman

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

Reply via email to