CernVM-FS  2.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
swissknife_sync.cc File Reference
#include "swissknife_sync.h"
#include "cvmfs_config.h"
#include <errno.h>
#include <fcntl.h>
#include <glob.h>
#include <inttypes.h>
#include <limits.h>
#include <sys/capability.h>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <vector>
#include "catalog_mgr_ro.h"
#include "catalog_mgr_rw.h"
#include "catalog_virtual.h"
#include "download.h"
#include "logging.h"
#include "manifest.h"
#include "monitor.h"
#include "path_filters/dirtab.h"
#include "platform.h"
#include "reflog.h"
#include "sanitizer.h"
#include "statistics.h"
#include "statistics_database.h"
#include "swissknife_capabilities.h"
#include "sync_mediator.h"
#include "sync_union.h"
#include "sync_union_aufs.h"
#include "sync_union_overlayfs.h"
#include "util/string.h"
Include dependency graph for swissknife_sync.cc:

Go to the source code of this file.

Classes

struct  chunk_arg
 

Namespaces

 anonymous_namespace{swissknife_sync.cc}
 

Macros

#define _FILE_OFFSET_BITS   64
 
#define __STDC_FORMAT_MACROS
 

Functions

bool anonymous_namespace{swissknife_sync.cc}::GlobCheckPath (const char *name)
 
void * anonymous_namespace{swissknife_sync.cc}::GlobOpendir (const char *name)
 
void anonymous_namespace{swissknife_sync.cc}::GlobClosedir (void *dirp)
 
struct dirent * anonymous_namespace{swissknife_sync.cc}::GlobReaddir (void *dirp)
 
int anonymous_namespace{swissknife_sync.cc}::GlobLstat (const char *name, struct stat *st)
 
int anonymous_namespace{swissknife_sync.cc}::GlobStat (const char *name, struct stat *st)
 

Variables

std::string * anonymous_namespace{swissknife_sync.cc}::g_glob_uniondir = NULL
 

Macro Definition Documentation

#define __STDC_FORMAT_MACROS

Definition at line 22 of file swissknife_sync.cc.

#define _FILE_OFFSET_BITS   64

This file is part of the CernVM File System

This tool figures out the changes made to a cvmfs repository by means of a union file system mounted on top of a cvmfs volume. We take all three volumes (namely union, overlay and repository) into account to sync the changes back into the repository.

On the repository side we have a catalogs directory that mimicks the shadow directory structure and stores compressed and uncompressed versions of all catalogs. The raw data are stored in the data subdirectory in zlib-compressed form. They are named with their SHA-1 hash of the compressed file (like in CVMFS client cache, but with a 2-level cache hierarchy). Symlinks from the catalog directory to the data directory form the connection. If necessary, add a .htaccess file to allow Apache to follow the symlinks.

Definition at line 20 of file swissknife_sync.cc.