CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fs_traversal.cc File Reference
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#include <fstream>
#include <map>
#include <vector>
#include "atomic.h"
#include "cvmfs_config.h"
#include "libcvmfs.h"
#include "logging.h"
#include "platform.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 "smalloc.h"
#include "statistics.h"
#include "util/posix.h"
#include "util/string.h"
#include "util_concurrency.h"
Include dependency graph for fs_traversal.cc:

Go to the source code of this file.

Classes

class  shrinkwrap::anonymous_namespace{fs_traversal.cc}::FileCopy
 
class  shrinkwrap::anonymous_namespace{fs_traversal.cc}::RecDir
 
struct  shrinkwrap::MainWorkerContext
 
struct  shrinkwrap::MainWorkerSpecificContext
 

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_traversalshrinkwrap::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::Statisticsshrinkwrap::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_
 
SpecTreeshrinkwrap::anonymous_namespace{fs_traversal.cc}::spec_tree_ = new SpecTree('*')
 

Enumeration Type Documentation

enum Errors
Enumerator
kErrorOk 
kErrorFixed 
kErrorReboot 
kErrorUnfixed 
kErrorOperational 
kErrorUsage 
kErrorOk 
kErrorFixed 
kErrorReboot 
kErrorUnfixed 
kErrorOperational 
kErrorUsage 

Definition at line 32 of file fs_traversal.cc.

Function Documentation

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().

Here is the caller graph for this function: