LICENSE BSD
Add some additional cross-references, add some missing man pages, fix a
few references to the OpenAFS manuals, document the -live flag to vos
move, and add an example for rxdebug.
LICENSE MIT
Remove the callback revoke optimization that prevents a (vol,vn,uniq)
tupple from invalidating entries from multiple cells. We cannot reliably
determine the cell from the server because the server might be identified
as belonging to more than one cell. For example, openafs.org and
grand.central.org.
LICENSE MIT
Windows Error Reporting received crashes caused by a failure to synchronize
the shutdown of the AFS client service with the background daemon threads.
The daemon threads (cm_Daemon, cm_BkgDaemon+, cm_IPAddrDaemon) could be
accessing data structures as they were being freed or unmapped.
Add synchronization mechanisms to signal the termination of the threads
with the shutdown of the service.
LICENSE MIT
This patch completes the implementation of smb_ReceiveTran2GetDFSReferral()
which is called by Vista even if we do not advertise the support of DFS
referrals. It also adds DFS link mapping notifications to the volstat
interface which can be used by volstat plug-ins to redirect requests to
the dfs target path.
Other miscellaneous items:
(1) return EAS_NOT_SUPPORTED instead of EA length 0 and silently accepting
but not storing EA data
(2) Call cm_VolStatus_Service_Started() before smb initialization instead
of afterwards
(3) During directory enumeration and link assembly push the UNC path into
the lower levels by storing references to the tidPath and the relative
paths within the cm_req_t object.
(4) During directory enumeration make absolutely sure that we do not
reference an unallocated cm_dirEntry_t object
(5) publish a prototype for cm_FollowMountPoint()
(6) return ERROR_RETRY instead of BAD_NETWORK_PATH if the server returns
VBUSY
(7) return PATH_NOT_COVERED instead of BADSHARENAME for DfsLinks when
a volstat plugin is in use
LICENSE MIT
(1) remove a race condition caused by holding and releasing the
cm_Freelance_Lock while using a pointer into a private freelance
data structure
(2) do not reference a localMountPoint object that is not allocated
(3) properly assign the DFSLINK file type
(4) update the buffer data versions when we update the contents of
the stat cache object and its buffers to match the registry
contents
LICENSE MIT
In the error case (1) reference the mountPointString instead of the
output of cm_AssembleLink() which was not generated and (2) do not
free memory and objects that were not allocated nor reference counted.
LICENSE IPL10
remove panic due to lock being grabbedin another thread can't be accurately
covered with this test on darwin, as e.g. proc_selfthread() is not in the KPI
LICENSE MIT
When a cm_MergeStatus operation determines that the current data buffers
are out of date, remove them from the buffer hash tables in order to speed
the lookup of valid data buffers.
LICENSE MIT
after removing cm_buf_t objects from the hash tables, clear the HT list
pointers to make debugging easier.
when modifying data version values in buf_ForceDataVersion() grab a
read lock on buf_globalLock instead of a write lock. A write lock is
only required if the hash table linked lists are being modified.
The dataVersion itself is protected by the cm_scache_t mx mutex being
held.
LICENSE IPL10
FIXES 59136
in order that the writes to CacheItems not be addled, we need to *actually*
hold a *write* lock when we write. not even just read as the comment says.
and certainly not none as was happening in the dir package.
LICENSE MIT
Add a registry value, FollowBackupPath, that provides the Windows cache
manager with functionality equivalent to the UNIX afsd -backuptree option.
LICENSE IPL10
Windows requires open() to be called with O_BINARY otherwise Ctrl-Z
means EOF which breaks dumpfile processing.
Be consistent about writing/reading time as afs_uint32 instead of
writing as afs_uint32 and reading as time_t since time_t can be 32-bit
or 64-bit depending on the platform.