another location where EHOSTUNREACH can be returned
such that we can timeout the request immediately
(cherry picked from commit f7b9cd54e50e553486c2ad850df1a8ecaee0d954)
This patch fixes several issues:
* the smb virtual circuits can be active and/or dead. this patch
improves the handling of vc's making the transition from active
to dead
* correct the refcounts on the smb_user_t and smb_vc_t objects
* replace the deprecated GetCurrentTime() with GetTickCounts() which
is the new name. This function needs to be replaced with something
else because its return value wraps after 49.7 days
* hold the correct locks when adjusting the scp->fileLocksH queue
(cherry picked from commit 880a6b66a5477e092d5bb74febbf24639d786c64)
move allocations for SYS_NAME_ID_amd64_w2k and SYS_NAME_ID_i64_w2k to avoid
conflicts
(cherry picked from commit fb6d1dacfc256386f32f59fe4335b546a7d368c3)
the smb_username_t objects are reference counted but they were never
released on their own accord. Instead the smb_uid_t objects when
released were also cleaning up the smb_username_t. Since the smb_username_t
is reused, now that smb_user_t objects are being cleaned up, this was
a problem.
(cherry picked from commit a9df3ca715f483a31c14b72bae3f548a4c9291d4)
When SMB sessions are prematurely terminated as part of the tear down
of the virtual circuit we must clean up any remaining file handles,
tree connections, and user sessions.
(cherry picked from commit 78c40badbd8c65d82f6c384fdff8056c03100b67)
* Update architectural documentation
* Allow locks to be obtained as soon as it is possible instead of
enforcing a requirement that locks be granted in order.
* Fix other bugs
* Disable byte range lock processing
(cherry picked from commit f057d9515c72609e4ca9e51ff96f658689679497)
don't improperly enforce read attribute restriction on child instead of parent
when it's a directory
avoid screwing ourselves on mode 0 files, also
(cherry picked from commit e07a781b20272a629f73cf8b2377ee8e3bd6cd99)
These can go now that we have POD versions of, in most cases, newer
versions of the same documentation.
(cherry picked from commit 5d2b5780c463af51ffa264386daff210c633263f)
The afs_pioctl.c change should fix a real crash (panic), but fs flushv isn't
that common an operation.
Other changes:
don't GUNLOCK() around vnode_get(). we weren't consistent about it, and it
doesn't appear to be strictly required.
handle vnode_get() failures in more cases
darwin_vn_hold will panic if vnode is terminating rather than mess up the
refcounts.
(cherry picked from commit 8b015a5e325b52969203d0647f67945ab7e402cc)
The procmgmt library replaces the C RunTime Library's signal handlers
but does not restore them on process detachment. This leaves the
process with signal handlers pointing to invalid code that generates
an invalid access error during process termination if the library
was previously unloaded.
(cherry picked from commit 3875eec844609443710d3b98a2ac795d7f2d9121)
FIXES 22644
cache_purge() to hint to darwin that we changed something instead of letting it cache invalid data
(cherry picked from commit 518bebb032c410a520a8923a16263e605370d60c)
potential reclaim in progress fix, and per Chaskiel,
"I don't remember why I put it there, but the fact that
it gets triggered means that we're leaking a vcache object lock. It looks
like the "rename to .__afsXXXX" codepath is responsible (as afsrename does
not use the fact that adp (or aodp) is locked by afs_remove, and locks it
again. I'm surprised it's not deadlocking)" so i coded up a fix
====================
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.
====================
chaskiel says
The RHS shouldn't be a double negative...
There's no bug (other than the assert itself)
(cherry picked from commit 97ebc776712b455b1e85df598b61ba6c847ca0a6)
The ocfs2 patch renames WRITEPAGE_ACTIVE to AOP_WRITEPAGE_ACTIVE, and
Ubuntu has applied that patch to their version of the kernel. Allow for
either.
(cherry picked from commit 37147a406e5a44d762c976773d7f3bd01154460a)
when collecting rx statistics in response to an RPC query, the rx library
attempts to enumerate the number file descriptors in use. This is fine
except that file descriptors are a C Run Time Library concept on Windows
and are not related to networking. In Visual Studio 8, the run time library
will assert() if an invalid file descriptor is passed to fstat() which is
the test used to determine if a file descriptor is valid.
This patch simply returns 0 for the number of file descriptors in use
because that is what would have been returned anyway with the existing
code. What we probably want to return is the number of open socket
handles.
(cherry picked from commit 8c3cf4b89445d969c9f85e929d5e030f53773f81)
this patch replaces the single address in the Interface structure
with an AddrPort structure. This enables the servers to send
messages to the correct port if the port on the Interface does not
match the port stored in the client itself.
(cherry picked from commit 71f9628a437e0ac7b9b9754d71c06ca5c3408061)
FIXES 24267
must provide prototype for osi_Alloc() on systems with 64-bit pointers
and 32-bit int
(cherry picked from commit d00359b24139753b8f6a62c6a9137c8f8ccd3b7e)
FIXES 24267
include rx.h in order to safely include rx_prototypes.h in order
to obtain a prototype for osi_Alloc() in order to prevent pointer
truncation on systems with 64-bit pointers and 32-bit int.
(cherry picked from commit f75b0075a79807eaae4e071ea4d0f3bd60d7f547)
If osi_InitDebug() fails due to RPC_S_NO_PROTSEQS, log to the afsd_init.log
file a warning indicating that the registry should be examined for a
misconfiguration of Windows.
(cherry picked from commit 8204b5968c0181e094f8369b94c5a4cf1a9de04a)
prevent a panic condition if "fs setserverprefs -vlserver" is executed
more than once before the vlserver is associated with a cell.
(cherry picked from commit b99bd38da60f374a03382090fdaae906a00c8428)
FIXES 22905
NetBSD 2.1 doesn't have statvfs, but the version numbering scheme changed
so the test was getting this wrong.
(cherry picked from commit cd6e2b99298bbb12d09b92b6b86de7f811f4e803)
FIXES 23317
Look for the shared library mapfile in ${srcdir} on Linux to allow for out
of srcdir builds.
(cherry picked from commit 77d0369d3bdeab78b02f306644ddb6133e1a1484)
fix rainer toebbicke's callbacks vanishing issue. this was probably my fault merging
(cherry picked from commit 05db09ada10f83666a8d46e734d26656e99397f2)