afs_Analyze was not being called on inlinebulk errors if the error
potentially required a retry. do so.
Change-Id: I60fc0a7553f9ce592c40c7aecb60346e138468f0
Reviewed-on: http://gerrit.openafs.org/1926
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Prior to this patchset, the 'rx_rpc_stats' mutex was superior
to both the 'peer->peer_lock' and the 'rx_peerHashTable_lock'.
That meant that the 'rx_rpc_stats' was being held across many
operations that walk the peer hash table. For example,
rxi_ReapConnections, rx_disablePeerRPCStats, and rx_shutdown.
Since every RPC issues a call to rx_IncrementTimeAndCount, the
reap connections event would effectively bring all RPC processing
to a halt.
This patchset moves 'rx_rpc_stats' later in the hierarchy and
restructures rxi_ReapConnections, rx_disablePeerRPCStats, and
rx_shutdown so that not only doesn't the 'rx_rpc_stats' mutex
need to be held across the entire function but the
'rx_peerHashTable_lock' does not need to be held while complex
operations on the peer object are taking place.
rxi_ReceiveDebugPacket is also fixed to hold the rx_peerHashTable_lock
and peer_lock at appropriate times while completing its function.
Change-Id: I1a11798f1bb2a8f03316c6c455954bd6b8d1459b
Reviewed-on: http://gerrit.openafs.org/1928
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Dan Hyde <drh@umich.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
On Windows 7, NetWkstaGetInfo levels 101 and 102 are queried.
Add support to the WKSSVC RPC Pipe service.
LICENSE MIT
Change-Id: Ia780ee69834c01c2d0c2965ae2c65f80d504a923
Reviewed-on: http://gerrit.openafs.org/1950
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
In the Volume Info and Partition Info dialog boxes, percent used
was overflowing the variable due to using too small a variable
and multiplying before dividing.
FIXES 126846
Change-Id: I9a8a9275d22675cfb53c9e520758f2c4d6606954
Reviewed-on: http://gerrit.openafs.org/1939
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
If the user attempts to list acls or set acls on the freelance
root.afs volume, generate a meaningful error.
Change-Id: I6e5b147bf0cdd98ec0224a723098f5bbcb37b1e1
Reviewed-on: http://gerrit.openafs.org/1931
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The afs_create_uuid function on Windows results in
duplicate uuids being produced. Windows provides its own
CreateUuid function. Use it when afs_create_uuid is called.
Change-Id: Id7f14b13c003fb845d90b09c3ca40cf258a53dbc
Reviewed-on: http://gerrit.openafs.org/1937
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
On Windows, the stdin and stdout handles default to text
mode which corrupts data piped through them. At the start
of readFile and writeFile, the mode is now set to binary.
The ProbeUuid callback is supposed to determine if this
client is the same as the one being requested. Since we
are advertising a new uuid in TellMeAboutYourself and
WhoAmI, we should perform the uuid check and return a
valid answer in order to avoid confusing the file server.
Add support for TellMeAboutYourself. On Windows, return
valid interface information.
Always print verbose output to stderr.
Display MB/sec to three decimal places.
In readFile, always perform a AFSFetchStatus operation
otherwise we have no idea what the file size is.
On Windows, the path separator is backslash.
Change-Id: I174eda991383301d01fe5d6431d459b6ea01a0be
Reviewed-on: http://gerrit.openafs.org/1930
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Hartmut Reuter <reuter@rzg.mpg.de>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
RXAFS_InlineBulkStatus does not return errors such as EACCES,
VNOVOL, VNOVNODE, VOFFLINE, VBUSY, VIO, VMOVED, etc. as an RPC return
code. Instead they are returned in the status info errorCode field
for each file.
Traditionally, the error associated with the first FID in the query
list has been returned to the caller of cm_TryBulkStatRPC().
However, the error has never been processed through cm_Analyze()
which means that the per-vnode processing for VNOVNODE and the volume
global processing for VMOVED, VNOVOL, etc. has never been performed.
As a result, failover to other .readonly volume instances cannot occur,
volume moves will not be handled, and files that have been deleted
are not detected.
This patchset makes the following changes:
1. If an inline bulk operation has been performed and the inline
errorCode is a volume global error, then that error replaces
the RPC return code within the cm_Analyze() processing for
the RPC. This will affect whether or not a retry operation
is performed.
2. The variable 'inlinebulk' is reset to 0 at the top of the
cm_Analyze() loop in case failover from an inlinebulk capable
file to an inlinebulk incapable file server takes place.
3. The FID that is passed into cm_Analyze() is not a real fid.
Instead it consists of the cell and volume but vnode = 0.
This ensures that the error (if any) is not applied to the
directory object.
4. If an inline bulk operation was performed, prior to performing
the cm_MergeStatus() operation a vnode a check is made to
determine if an error was returned for that vnode. If so,
cm_Analyze() is called with no connection, a fake cm_req_t,
the fid, and the error. This permits cm_Analyze() processing
to be performed on the file.
LICENSE MIT
Change-Id: I91b10faae085b52ba753b3942215951e2122b937
Reviewed-on: http://gerrit.openafs.org/1918
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Add the kmem_cache_create test for dtor to the configure to
build again on older versions of linux. Fixes,
osi_vfsops.c:264: error: too few arguments to function
‘kmem_cache_create’
Change-Id: I1c1aa63e8dbe2df6c9b889edaa66708d7db01847
Reviewed-on: http://gerrit.openafs.org/1948
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
We now require an autoconf version of at least 2.60. This version
supplies AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T, so we no longer
need to have our own.
Change-Id: I362324d1cfb39efb01c3f6f2d95eb7f4ed041998
Reviewed-on: http://gerrit.openafs.org/1919
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
fix function return types to match a bitnumber (int)
and comment the function appropriately
Change-Id: I9542c02b1aa7aacdd0596675992bb1e8a1708572
Reviewed-on: http://gerrit.openafs.org/1941
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Add a safety check in VL_ChangeAddr/ChangeIPAddr to check if we are
adding a duplicate server IP in the database. Return VL_MULTIPADDR
when we try to do that.
Change-Id: Iaff2792b90f4152dac5a1ab4c1072ef56fef518b
Reviewed-on: http://gerrit.openafs.org/1927
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The windows param.*.h files define the ssize_t type.
Therefore, we must define HAVE_SSIZE_T in order to avoid
a collision with the ssize_t typedef in afs/stds.h.
Change-Id: Ie34cb565f09acfffe985476d24dbca917b05c5db
Reviewed-on: http://gerrit.openafs.org/1936
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Add an initial list of files to import into OpenAFS from Heimdal.
Currently this is just the list that are required to support
our new configuration file parser.
Change-Id: I785bacc603121f587378fcfbe93e585290c8ab7f
Reviewed-on: http://gerrit.openafs.org/1933
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This commit adds a tool to aid with the importing of external git
repositories. import-external-git.pl allows a developer to easily
update the src/external portion of the tree to the latest release
of externally developed software. It's currently intended to support
our use of Heimdal functions, but could be extended to support any
project whose code we wish to use in the kernel, and which has a
git repo.
Change-Id: I6d91474c5de67e57fb73ff4d59c5afe9bb14c240
Reviewed-on: http://gerrit.openafs.org/1932
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Missed one case of an 'int len' being passed into StringCbLength.
Also, remove one instance of 'int len' that was not used at all.
LICENSE MIT
Change-Id: I457d4ae98adf9d4ca0c1b7dcb74470d9bbc85a54
Reviewed-on: http://gerrit.openafs.org/1929
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
The sysname for Linux Alpha is alpha_linux_26 (or 24 or 22) with an
extra underscore before the version, unlike all the other Linux sysnames.
Allow for that case when deciding whether to include the common Linux
param header.
Change-Id: Icab3a9214d0bd020b846734cce27da6c1bdeab56
Reviewed-on: http://gerrit.openafs.org/1915
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The kernel linker doesn't like to load modules with unresolved
(implicitly-defined) symbols (understandably). Make it happy.
Change-Id: I23fdbb9c9e07a0c583580f5c5eee577a04fae278
Reviewed-on: http://gerrit.openafs.org/1925
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: sanket <sanket@sanketagarwal.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
Though neither have been released, yet, RELENG_8 and HEAD are
starting to get changes that we need to conditionalize on.
Change-Id: Ia3af3c38abe4d0d01e0cef974771b45a97d3d9aa
Reviewed-on: http://gerrit.openafs.org/1691
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Prior to autoconf 2.13, AC_CHECK_TYPE took two arguments, the type
to check and the a default type to use if that type wasn't defined.
This usage has been deprecated since 2.13, and the AC_CHECK_TYPE
macro itself now behaves differently. Whilst there is a compatibility
mode, the autoconf documentation discourages its use.
We also have an occurence of a slightly more modern AC_CHECK_TYPE,
where we explicitly #define a default value if one isn't provided.
The autoconf manual also discourages this form, however, in favour
of using AC_CHECK_TYPES, and placing suitable typedefs in an
external header file.
Modify our code so we do things in the recommended way.
Change-Id: Ie28067f2c90e9a3aa25cfde45ef081da2d380ee1
Reviewed-on: http://gerrit.openafs.org/1914
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Modify rxgen and compile_et so that the files they output always
contain afsconfig.h before afs/param.h. This avoids problems where
afs/param.h, or headers included from it, rely on having the results
of configure tests available.
Change-Id: I0198500a17abd31ee1057d6780cbe5a5e1bc8c59
Reviewed-on: http://gerrit.openafs.org/1913
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Use osi_obsd_Free() in afs_osi_Free() for all releases of OpenBSD,
not just releases from 4.4 onward. Otherwise, afs_osi_Free() will
use AFS_KFREE, which does not exist, since OBSD/osi_machdep.h is
not included, resulting in unresolved symbols when trying to load
the kernel module.
Change-Id: Ic9632c9df347cc17e122b6302ef14e63fa5b68b4
Reviewed-on: http://gerrit.openafs.org/1910
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
In OpenBSD releases prior to 4.2, use the system (kernel-specific)
FREE macro to release space in the kernel module, not KFREE. The
latter does not exist and results in unresolved symbols when trying
to load the kernel module. (This was undoubtedly a typo.)
Change-Id: Id66704ab4d0928e2ce1234de16bb74fe22f4f9c7
Reviewed-on: http://gerrit.openafs.org/1909
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Our coding standards say that OpenAFS source files should always have
#include <afsconfig.h>
#include <afs/param.h>
at the start of the file. Including just param.h, or having these
includes in a different order can produce unexpected effects, because
param.h includes sysnames.h, which in turn includes stds.h, which may
rely upon having the results of configure tests available.
Fix the obvious places in the Unix build which get this wrong.
Change-Id: I081f04dab30a6bbb49fe71d3ac2d7c11e231e2f5
Reviewed-on: http://gerrit.openafs.org/1912
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
apparently we return EROFS where we should return EBADF. Fix the
error the client gets; the RPC is unchanged (and indeed shouldn't
be changed)
Change-Id: I738f1ee36f39d03bf018c0f91c7de9c8ed8cc9a9
Reviewed-on: http://gerrit.openafs.org/1895
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
fix the vcache splitting to work again
Change-Id: I8833fc6655dcb79329835664d38f5330645b45f8
Reviewed-on: http://gerrit.openafs.org/1904
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The use of strlen, strcat, strcpy, strncpy and sprintf in
src\WINNT\afsd\fs.c does not effectively protect against buffer
overruns and string truncation errors. This patchset replaces
their use with StringCbLen, StringCbCat, StringCbCopy,
StringCbCopyN, StringCbCopyEx and StringCbPrintf respectively from
strsafe.h.
The functions sscanf, fscanf and scanf do not check for the size of
the parameters so it is prone to buffer overruns. These functions
can be replaced by sscanf_s, fscanf_s, scanf_s when the Visual Studio
compiler version is 1400 or greater. Also memcpy will be replaced
by memcpy_s which will check for the size of the destination buffer.
In all cases, failure conditions are handled.
Patchset development was mentored by Asanka Herath and Jeffrey Altman.
Change-Id: I01e9dfc616641c220b57d2871e3e140406df3653
Reviewed-on: http://gerrit.openafs.org/1736
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Tharidu Fernando <tharidufernando@gmail.com>
Tested-by: Tharidu Fernando <tharidufernando@gmail.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Call the afs shutdown sequence (afs_shutdown()) in the VFS_FREEVFS
handler, instead of in the VFS_UNMOUNT handler. This way we shutdown
when the last reference to our vfs goes away, instead of when we are
unmounted. That doesn't make much of a difference right now, but doing
so will be required for supporting forced unmounts.
Change-Id: I4158865b139d05e2955e4809b93628df27b83922
Reviewed-on: http://gerrit.openafs.org/1899
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Return EBUSY from unmount if someone still references stuff in AFS.
This prevents kernel panics that can occur on shutdown if we umount
while there is a file in AFS open. Normally a process can hold a file
in AFS open, AFS is unmounted, and the file is closed, triggering our
code which explodes if called after we're unmounted.
This adds VFS_HOLD/VFS_RELE calls whenever we 'create' a vcache, or
retire an old one, to keep track if anyone has an open reference to
us.
Change-Id: I95d8cf7e7e4d32a05bee97e06832a530b40af217
Reviewed-on: http://gerrit.openafs.org/1880
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
afs_NewVCache was a twisty turny maze of #ifdefs and duplicated code.
This makes a number of sweeping changes to simplify this code, and to
move platform specific elements out into their own directories.
*) ShakeLooseVCaches is refactored so that the same code can be used
both for platforms that support dynamic vcaches, and those which
don't.
*) afs_NewVCache, ShakeLooseVCaches, and afs_AllocVCache are all
modified to remove platform specific code, and to call platform
specific functions.
*) A new platform file 'osi_vcache.c' is created to hold a number of
platform specific vcache operations:
*) osi_TryEvictVCache handles the decision of whether a vcache can
be evicted or not, and does so if required
*) osi_NewVnode allocates a new vnode
*) osi_PrePopulateVCache does the necessary population of the
vcache, before it's threaded onto the VLRUQ and associated hash
tables.
*) osi_AttachVnode handles attaching an OS vnode to our vcache,
where that is necessary
*) osi_PostPopulateVCache handles the vcache population that must
occur after we're on the VLRUQ and have a vnode attached.
Change-Id: I368e5fb500d012b44141aa8f8cf0516e63e58f57
Reviewed-on: http://gerrit.openafs.org/1881
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Examples of the pts mem -expandgroups and -supergroups
options for the man page.
Change-Id: Idea0509797212397eff87aa5975eaf5364c8414c
Reviewed-on: http://gerrit.openafs.org/1896
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
In OpenBSD, the PAG uses the 2nd and 3rd group slots in the task's
group list. If an application sets en empty group list (such as Samba
does), any existing PAG is lost and any new one is NOT set because
the existing code will set the new group count to 2 instead of 3, and
it leaves the first group entry as garbage (whatever random value the
memory contained), thereby totally messing up the task's group list.
This patch fixes it so that it behaves as expected.
Change-Id: Ia718d55cbaad8ed372fba926dbfcb5db52ea684a
Reviewed-on: http://gerrit.openafs.org/1898
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
When the pattern to detect OpenBSD system types (via MKAFS_OSTYPE) was split
into two separate ones for amd64 and i386 architectures, the pattern for
i386-based systems was not set quite right. As a result, i386-based OpenBSD
systems are no longer detected properly at this stage, resulting in an error
of "cannot find input file: src/libafs/MakefileProto..in" during configure.
This patch corrects the pattern.
Change-Id: I67079af74117fa3cdc765f19944e23223709ae6b
Reviewed-on: http://gerrit.openafs.org/1897
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The OpenAFS MSI installer wizard used to not show any configuration
pages for "Typical" and "Complete" installations. Setting the
workstation cell and logon options during installation required
selecting the "Custom" option. Many users choose the "Typical" option
during installation, and thus would never see the configuration pages.
Therefore, for these users, the workstation cell was being set to the
default.
This patch makes the workstation cell and logon option configuration
pages visible to all types of installations (except silent
installations which show no UI).
Change-Id: Ie3bc040607a8d6b636c884bfcb919d0fc69b0e06
Reviewed-on: http://gerrit.openafs.org/1797
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Provide a queue_NodeInit() interface for the rx queue package.
Change-Id: I85f6caf3605b9a88113ff4d904012ed2aa12a679
Reviewed-on: http://gerrit.openafs.org/1860
Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
cm_LookupInternal creates Freelance mount points and symlinks
when queries cannot be found in the Freelance root.afs directory.
If the search name is a full cell name for which vldb information
can be obtained, then a mount point is added. If the search name
is a left-most substring or the full cell name with a dot appended
to it, then a symlink was created. This approach created a very
poluted Freelance name space.
This patchset makes the following changes:
1. Do not create symlinks with a dot appended to the cellname
2. Do not create symlinks where the left-most substring is not
a full dot separated component of the cellname.
3. Permit lookups to succeed when we would have created a
symlink in the past without creating the symlink.
LICENSE MIT
Change-Id: I4573a2f13d4843878c3f5efc546df29a5023accc
Reviewed-on: http://gerrit.openafs.org/1894
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
BPlus tree lookups are much faster than searching through
the native directory format on Windows because the case sensitive
hash tables cannot be used successfully. Permit BPlus trees
to be used except when called with cm_BPlusDirFoo as the action
function because cm_BPlusDirFoo is used to build the BPlus trees
from the native directory format.
LICENSE MIT
Change-Id: I3f6f5ba7113e206c76fafd1ec83822adc7f42f9e
Reviewed-on: http://gerrit.openafs.org/1893
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Symlinks are ending up in the Freelance root.afs directory that
end with a dot. Make sure it cannot happen.
LICENSE MIT
Change-Id: I8a19c0cf6c2a68c22839e15641206f7e9db8b15b
Reviewed-on: http://gerrit.openafs.org/1892
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Return all error codes from the end of the function.
LICENSE MIT
Change-Id: I7703c90884820ed7eb1f43183d80c7df038cfb8b
Reviewed-on: http://gerrit.openafs.org/1891
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
cm_FreelanceAddMount and cm_FreelanceAddSymlink is supposed to
return the allocated FID of the entry that was added. However,
cm_NameI is called to perform the lookup without forcing an update
of the Freelance fake directory. As a result the entry may not be
found.
Force an update prior to calling cm_NameI() by using
cm_clearLocalMountPointChange() and cm_reInitLocalMountPoints()
if required.
LICENSE MIT
Change-Id: I08147b2ec61c810fdc718964362315af67d485b8
Reviewed-on: http://gerrit.openafs.org/1890
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Instead of returning an undefined CM error code, -1, which might
end up being confused with an Rx error, return legal CM_ERROR_xxx
values.
LICENSE MIT
Change-Id: Ie78e4e9cf00fa938806c8b355f54169a5691ff04
Reviewed-on: http://gerrit.openafs.org/1889
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
cm_noteLocalMountPointChange() is meant to be used when fakeDirVersion
is changed. It previously wasn't used because cm_noteLocalMountPointChange()
would obtain the cm_Freelance_Lock. Now that cm_noteLocalMountPointChange()
can be called while holding the lock, use it everywhere.
LICENSE MIT
Change-Id: I737f4572773a93a656ca0f58e07a55d250c368a1
Reviewed-on: http://gerrit.openafs.org/1888
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
If cm_Freelance_Lock is held set the 'locked' parameter to TRUE.
This avoids a requirement to drop the lock only to have it be
obtained when cm_noteLocalMountPointChange.
LICENSE MIT
Change-Id: Ic1e8a008639b33769a088c3b24ef7a7e7b09fb12
Reviewed-on: http://gerrit.openafs.org/1887
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
The variable 'tlen' is set to the length of the mount point
target string but is never used. Remove it.
LICENSE MIT
Change-Id: I1e53831eff90962c93720831a210faa019e38d67
Reviewed-on: http://gerrit.openafs.org/1886
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
The Freelance fake root directory buffers were not zero-filled.
This results in random behavior that can cause the service to
terminate unexpectedly.
LICENSE MIT
Change-Id: If4e42f74bf07a7296319f3a73f8c7628de4e1fd8
Reviewed-on: http://gerrit.openafs.org/1885
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>