LICENSE MIT
do not leak references
remove signed vs unsigned warnings
retry all RXGEN_OPCODE responses regardless of whether or not the entry
had to be moved to consolidate the list.
LICENSE MIT
VNOVOL means the volume could not be attached which from the client
perspective is the same as being offline. The VLDB should not be
queried in response to this error.
LICENSE MIT
FIXES 84279
Do not translate the character set of the pioctl path data.
These paths were not provided by the file system but by the end user.
Therefore, they were not converted to the OEM character set.
With this change the AFS shell context menu will be displayed for
non-ASCII file names when ANSI file names are being used as well
as the fs commands will work.
LICENSE MIT
Instead of probing servers one at a time, use multi_rx versions of
RXAFS_GetCapabilities, RXAFS_GetTime and VL_ProbeServer to permit
simultaneous probing of servers in constant time regardless of the
number of servers.
LICENSE MIT
When 'multi' is applied to an RPC definition, rxgen produced split prototypes,
Start and End, but failed to produce the prototype for the normal RPC call.
LICENSE IPL10
FIXES 84778
* Vnode package concurrency model was overhauled. Unlike the old model,
where concurrency was controlled via reader/writer locks, the new model
uses a per-vnode finite state automata.
* add several new volume states to deal with volume vnode list operations
* a new FSSYNC command code was added to allow volume utilities to close
out a volume operation without causing the fileserver to mount the volume
* a new FSSYNC command code was added to allow volume utilities to
transition a volume into a hard error state
* the salvageserver has been modified to keep volume group partition
path data coherent with the fileserver (like many other parts of the
volume package, this code assumes all members of the group are stored on
the same vice partition)
* make salvageserver correctly handle volume state when a child worker
process terminates abnormally
* update volume pre-attachment code to deal with move volumes across
partitions on the same server
* add volume state sanity checks to more volume package interfaces
* original vos online patch introduced a race condition; rearchitect vos
online/offline to eliminate race condition, and reduce i/o load caused
by operation
* unify duplicate code in volserver related to servicing vos examine and
vos listvol requests
* add doxygen formatted comment blocks to numerous volume package elements
* various updates to fssync-debug to allow dumping vnode state, and
updates to deal with added volume and vnode states
* several 1.5-specific fixes related to fssync and salvsync
LICENSE MIT
Modify the search order for determining the location of CellServDB
and other client configuration files.
1. AFSCONF environment variable
2. registry setting
3. NEW - use All Users\AppData\OpenAFS\Client only if CellServDB exists
4. use Program Files\OpenAFS\Client
LICENSE MIT
Merge cellconfig.c and the afsreg library.
Redefine the location of the client cellservdb directory in dirpath
in terms of the cellservdb direction and not the install directory.
(although they point at the same thing now by default.)
Future changes to the location of the cellservdb directory should
be made in afsreg.
LICENSE MIT
modify cellservdb.c to use cm_GetCellServDB() from libafsconf.dll.
This results in both libadmin and the afs client control panel using
the same CellServDB as the rest of the system.
LICENSE MIT
cm_config.c was a nightmare. there were several functions that each
computed the location of the OpenAFS Client configuration directory
in a slightly different way. Now there is a single exported function
that determines the directory, and another that determines the name
of the CellServDB file. All of the other functons in cm_config.c and
throughout the src/WINNT/afsd directory now use those two functions.
The new rule for determining the location of the OpenAFS Client
configuration directory and hence the CellServDB file location is:
1. check the AFSCONF environment variable
2. check the HKLM\SOFTWARE\OpenAFS\Client CellServDBDir registry value
3. use AFSDIR_CLIENT_ETC_DIRPATH which currently refers to
\Program Files\OpenAFS\Client
LICENSE MIT
avoid a deadlock during server probes initiated by the ipaddr change
daemon thread.
(missed a case in DELTA windows-ipaddr-change-server-deadlock-20080106)
LICENSE MIT
The algorithms that were used to produce a Netbios name were broken.
The name that was produced when the hostname was too long was in fact
longer than the maximum permitted netbios name.
Also, the "NetbiosName" value was not used as a suffix when the loopback
adapter was not installed. The hardcoded string "AFS" was used instead.
LICENSE MIT
Cell names are published as share names. As a result they are searched
for as part of the Dfs Referral evaluation. If share "foo" can not be
reached, the CIFS client will fallback to searching for "fo" as well.
Since the freelance client automatically adds a symlink for prefixes
of the cell name, this results in both "foo" and "fo" being added to
the freelance root.afs volume. This patch prevents that negative side
effect.