CernVM-FS
2.12.0
|
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <fstream>
#include <map>
#include <vector>
#include "libcvmfs.h"
#include "shrinkwrap/fs_traversal.h"
#include "shrinkwrap/fs_traversal_interface.h"
#include "shrinkwrap/fs_traversal_libcvmfs.h"
#include "shrinkwrap/posix/interface.h"
#include "shrinkwrap/spec_tree.h"
#include "statistics.h"
#include "util/atomic.h"
#include "util/concurrency.h"
#include "util/logging.h"
#include "util/platform.h"
#include "util/posix.h"
#include "util/smalloc.h"
#include "util/string.h"
Go to the source code of this file.
Namespaces | |
shrinkwrap | |
shrinkwrap::anonymous_namespace{fs_traversal.cc} | |
Enumerations | |
enum | Errors { kErrorOk = 0, kErrorFixed = 1, kErrorReboot = 2, kErrorUnfixed = 4, kErrorOperational = 8, kErrorUsage = 16, kErrorOk = 0, kErrorFixed = 1, kErrorReboot = 2, kErrorUnfixed = 4, kErrorOperational = 8, kErrorUsage = 16 } |
Functions | |
int | strcmp_list (const void *a, const void *b) |
struct fs_traversal * | shrinkwrap::FindInterface (const char *type) |
bool | shrinkwrap::cvmfs_attr_cmp (struct cvmfs_attr *src, struct cvmfs_attr *dest, struct fs_traversal *dest_fs) |
bool | shrinkwrap::copyFile (struct fs_traversal *src_fs, const char *src_name, struct fs_traversal *dest_fs, const char *dest_name, perf::Statistics *pstats) |
char * | shrinkwrap::get_full_path (const char *dir, const char *entry) |
bool | shrinkwrap::updateStat (struct fs_traversal *fs, const char *entry, struct cvmfs_attr **st, bool get_hash) |
bool | shrinkwrap::getNext (struct fs_traversal *fs, const char *dir, char **dir_list, char **entry, ssize_t *iter, struct cvmfs_attr **st, bool get_hash, bool is_src, perf::Statistics *pstats) |
void | shrinkwrap::list_src_dir (struct fs_traversal *src, const char *dir, char ***buf, size_t *len) |
bool | shrinkwrap::handle_file (struct fs_traversal *src, struct cvmfs_attr *src_st, struct fs_traversal *dest, struct cvmfs_attr *dest_st, const char *entry, perf::Statistics *pstats) |
bool | shrinkwrap::handle_dir (struct fs_traversal *src, struct cvmfs_attr *src_st, struct fs_traversal *dest, struct cvmfs_attr *dest_st, const char *entry) |
void | shrinkwrap::add_dir_for_sync (const char *dir, bool recursive) |
int | shrinkwrap::robust_strcmp (const char *src, const char *dest) |
bool | shrinkwrap::Sync (const char *dir, struct fs_traversal *src, struct fs_traversal *dest, bool recursive, perf::Statistics *pstats) |
bool | shrinkwrap::SyncFull (struct fs_traversal *src, struct fs_traversal *dest, perf::Statistics *pstats, uint64_t last_print_time) |
static void * | shrinkwrap::MainWorker (void *data) |
perf::Statistics * | shrinkwrap::GetSyncStatTemplate () |
int | shrinkwrap::SyncInit (struct fs_traversal *src, struct fs_traversal *dest, const char *base, const char *spec, uint64_t parallel, uint64_t stat_period) |
int | shrinkwrap::GarbageCollect (struct fs_traversal *fs) |
Variables | |
unsigned | shrinkwrap::anonymous_namespace{fs_traversal.cc}::num_parallel_ = 0 |
bool | shrinkwrap::anonymous_namespace{fs_traversal.cc}::recursive = true |
uint64_t | shrinkwrap::anonymous_namespace{fs_traversal.cc}::stat_update_period_ = 0 |
int | shrinkwrap::anonymous_namespace{fs_traversal.cc}::pipe_chunks [2] |
pthread_mutex_t | shrinkwrap::anonymous_namespace{fs_traversal.cc}::lock_pipe = PTHREAD_MUTEX_INITIALIZER |
atomic_int64 | shrinkwrap::anonymous_namespace{fs_traversal.cc}::copy_queue |
vector< RecDir * > | shrinkwrap::anonymous_namespace{fs_traversal.cc}::dirs_ |
SpecTree * | shrinkwrap::anonymous_namespace{fs_traversal.cc}::spec_tree_ = new SpecTree('*') |
enum Errors |
Enumerator | |
---|---|
kErrorOk | |
kErrorFixed | |
kErrorReboot | |
kErrorUnfixed | |
kErrorOperational | |
kErrorUsage | |
kErrorOk | |
kErrorFixed | |
kErrorReboot | |
kErrorUnfixed | |
kErrorOperational | |
kErrorUsage |
Definition at line 32 of file fs_traversal.cc.
int strcmp_list | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 41 of file fs_traversal.cc.
Referenced by shrinkwrap::list_src_dir(), and shrinkwrap::Sync().