The 'active_vcp' variable is no longer being used for any useful
purpose and is the center of a race condition that could lead to
an undercount of references to 'vcp' objects. Remove it.
An undercount has been detected of the smb_vc_t objects stored
in the smb_allVCsp list. Unfortunately, we have yet to be able
to find the cause of the undercount so this patch adds logic to
protect against the side effects until such time as the cause
can be identified.
The old StoreData RPC is only supposed to be valid for files
smaller than 2GB. When StoreData64 was added, StoreData and StoreData64
were implemented as calls to common_StoreData64. This removed the bounds
checking on the old StoreData RPC making it possible for operations
beyond two 2GB to be requested even if the file server cannot support
them. This patch adds a validity check to ensure that the requested
file operations remain below 2GB. Failures return E2BIG.
as pointed out by cg2v@andrew.cmu.edu the addition of performance
collection data for the GetCapabilities RPC broke backward compatibility
with previous builds because it altered the size of the data structure
sent on the wire.
Instead we count the number of GetCapabilties calls but do not gather
performance timing data as this can be done using spare fields.
an interface which lets you select md5 based inode numbers, and the c\7fsupporting code
====================
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.
====================
FIXES 25849
an interface which lets you select md5 based inode numbers, and the c^?supportin
g code
Fix syntax error (missing braces)
Fix include file ordering
Don't declare *tmpdir extern, we're initializing it here (even though
there's no reason to)
Fix OnlyOneVolume args to match proto
====================
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.
====================
correct a type for consistency
====================
corrections to the dafs delta to allow compilation on Windows
Collapse all of the sparc*_linux* cases into a single case. Not just for
ease of maintenance -- this also results in clearer error messages for
configurations that aren't supported and should allow building of the
userspace tools for a few @sys types that the kernel build doesn't support.
Reported by Michael Conrad and Karl Ramm. Patch has been in the Debian
package for some time.
h_Alloc_r was not specifying the port for the newly allocated
host when adding the host to the hash table. Use hashInsert_r
instead so mistakes like this won't happen in the future.
====================
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.
====================
FIXES 27589
add registry configurable CallBackPort to allow for forcing the
client to use different ports when talking with the file server.
====================
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.
====================
add registry configurable CallBackPort to allow for forcing the
client to use different ports when talking with the file server.
====================
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.
====================
build xstat utils for windows
====================
more windows specific mods plus improved output of ipaddrs and port
numbers when debugging
clock_Init() was broken because it would initialize rxi_clock0
with QueryPerformanceCounter() and then call clock_UpdateTime().
So instead of getting an ever increasing value you would get a
fixed value determined by how long it takes to make a function call
between to QueryPerformanceCounter() calls.
If the host obtained during the CallPremable and CallPostamble differ,
then there is the possibility of a hold leak. This patch is a quick
attempt to deal with the potential problem. If the problem occurs
we log it in order to know for sure if this is in fact a problem.
If it is, then at a later date we should perform a more extensive
re-write in which the CallPreamble is used to obtain the host and the
client and pass them both back to the caller which would not be
required to obtain them again at a later date.
In h_Enumerate_r it is possible that the host may be released by the
called procedure. Therefore, we must preserve the pointer to host->next
before the call and hold the host it points to in order to ensure that
it does not disappear out from under us. This ensures that although
the H_LOCK can be dropped during the procedure and the host list can
be rearranged we won't miss more than a handful of hosts during the
enumeration.
when h_GetHost_r replaces 'host' with 'oldHost' we need to release the
hold on 'host' and maintain the hold on 'oldHost' because if a hold
was placed on 'host' in CallPreamble() it will no longer be released
in CallPostamble() since 'oldHost' will now be bound to the client
SRXAFS_CallBackRxConnAddr calls h_FindClient_r which returns a
client with a refCount and the client->host held. The call
to CallPostamble will release the host hold but not the client
refcount.
Implement proper synopsis wrapping for HTML generation.
This was done in three pieces. First, add HTML-specific tags to the POD to
mark the synopsis for HTML purposes so that we can apply style information
to it. Second, update the style sheet to indent all lines except for the
first in the synopsis section. Third, add the appropriate S<> tags around
option and argument pairs so that we don't wrap between the option and its
argument.
Unfortunately, due to the <I<foo>> style that looks nicer for other reasons,
we have to use the very verbose S<<< >>>. Oh well.