LICENSE MIT
Protect against invalid data being passed into ParseAcl and
corrupting the stack. This affects both fs.exe and the explorer
shell extension.
Windows Error Reporting in recent weeks has begun to report several
instances of stack corruption in the explorer shell extension from
Denmark and Germany.
LICENSE BSD
this will dump the current dafs vlru state on kill -XCPU (just as we dump other fileserver state)
that state is
VLRU is a garbage collection facility which automatically offlines
volumes in the background. The purpose of this facility is to
proactively offline infrequently used volumes to improve shutdown and
salvage times. The process of offlining a volume from the "attached"
state to the "pre-attached" state is called soft detachment.
VLRU works in a manner similar to a generational garbage collector.
There are five queues on which volumes can reside: new, intermediate,
old, held, and candidate:
held:
queue for volumes which are administratively barred from VLRU activity
candidate:
queue for volumes which have not been accessed recently, and are thus
candidates for soft detachment
new, intermediate, old:
generational queues for active volumes; state transitions controlled by
inactivity timers.
State transition timeouts are as follows:
candidate->new activity present
new->candidate (1*vlruthresh) minutes since last transition; no activity
new->mid (2*vlruthresh) minutes since last transition; activity
present
mid->old (4*vlruthresh) minutes since last transition; activity
present
old->mid (2*vlruthresh) minutes since last transition; no activity
mid->new (1*vlruthresh) minutes since last transition; no activity
LICENSE IPL10
The pts program has a command 'source' to read commands from
a file. In the interactive "shell" mode, this command works,
reading and executing commands until the end of the file and
then returning to the command shell.
This command is valid for use as a command line option, but
does not work. It requires a valid filename as an argument,
but does not process the file, instead just dropping the user
into the interactive mode.
When given as a command line option, pts source SHOULD read
the file, execute the commands and then exit, according to
the documentation. It does not currently do this and should
be fixed.
LICENSE IPL10
keep accurate tabs on whether a volume is "in use" so we don't end up with volume state that's nonsensical.
====================
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.
====================
LICENSE IPL10
keep accurate tabs on whether a volume is "in use" so we don't end up with volum
e state that's nonsensical.
====================
LICENSE IPL10
keep accurate tabs on whether a volume is "in use" so we don't end up with volum
e state that's nonsensical.
LICENSE MIT
The cm_scache structure has included a reference to the associated cm_volume_t,
volp. By doing so the reference count on the cm_volume_t objects never hits
zero unless all of the cm_scache_t objects in that volume have been reused.
This prevents cm_volume object recycling.
This commit removes the hard reference and instead adds a function
cm_GetVolumeByFID which obtains a reference to the cm_volume that matches
the cm_scache fid value as needed.
A new "Volumes" registry value is added to permit explicit specification
of the number of volume objects to be allocated.
LICENSE IPL10
Update the fileserver documentation for demand-attach and add documentation
of other missing options and notes where some options are only applicable
with particular builds.
LICENSE IPL10
Introduce a new set of macros that can be used to permit either mutex
based protection or Interlocked operation protection increments,
decrements, or additions.
rx_MutexIncrement(object, mutex)
rx_MutexAdd(object, addend, mutex)
rx_MutexDecrement(object, mutex)
rx_MutexAdd1Increment2(object1, addend, object2, mutex)
rx_MutexAdd1Decrement2(object1, addend, object2, mutex)
For Windows these are implemented with the Interlocked operations
for other platforms the existing mutex is relied upon.
Only a subset of the rx_stats parameters have been transitioned at the
current time.
LICENSE IPL10
adapted from marc dionne's patch, but works more directly like the darwin port,
further, i'm guessing iget_locked will go away evewntually. maybe this is
too conservative?
LICENSE MIT
If we want to enforce the open for read flag in smb_ReadData we must
also check for execute access. We map execute access to read access
because AFS doesn't have a separate permission for that.
LICENSE MIT
change the RxMaxMtu setting to 0 to restore default
behavior (aka performance). The Cisco VPN 5.0.01.0600
client no longer requires a reduced mtu size for compatibility
with AFS.
LICENSE MIT
syscfg_GetIFInfo() obtains the current list of IP addresses.
Its a really expensive operation. Call the function once
and cache the data until the next IP address change instead
of calling it everytime we receive a WhoAreYou or construct a
new server object. Adds a new global rw lock, cm_syscfgLock
LICENSE MIT
This is a first cut at a cache manager statistics monitor
that can be used to determine the necessary cache parameters
to support the working set.
Off by default the performance package can be activated
by setting "daemonPerformanceTuningInterval" in the service
Parameters key. As with the other daemon interval values
the unit is in seconds.
At service start and each succeeding interval the cache
manager will write statistics to %TEMP%\afsd_performance.txt
showing the relative usage of cm_scache_t, cm_volume_t and
cm_buf_t objects. The FID statistics keep track of all FIDs
seen by the cache manager during the service session whether
or not they are backed by any live object in the cache.
These statistics are not stored in the cache file.
LICENSE MIT
Convert cm_conn_t reference counts to use Interlocked operations.
This permits several cm_serverLock holds to be converted to read
locks.
Add string translation for VL errors to cm_Analyze().
Permit RXKAD errors other than RXKADEXPIRED to be treated as
non-fatal. Instead immediately retry an alternate server if
there is one. This will permit the client to continue to
access replicated data from an alternate site if one of the
file servers is misconfigured.
LICENSE MIT
Convert cm_server_t reference counts to use Interlocked
operations. This permits almost all of the cm_serverLock
holds to be converted to read locks.
Add missing cm_PutServerNoLock() calls in the multi_Rx
version of cm_CheckServers(). (Thanks to Asanka)
LICENSE MIT
Prior to looking up a volume in the vldb the cm_volume_t
object is constructed. If the response is VL_NOENT the
cm_volume_t object should be removed and place at the
head of the recycling list so that we do not recycle
something we might actually care about.
Convert more cm_volumeLock holds to read locks now
that we are using Interlocked operations to manipulate
the reference counts.
LICENSE MIT
FIXES 88731
If an application opens a file for read only and then attempts to
write to it, we would attempt to release an scp mutex without having
obtained either the scp or the mutex within smb_WriteData
There was no check in smb_ReadData to ensure that the file was opened
for reading. Add one.