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.
(cherry picked from commit 69d62d59689c7cd9758177f1f23d3b60df3a8a40)
LICENSE MIT
When walking or modifying the cm_server_vols_t associated with a given
cm_server_t the mutex must be held. Otherwise, races can occur.
(cherry picked from commit b0bae13aec9acb944d5d6a64c11df857ffc40eb3)
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.
(cherry picked from commit 8a923a199d91aae6d1fc9bb6a2f1856fe5dbcb07)
LICENSE MIT
Refactor cm_UpdateVolumeStatus. Revise behavior to treat volid 0 as
update the volume status for all volumes in the volume group.
(cherry picked from commit 815cd6f19ec37330e7829506c1208c9426b3a41f)
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
(cherry picked from commit 150919d690eca9ee00d3ce549554a058662c360c)
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
(cherry picked from commit bb77b085ff420d8b13c1a71b3144b6b31258ad3d)
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.
(cherry picked from commit 111fb3a0a9525bb9d618dfa23cd1df3eb8eb61c5)
LICENSE MIT
corrects cb expiration that was broken by the osi_Time() -> time() change
in delta windows-readonly-volume-callbacks-20071109
(cherry picked from commit 89203eb7065d7bd4e2a40f2afd5fab979ddf1008)
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
(cherry picked from commit f54187bfc59797fe955e779d432d155ab3792022)
LICENSE IPL10
fix verbose vos dump to not put garbage in the stream when dumping to stdout
(cherry picked from commit b072deb257da24746e8c1ec2b01ff3b779e866c8)
LICENSE MIT
Modify the dependencies for building the cbd and file server resource
files and delete the resource files as part of 'clean'.
(cherry picked from commit 77c86d6fd39cb8e21f2028292e682155dd587803)
LICENSE IPL10
Do not include vsyslog on Windows.
Include syslog.h for the syslog() prototype.
(cherry picked from commit 059031b3c6ff61340daad288deb378dc48cbd43a)
LICENSE IPL10
make us able to autobuild with mock. (may need krb5-devel outside the
if krb5support; if we do more thought will be involved)
(cherry picked from commit fcc8aa021f6305209fb8cf638d5446206029f581)
LICENSE IPL10
if we can alloc more vnodes, and we are looking for vlru cycles, a legit
vnode is not indicative of a cycle.
(cherry picked from commit 51d6d9cbbc5971623097624a58e400cf8ab5e5ab)
LICENSE IPL10
get rid of cold_shutdown; it's in afs_prototypes.h.
log when we don't clean up memory
(cherry picked from commit b33fb96fff39c421064d03ff058dde76f2aeed8b)
LICENSE MIT
'tokenUser' can be dereferenced when NULL if GetTokenInformation() fails.
(cherry picked from commit 8f84815d0d8c9cc0b49eb29bfceeb03a7ae7f04f)
LICENSE IPL10
FIXES 77183
currently we can truncate the live database while we are doing recovery.
address that.
(cherry picked from commit 0f9529171c37c4ef1e76156da111d83d04b38505)
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.
(cherry picked from commit 649194188e4af21370faa1bf1217a887adae2572)
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.
(cherry picked from commit ef5e9a4dd7a4977d7d9f41266f2a0c491720e387)
LICENSE IPL10
store as a 32 bit value explicitly so 32 bit routines don't leave garbage around here.
(cherry picked from commit c057063abea93733170c1b31c91b52050a150a98)
LICENSE IPL10
don't do the dummy write on aix5. we are better off actually working
(cherry picked from commit 40307b60236c8e43321a31ab524ec6edd61cbabf)
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.
(cherry picked from commit c0a04c21cf36e4c8e25be9703f715f30d1bf55a6)
LICENSE IPL10
on linux 2.4 the try kbuild macro needs to try harder to notice what
symbols we don't have
(cherry picked from commit 55e581824fceea149b9a48ee928aa76e97c009a8)
LICENSE MIT
Move afslogon.dll and afscpcc.exe to the OpenAFS\Client\Program directory
(cherry picked from commit 68021a6f2bf692e20044bb932501112934a09bac)
LICENSE MIT
Add a registry value, FollowBackupPath, that provides the Windows cache
manager with functionality equivalent to the UNIX afsd -backuptree option.
(cherry picked from commit ab939a6216161cd6afab74e60ca87d376145651c)
LICENSE IPL10
Keep track of AddCallBack calls in cbstuff.
Increment cbstuff.DeleteCallBacks after holding H_LOCK
(cherry picked from commit 974ad01826f39c817834c6377cf2872177fa7031)
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.
(cherry picked from commit 946f416577914aef5b31e398994fb8876b4ee5e9)
LICENSE IPL10
FIXES 73720
apply analogous check that's in fileserver to clients writing to old servers
(cherry picked from commit d13cd42cb4e0b2fe3f91565eac37dc3f3e6d3270)
LICENSE IPL10
FIXES 77574
viced isn't an fssync client; avoid the convert volser code there
(cherry picked from commit 58dd384ba4020c924604ab612276948803333549)
LICENSE IPL10
avoid issue where nfs writes through the translator could become unpag'd because a background daemon came into play
(cherry picked from commit ebbd12f3ab83eafa0d8cd6978a45a4cc0b248334)