LICENSE IPL10
FIXES 93898
"It is actually the detection of a "cell" in the mount point string
which triggers the (loosely consistent) fakestat handling - it's
treated like a foreign cell and the mount point is never "completely
evaluated", i.e. logically replaced by the root directory of the
volume in question. As a result, callbacks are ignored, as they go
against the directory and not the mount point."
(cherry picked from commit 5f6b59f4601e9892e082a145a75e5872818d2e06)
LICENSE MIT
1. Convert cm_volume_t mutex to a rwlock (rw).
2. Don't hold cm_volume_t lock across RPCs
3. Add CM_VOLUMEFLAG_UPDATING_VL flag to prevent multiple threads
from performing volume update calls at the same time on the same
volume set.
4. Convert the .rw, .ro, and .bk cm_vol_state_t members of cm_volume_t
to an array of cm_vol_state_t members indexed using the pre-existing
RWVOL, ROVOL and BACKVOL preprocessor symbols. This will permit
consolidation of code and make it easier to add new volume types
to the volume set in the future.
(cherry picked from commit 4440b9a61247a0da020042b4262695f0ef7d35de)
LICENSE MIT
Do not set the DV on the rootSCachep because doing so disables
the use of MergeStatus().
Do not remove the rootSCachep from the hash table because doing
so makes causes a second cm_scache_t object for that fid to be created
that is not the root.
(cherry picked from commit 7bfe889eb2e900719c70cd9fd29f82569ef4c04c)
LICENSE MIT
Add a -noresolve option to all vos commands. This permits the display
of servers by IP address instead of DNS name. Very useful when 127.0.0.1
is registered as the server address or when trying to eliminate
multi-homed addresses.
(cherry picked from commit 40d41c191bdb64256d4ccf6a5f1bab8124249e63)
LICENSE IPL10
avoid deadlocking in access while we're already holding locks as filldir is doing its work
(cherry picked from commit 7faf596b439cce022cfa4b3174cd17a1f0a0901e)
LICENSE MIT
Add support for building with VS2005 Runtime Libraries.
For the release build use the vcredist_<arch>.exe package.
For the debug build, build an msi from the merge modules
and then install that package.
(cherry picked from commit 494568ea929af96bf2b641e31b970cf695f13240)
LICENSE MIT
deliver notification events to watchers when adding mount points or
symlinks to the freelance root.afs volume.
(cherry picked from commit c108d606f59b6f5edcb863de3f3d9d7ecc44f04a)
LICENSE MIT
When freelance symlinks and mountpoints were modified the target string
value was not being updated and the old data was not being invalidated.
(cherry picked from commit a642541b960f601d7396c28ca08ee7fd32975ce6)
LICENSE IPL10
FIXES 88000
no better idea for this, got to do something... push this for now
(cherry picked from commit c7ee4828e0d7c631fcd827d1a4c9af8bebb2fc2d)
LICENSE MIT
1. During the conversion to hash based FID comparisons the cm_GetSCache()
lookups from the cm_ioctl.c (CM_IOCTL_QOPTS_HAVE_FID) and from FIDs
returned by cm_LookupSearchProc() were broken.
2. In cm_LookupInternal(), ensure that an error is returned if rock.found
is FALSE. A failure to return an error was resulting in cm_GetSCache()
producing an object for FIDs with vnode=0,unique=0
3. cm_GetSCache(), remove the warning check for vnode=0,unique=0
4. reapply the synchronization logic to async store requests in cm_SyncOp().
The lack of synchronization is causing requests to complete out of order
which is confusing the SMB redirector when under heavy load.
(cherry picked from commit ef19cea44c433ec7c1d214e8229b5fb4ea4b6ef6)
LICENSE IPL10
patch based on work from shadow@dementia.org
the idea is to preclude multiple copies of a volume replica on a server,
as there's nothing to indicate which copy is correct and you can end up serving
stale data when you think you've just released and are serving something good
(cherry picked from commit 5640c4a1b5bea4e61ff2e6c2da02265c3e1ba612)
LICENSE IPL10
yeah, this is sort of dumb
AUTHOR
LICENSE IPL10
====================
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
yeah, this is sort of dumb
(cherry picked from commit 695d1aa896cf38cfe9856ba1c45b6b3cca7565a2)
LICENSE IPL10
FIXES 92643
remove windows code (osolete) from unix branch
do other minor cleanup
(cherry picked from commit 3f54c934b9c933d5f34644a096c821375db17d97)
LICENSE IPL10
FIXES 92662
CheckSignal returns void*, don't try to return an int directly.
(cherry picked from commit 94aa281af8c9cb74561a32a34cb7cd5b5da97cdf)
LICENSE IPL10
FIXES 92648
remove reference to rx service mutex and thread tracking. we need to ensure there's nothing else either but this is true now
(cherry picked from commit 9bdb8599c094821d0dfb29505cc63aa2a8460ae2)
LICENSE MIT
Fix the order of parameters to strncpy
Add error checking to all krb5 functions.
Initialize the global ccache variable to NULL.
(cherry picked from commit 2169423f6821672be5506ab388d6faa0ed37f0d0)
LICENSE MIT
Two recent changes to the AFS/Kerberos landscape have been causing
problems for aklog and related modules. First, the support for multiple
local realms for the cell has broken the pts auto-registration code
when the realm used for the token acquisition does not match the
realm belonging to the selected vldb server. Second, Kerberos referrals
prevents detection of the realm of the vldb server.
This commit adds a new method of searching for the afs service principal.
The first attempt is for afs/<cell>@<CLIENT-REALM>. If found, the
<CLIENT-REALM> is used as the realm of the cell.
The patch adds error handling for KRB5_ERR_HOST_REALM_UNKNOWN which is
returned when krb5_get_host_realm() can't determine the realm.
Duplicate queries are also avoided and copy_realm_of_ticket() is
properly employed.
(cherry picked from commit c6897cee01063d6d6ad302e6527794130f007d74)
LICENSE MIT
1. return CM_ERROR_NOSUCHFILE when attempting to remove a symlink or
mount point that does not exist
2. When adding a new symlink or mountpoint, be sure to increment the
number of local mount points
3. When re-initializing the fake root.cell the unique value is always
one, not two. Use cm_FidCmp() to compare fids. The use of the
value two prevented the invalidation of existing values because all
of the directory entries are created with the unique set to one.
(cherry picked from commit b2e3e6427522c92ce4132abf2ca08ce18599b16b)
LICENSE IPL10
FIXES 90869
do byteswapping of epoch and version so we print and compare sensibly
(cherry picked from commit 87e959e87df52e026ffcb2de8ecfcbf4889f7bd8)
LICENSE IPL10
we track shutdown thread parms as index rather than device; deal correctly
(cherry picked from commit 6c9647cc614cfdf9b2c9cc8adb7b3c6b741e1f4e)
LICENSE IPL10
FIXES 17509
because of when fds are NULL'd in file_table this should work except when one process has the same file open for read and for write in different FDs; otherwise,
the last write fd to close collects the error.
(cherry picked from commit 1cf6c12a075cb0705cd8680291d78d215d4fe996)