GCC Code Coverage Report


Directory: cvmfs/
File: cvmfs/server_tool_impl.h
Date: 2024-04-28 02:33:07
Exec Total Coverage
Lines: 0 18 0.0%
Branches: 0 18 0.0%

Line Branch Exec Source
1 /**
2 * This file is part of the CernVM File System.
3 */
4
5 #ifndef CVMFS_SERVER_TOOL_IMPL_H_
6 #define CVMFS_SERVER_TOOL_IMPL_H_
7
8 #include <string>
9
10 template <class ObjectFetcherT>
11 manifest::Reflog *ServerTool::FetchReflog(ObjectFetcherT *object_fetcher,
12 const std::string &repo_name,
13 const shash::Any &reflog_hash) {
14 // try to fetch the Reflog from the backend storage first
15 manifest::Reflog *reflog = NULL;
16 typename ObjectFetcherT::Failures f =
17 object_fetcher->FetchReflog(reflog_hash, &reflog);
18
19 switch (f) {
20 case ObjectFetcherT::kFailOk:
21 LogCvmfs(kLogCvmfs, kLogDebug, "fetched reflog '%s' from backend storage",
22 reflog->database_file().c_str());
23 break;
24
25 case ObjectFetcherT::kFailNotFound:
26 LogCvmfs(kLogCvmfs, kLogStderr,
27 "reflog for '%s' not found but reflog checksum is present "
28 "(either in the manifest key 'Y' or in the reflog.chksum file); "
29 "run `cvmfs_server check -r` to fix.",
30 repo_name.c_str());
31 return NULL;
32
33 case ObjectFetcherT::kFailBadData:
34 LogCvmfs(kLogCvmfs, kLogStderr,
35 "data corruption in .cvmfsreflog for %s, run "
36 "`cvmfs_server check -r` to fix",
37 repo_name.c_str());
38 return NULL;
39
40 default:
41 LogCvmfs(kLogCvmfs, kLogStderr,
42 "failed loading reflog (%d - %s)", f, Code2Ascii(f));
43 return NULL;
44 }
45
46 assert(reflog != NULL);
47 return reflog;
48 }
49
50 #endif // CVMFS_SERVER_TOOL_IMPL_H_
51