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)
FIXES 23143
at least i'm guessing it fixes that one
fix memory leak for multilevel packet queue stuff
(cherry picked from commit 421e063d9b6500299b5e02b999b22c01dcc7c496)
correct the construction of the client name (with realm) when krb524
is being used.
(cherry picked from commit eeee5a9e14a693538a62565483db8f1b3d46cc99)
FIXES 23336
needs further testing, configure a low number of callbacks and hit the server.
(cherry picked from commit 390fd697a05fc51ddc5e7789b210736838780da4)
Initialize 'code' to non-zero at the top of each loop to avoid
setting the last updated timestamp on skipped locks
(cherry picked from commit 030ecf1af9773c0e058ded784dd096fc886fd6d8)
When afscreds.exe performs a drive map renewal it should not delete
all existing drive mappings. This undoes the efforts of the AFS
logon network provider and any persistent mappings created with the
explorer shell. This patch extends the interface to provide a mode
in which DoMapShareChange does not remove unknown drive mappings.
(cherry picked from commit 5ce322c9f13522cf96addaf09804021c6d78b22f)
add logic to process VNOVNODE in cm_Analyze. Force re-evaluation of symlink
strings and flush the stat cache entry.
force the use of new rx_connections when the server is marked down.
prevent server objects from being freed if user preferences are set.