windows-afsd-freelance-20090105
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 5 Jan 2009 16:20:08 +0000 (16:20 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 5 Jan 2009 16:20:08 +0000 (16:20 +0000)
commit8c4b06a5b62a07d4d6733b313ad404e1cb6abe8d
treef5a563f51f8f2613ecbeb01c05f3eec237f458cd
parent02cd4c510b2b9e2293e33372c39bd8b62089236b
windows-afsd-freelance-20090105

LICENSE MIT

Bring a bit more sanity to the Freelance code:

1. Add functions cm_FreelanceFetchMountPointString and
   cm_FreelanceFetchFileType to cm_freelance.c.  These functions
   permit the MountPointString and FileType to be obtained within
   cm_GetSCache without requiring knowledge of data structures
   that should be private to cm_freelance.c

2. Enforce the rule that odd vnode values are directory objects.
   The root directory is 1 and everything else must be a multiple
   of two.

3. Use the unique field as an index into the localMountPoints
   array.

4. Fix cm_GetCallback to process freelance data refreshes on
   all objects in the freelance volume not just the root directory.
   If this is not done, an access to \\afs\foo prior to \\afs\all
   being evaluated will cause an unnecessary attempt to send a
   fetch status request to a file server and produce an alldown
   error.
src/WINNT/afsd/afsd.h
src/WINNT/afsd/cm_callback.c
src/WINNT/afsd/cm_freelance.c
src/WINNT/afsd/cm_freelance.h
src/WINNT/afsd/cm_scache.c
src/WINNT/afsd/cm_vnodeops.c