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.
LICENSE MIT
There are circumstances where a volume object is being accessed and the
volume is marked indicating that the volume location information is out
of date but where it is also pointless and perhaps dangerous to block
waiting for the rpc to complete. One example is when processing the
cmdebug requests. If we know that we are not going to use the volume
object to contact a server, then we can now set the CM_GETVOL_FLAG_NO_RESET
flag.
LICENSE MIT
when moving up in the directory tree we search the recorded fid list to
find a matching fid that we have already crossed. we must also reset
the fid count based upon what we discover.
LICENSE IPL10
add option to addsite to allow adding a site where there is already a release-
equivalent volume resident, where thus we don't want to mark unreleased
(possible by dumping an existing RO and restoring with -readonly at the
new site)
add ability to vos clone to a readonly or backup with the correct ID and name
add ability when restoring a RW to a new site to leave the volume at the old
site intact
all changes are internal to vos and can be used with any OpenAFS from 2006
or later (supporting changes in namei to not create volumes with bad parent
id went in in December 2005)
LICENSE MIT
The path ioctl operations have several issues:
(1) the specified path for "fs examine, whereis, whichcell, flush" and so
always has the follow symlinks and mount points semantics. This makes
it impossible to determine what the FID of a symlink or mount point is.
(2) "fs examine" out is not the result of a single pioctl operation but is
actually the combined output of half a dozen operations. Path evaluation
is an expensive operation. It would be faster if the caller could
evaluate the FID first and then perform all of the rest of the operations
by specifying the FID instead of the path.
(3) fs output reports all objects as files. By adding a GetFileType
pioctl more informative output can be provided that indicates what
type of object the path evaluates to.
(4) the Windows fs command includes a number of commands that do nothing
but exist only because the Unix cache manager supports them.
This delta adds a new extendible data structure cm_ioctl_query_opts_t which
can be optionally specified with pioctls that do not already require
input data. The first two fields of this structure are 'literal' and
'fid'. The literal field is used to indicate whether the last component
of the path should be evaluated following symlinks and mount points.
The fid field permits a fid to be specified.
A new GetFileType pioctl has been added. The type of objects are now
output.
A new "-literal" option is available for "fs examine, flush, whereis, and
whichcell.
Unimplemented fs commands have been removed.
LICENSE MIT
Nname() is used to concatenate two strings and is frequently used with
the first string being the name of the executable perhaps with a full
path. The static buffer specified is too small for a full path and
there was no protection against writing beyond the end of it.
LICENSE MIT
Add -cellservdb option to the cmdebug command.
This option will retrieve the volume location database information
for all cells known to the cache manager and output the data in the
format required by the CellServDB file.
This functionality is supported by the UNIX cache managers and
Windows cache managers 1.5.31 and later.