smb_ReleaseFID cannot be called while a cm_scache_t->mx is held
shuffle the order of the smb_ReleaseFID calls so they are always after
cm_XXXRelease calls for performance.
FIXES 43332
Some sites expect single-threaded volume attaches to happen in a specific
order. The parallel attach patch also changed the attach order for sites
not specifying -vattachpar.
FIXES 43551
kreltime-guard-against-null-tm-20060731 was apparently an
attempt to deal with the possibility of localtime() returning NULL by
using localtime_r instead, and zeroing the tm structure first. This has
two problems. First, localtime_r is not guaranteed to leave its output
buffer untouched or in a sane state in the event it is given invalid
input. More importantly, the second half of this delta fixed the build
on Windows (which apparently lacks localtime_r) at the expense of using
the wrong level of indirection on other platforms.
Simple is nice, but correct is important too. There is nothing wrong
with switching to localtime_r to avoid thread safety issues. However,
the correct fix for the anticipated problem was and is to check the
return value of localtime (or localtime_r), and if it is NULL, fill in
the ktime_date with suitable default values.
The attached patch does not implement the correct fix, but does fix the
double-indirection problem, so butc will again perform correctly instead
of crashing.
* don't DebugBreak unless a debugger is attached
* replace afsdcell.ini with CellServDB in error message
* do not NetBIOS Reset adapters when checking to see if only the loopback
is in use because doing so breaks the existing LANA bind
* remove a deadlock in smb3.c
* do not retry dirty buffer writes when flushing in response to a suspend
* do not flush in response to a suspend when only the loopback is present
fixup build dependencies for afsp_version.h
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
fixup copyrights
afsp_version.h is auto-generated
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
fix product version generation
FIXES 42312
iafs_InactiveVCache() calls afs_InvalidateAllSegments() which says
it should be called with the vnode locked. so the lock should
probably be moved to afs_InactiveVCache() so it can be droppped
before calling afs_remunlink().
#ifdef DEBUG_REFCOUNT the ref count log entries so they aren't always
compiled in
comment out the remaining location where the write lock on cm_scacheLock
is dropped in order to obtain the scache mutex on the object returned
from cm_GetNewSCache(). Dropping the lock results in more than one
thread being given the same cm_scache_t which is more dangerous than
blowing away the contents of the object without holding the mutex
ensure that cm_BufWrite is always called with a non-NULL scp. Add
an assertion to double check that we do it all the time.
replace all DebugBreak() calls with osi_panic.
remove calls to cm_RecycleSCache from VNOVNODE handler as its not
lock safe to drop and re-obtain locks to adhere to the locking
hierarchy
restore reference to CM_SCACHESYNC_STOREDATA that should
not have been removed.
remove attempts to adhere to locking hierarching from cm_GetNewSCache.
dropping the cm_scacheLock is too dangerous
add a check to ensure that the scache refcount is not zero if there
is a valid smb_fid_t pointing to it.
more debug logging