CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
interface.cc File Reference
#include "interface.h"
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <utime.h>
#include <cstring>
#include <map>
#include <string>
#include <vector>
#include "garbage_collector.h"
#include "hash.h"
#include "helpers.h"
#include "libcvmfs.h"
#include "logging.h"
#include "shrinkwrap/fs_traversal_interface.h"
#include "shrinkwrap/util.h"
#include "smalloc.h"
#include "util/posix.h"
#include "util/string.h"
#include "xattr.h"
Include dependency graph for interface.cc:

Go to the source code of this file.

Classes

struct  posix_file_handle
 

Functions

void posix_list_dir (struct fs_traversal_context *ctx, const char *dir, char ***buf, size_t *len)
 
int posix_get_stat (struct fs_traversal_context *ctx, const char *path, struct cvmfs_attr *stat_result, bool get_hash)
 
int posix_set_meta (struct fs_traversal_context *ctx, const char *path, const struct cvmfs_attr *stat_info)
 
char * posix_get_identifier (struct fs_traversal_context *ctx, const struct cvmfs_attr *stat)
 
bool posix_has_file (struct fs_traversal_context *ctx, const char *ident)
 
int posix_do_unlink (struct fs_traversal_context *ctx, const char *path)
 
int posix_do_rmdir (struct fs_traversal_context *ctx, const char *path)
 
int posix_do_link (struct fs_traversal_context *ctx, const char *path, const char *identifier)
 
int posix_do_mkdir (struct fs_traversal_context *ctx, const char *path, const struct cvmfs_attr *stat_info)
 
int posix_do_symlink (struct fs_traversal_context *ctx, const char *src, const char *dest, const struct cvmfs_attr *stat_info)
 
int posix_touch (struct fs_traversal_context *ctx, const struct cvmfs_attr *stat_info)
 
bool posix_is_hash_consistent (struct fs_traversal_context *ctx, const struct cvmfs_attr *stat_info)
 
void * posix_get_handle (struct fs_traversal_context *ctx, const char *identifier)
 
int posix_do_fopen (void *file_ctx, fs_open_type op_mode)
 
int posix_do_fclose (void *file_ctx)
 
int posix_do_fread (void *file_ctx, char *buff, size_t len, size_t *read_len)
 
int posix_do_fwrite (void *file_ctx, const char *buff, size_t len)
 
void posix_do_ffree (void *file_ctx)
 
int posix_garbage_collector (struct fs_traversal_context *ctx)
 
bool posix_archive_config (std::string config_name, std::string prov_name)
 
void posix_write_provenance_info (struct fs_traversal_context *ctx, const char *info_file)
 
void posix_archive_provenance (struct fs_traversal_context *src, struct fs_traversal_context *dest)
 
struct fs_traversal_contextposix_initialize (const char *repo, const char *base, const char *data, const char *config, int num_threads)
 
void posix_finalize (struct fs_traversal_context *ctx)
 
struct fs_traversalposix_get_interface ()
 
int posix_cleanup_path (struct fs_traversal_context *ctx, const char *path)
 
bool EnableWriteAccess (posix_file_handle *handle)
 

Function Documentation

bool EnableWriteAccess ( posix_file_handle handle)

Definition at line 476 of file interface.cc.

Referenced by posix_do_fopen().

Here is the caller graph for this function:

bool posix_archive_config ( std::string  config_name,
std::string  prov_name 
)

Definition at line 566 of file interface.cc.

Referenced by posix_archive_provenance().

Here is the call graph for this function:

Here is the caller graph for this function:

void posix_archive_provenance ( struct fs_traversal_context src,
struct fs_traversal_context dest 
)

Definition at line 643 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_cleanup_path ( struct fs_traversal_context ctx,
const char *  path 
)

Definition at line 161 of file interface.cc.

Referenced by posix_do_link(), posix_do_mkdir(), and posix_do_symlink().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_fclose ( void *  file_ctx)

Definition at line 512 of file interface.cc.

Referenced by posix_do_ffree(), and posix_get_interface().

Here is the caller graph for this function:

void posix_do_ffree ( void *  file_ctx)

Definition at line 553 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_fopen ( void *  file_ctx,
fs_open_type  op_mode 
)

Definition at line 485 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_fread ( void *  file_ctx,
char *  buff,
size_t  len,
size_t *  read_len 
)

Definition at line 531 of file interface.cc.

Referenced by posix_get_interface().

Here is the caller graph for this function:

int posix_do_fwrite ( void *  file_ctx,
const char *  buff,
size_t  len 
)

Definition at line 542 of file interface.cc.

Referenced by posix_get_interface().

Here is the caller graph for this function:

int posix_do_link ( struct fs_traversal_context ctx,
const char *  path,
const char *  identifier 
)

Definition at line 342 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_mkdir ( struct fs_traversal_context ctx,
const char *  path,
const struct cvmfs_attr stat_info 
)

Definition at line 386 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_rmdir ( struct fs_traversal_context ctx,
const char *  path 
)

Definition at line 330 of file interface.cc.

Referenced by posix_cleanup_path(), and posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_symlink ( struct fs_traversal_context ctx,
const char *  src,
const char *  dest,
const struct cvmfs_attr stat_info 
)

Definition at line 403 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_do_unlink ( struct fs_traversal_context ctx,
const char *  path 
)

Definition at line 306 of file interface.cc.

Referenced by posix_cleanup_path(), and posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

void posix_finalize ( struct fs_traversal_context ctx)

Definition at line 755 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_garbage_collector ( struct fs_traversal_context ctx)

Definition at line 562 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

void * posix_get_handle ( struct fs_traversal_context ctx,
const char *  identifier 
)

Definition at line 468 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

char * posix_get_identifier ( struct fs_traversal_context ctx,
const struct cvmfs_attr stat 
)

Definition at line 289 of file interface.cc.

Referenced by posix_get_interface(), posix_is_hash_consistent(), and posix_touch().

Here is the call graph for this function:

Here is the caller graph for this function:

struct fs_traversal* posix_get_interface ( )

This file is part of the CernVM File System.

Definition at line 131 of file interface.cc.

Referenced by shrinkwrap::FindInterface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_get_stat ( struct fs_traversal_context ctx,
const char *  path,
struct cvmfs_attr stat_result,
bool  get_hash 
)

Definition at line 228 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

bool posix_has_file ( struct fs_traversal_context ctx,
const char *  ident 
)

Definition at line 301 of file interface.cc.

Referenced by posix_get_interface(), posix_is_hash_consistent(), and posix_touch().

Here is the call graph for this function:

Here is the caller graph for this function:

struct fs_traversal_context * posix_initialize ( const char *  repo,
const char *  base,
const char *  data,
const char *  config,
int  num_threads 
)

Definition at line 685 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

bool posix_is_hash_consistent ( struct fs_traversal_context ctx,
const struct cvmfs_attr stat_info 
)

Definition at line 441 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

void posix_list_dir ( struct fs_traversal_context ctx,
const char *  dir,
char ***  buf,
size_t *  len 
)

INTERFACE FUNCTION IMPLEMENTATIONS

Definition at line 198 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_set_meta ( struct fs_traversal_context ctx,
const char *  path,
const struct cvmfs_attr stat_info 
)

Definition at line 282 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

int posix_touch ( struct fs_traversal_context ctx,
const struct cvmfs_attr stat_info 
)

Definition at line 421 of file interface.cc.

Referenced by posix_get_interface().

Here is the call graph for this function:

Here is the caller graph for this function:

void posix_write_provenance_info ( struct fs_traversal_context ctx,
const char *  info_file 
)

Definition at line 620 of file interface.cc.

Referenced by posix_archive_provenance().

Here is the caller graph for this function: