mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
c14536545d
Since the original IBM code import, UV_RestoreVolume (later renamed to to the current name UV_RestoreVolume2) has called VLDB_GetEntryByID to obtain the VLDB entry of the target/destination volume. This entry is then modified to match the restore changes, locked via VL_SetLock, and replaced via VL_ReplaceEntryN. Unfortunately, this allows for a race with other volume operations against the same volume, if another operation alters the entry after we call VLDB_GetEntryByID but before ubik_VL_SetLock. To avoid this, call GetLockedEntry to ensure that the entry is locked while we are reading and modifying it. Change-Id: I772ef80158205f45c04f8ef0aa95726f1f2c4ac4 Reviewed-on: https://gerrit.openafs.org/14354 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> Reviewed-by: Mark Vitale <mvitale@sinenomine.net> Reviewed-by: Andrew Deason <adeason@sinenomine.net> |
||
---|---|---|
build-tools | ||
doc | ||
src | ||
tests | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.splintrc | ||
acinclude.m4 | ||
CODING | ||
configure-libafs.ac | ||
configure.ac | ||
CONTRIBUTING | ||
INSTALL | ||
libafsdep | ||
LICENSE | ||
Makefile-libafs.in | ||
Makefile.in | ||
NEWS | ||
NTMakefile | ||
README | ||
README-WINDOWS | ||
regen.sh |
AFS is a distributed file system that enables users to share and access all of the files stored in a network of computers as easily as they access the files stored on their local machines. The file system is called distributed for this exact reason: files can reside on many different machines, but are available to users on every machine. OpenAFS 1.0 was originally released by IBM under the terms of the IBM Public License 1.0 (IPL10). For details on IPL10 see the LICENSE file in this directory. The current OpenAFS distribution is licensed under a combination of the IPL10 and many other licenses as granted by the relevant copyright holders. The LICENSE file in this directory contains more details, thought it is not a comprehensive statement. See INSTALL for information about building and installing OpenAFS on various platforms. See CODING for developer information and guidelines. See NEWS for recent changes to OpenAFS.