mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
22e8fa88d1
When restoring a volume with a regular file, vos restore verifies the dump file is terminated with the end-of-dump magic number before sending the dump to the volume server. Unfortunately, this check is done after the target volume is deleted (which happens when doing a full restore of a volume), in which case the target volume is unnecessarily removed. Currently, UV_RestoreVolume2() invokes the WriteData() function as callback to transmit the dump stream to the volume server. WriteData() opens the usd file handle, performs the end-of-dump magic check (if the file is seekable), sends the data using the SendFile() helper function, then closes the dump file handle. Instead, open and check the dump file magic before calling UV_RestoreVolume2(). Pass the usd file handle and a pointer to the SendFile() function to UV_RestoreVolume2() to send the dump data to the volume server. Move the code to perform the dump file magic check to the new CheckDumpFile() helper function and remove the now unneeded WriteData() function. Change-Id: Ia04f378540b40c2e6360aa120592fbd793c33cae Reviewed-on: https://gerrit.openafs.org/14710 Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> Tested-by: BuildBot <buildbot@rampaginggeek.com> 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.