CernVM-FS  2.11.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages File Reference
#include "cvmfs_config.h"
#include "sqlitevfs.h"
#include <dlfcn.h>
#include <errno.h>
#include <fcntl.h>
#include <inttypes.h>
#include <stdint.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
#include <cassert>
#include <climits>
#include <cstring>
#include <ctime>
#include <vector>
#include "cache.h"
#include "duplex_sqlite3.h"
#include "statistics.h"
#include "util/logging.h"
#include "util/platform.h"
#include "util/smalloc.h"
#include "util/string.h"
Include dependency graph for

Go to the source code of this file.


struct  sqlite::anonymous_namespace{}::VfsRdOnly
struct  sqlite::anonymous_namespace{}::VfsRdOnlyFile






static void sqlite::ApplyFdMap (VfsRdOnlyFile *pFile)
static int sqlite::VfsRdOnlyClose (sqlite3_file *pFile)
static int sqlite::VfsRdOnlyRead (sqlite3_file *pFile, void *zBuf, int iAmt, sqlite_int64 iOfst)
static int sqlite::VfsRdOnlyWrite (sqlite3_file *pFile __attribute__((unused)), const void *zBuf __attribute__((unused)), int iAmt __attribute__((unused)), sqlite_int64 iOfst __attribute__((unused)))
static int sqlite::VfsRdOnlyTruncate (sqlite3_file *pFile __attribute__((unused)), sqlite_int64 size __attribute__((unused)))
static int sqlite::VfsRdOnlySync (sqlite3_file *pFile __attribute__((unused)), int flags __attribute__((unused)))
static int sqlite::VfsRdOnlyFileSize (sqlite3_file *pFile, sqlite_int64 *pSize)
static int sqlite::VfsRdOnlyLock (sqlite3_file *p __attribute__((unused)), int level __attribute__((unused)))
static int sqlite::VfsRdOnlyUnlock (sqlite3_file *p __attribute__((unused)), int level __attribute__((unused)))
static int sqlite::VfsRdOnlyCheckReservedLock (sqlite3_file *p __attribute__((unused)), int *pResOut)
static int sqlite::VfsRdOnlyFileControl (sqlite3_file *p __attribute__((unused)), int op __attribute__((unused)), void *pArg __attribute__((unused)))
static int sqlite::VfsRdOnlySectorSize (sqlite3_file *p __attribute__((unused)))
static int sqlite::VfsRdOnlyDeviceCharacteristics (sqlite3_file *p __attribute__((unused)))
static int sqlite::VfsRdOnlyOpen (sqlite3_vfs *vfs, const char *zName, sqlite3_file *pFile, int flags, int *pOutFlags)
static int sqlite::VfsRdOnlyDelete (sqlite3_vfs *__attribute__((unused)), const char *zName __attribute__((unused)), int syncDir __attribute__((unused)))
static int sqlite::VfsRdOnlyAccess (sqlite3_vfs *vfs, const char *zPath, int flags, int *pResOut)
int sqlite::VfsRdOnlyFullPathname (sqlite3_vfs *vfs __attribute__((unused)), const char *zPath, int nOut, char *zOut)
static int sqlite::VfsRdOnlyRandomness (sqlite3_vfs *vfs, int nBuf, char *zBuf)
static int sqlite::VfsRdOnlySleep (sqlite3_vfs *vfs, int microseconds)
static int sqlite::VfsRdOnlyCurrentTimeInt64 (sqlite3_vfs *vfs, sqlite3_int64 *piNow)
static int sqlite::VfsRdOnlyCurrentTime (sqlite3_vfs *vfs, double *prNow)
static int sqlite::VfsRdOnlyGetLastError (sqlite3_vfs *vfs __attribute__((unused)), int not_used1 __attribute__((unused)), char *not_used2 __attribute__((unused)))
bool sqlite::RegisterVfsRdOnly (CacheManager *cache_mgr, perf::Statistics *statistics, const VfsOptions options)
bool sqlite::UnregisterVfsRdOnly ()
void sqlite::RegisterFdMapping (int from, int to)


const char * sqlite::anonymous_namespace{}::kVfsName = "cvmfs-readonly"
std::vector< int > * sqlite::anonymous_namespace{}::fd_from_ = NULL
std::vector< int > * sqlite::anonymous_namespace{}::fd_to_ = NULL

Macro Definition Documentation


This file is part of the CernVM File System.

An optimized virtual file system layer for the client only. It expects to operate on immutable, valid SQlite files. Hence it can do a few optimiziations. Most notably it doesn't need to know about the path of the SQlite file once opened. It works purely on the file descriptor.

Definition at line 11 of file