CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FileSystem Class Reference

#include <mountpoint.h>

Inheritance diagram for FileSystem:
Collaboration diagram for FileSystem:

Classes

struct  FileSystemInfo
 
struct  PosixCacheSettings
 

Public Types

enum  Type { kFsFuse = 0, kFsLibrary }
 

Public Member Functions

 ~FileSystem ()
 
bool IsNfsSource ()
 
bool IsHaNfsSource ()
 
void ResetErrorCounters ()
 
void TearDown2ReadOnly ()
 
void RemapCatalogFd (int from, int to)
 
CacheManagercache_mgr ()
 
std::string cache_mgr_instance ()
 
std::string exe_path ()
 
bool found_previous_crash ()
 
Log2Histogramhist_fs_lookup ()
 
Log2Histogramhist_fs_forget ()
 
Log2Histogramhist_fs_forget_multi ()
 
Log2Histogramhist_fs_getattr ()
 
Log2Histogramhist_fs_readlink ()
 
Log2Histogramhist_fs_opendir ()
 
Log2Histogramhist_fs_releasedir ()
 
Log2Histogramhist_fs_readdir ()
 
Log2Histogramhist_fs_open ()
 
Log2Histogramhist_fs_read ()
 
Log2Histogramhist_fs_release ()
 
perf::Countern_fs_dir_open ()
 
perf::Countern_fs_forget ()
 
perf::Countern_fs_lookup ()
 
perf::Countern_fs_lookup_negative ()
 
perf::Countern_fs_open ()
 
perf::Countern_fs_read ()
 
perf::Countern_fs_readlink ()
 
perf::Countern_fs_stat ()
 
perf::Countern_io_error ()
 
std::string name ()
 
NfsMapsnfs_maps ()
 
perf::Counterno_open_dirs ()
 
perf::Counterno_open_files ()
 
OptionsManageroptions_mgr ()
 
perf::Statisticsstatistics ()
 
Type type ()
 
cvmfs::Uuiduuid_cache ()
 
std::string workspace ()
 
- Public Member Functions inherited from BootFactory
 BootFactory ()
 
bool IsValid ()
 
loader::Failures boot_status ()
 
std::string boot_error ()
 
void set_boot_status (loader::Failures code)
 

Static Public Member Functions

static FileSystemCreate (const FileSystemInfo &fs_info)
 

Static Public Attributes

static const unsigned kNfsNone = 0x00
 
static const unsigned kNfsMaps = 0x01
 
static const unsigned kNfsMapsHa = 0x02
 

Private Member Functions

 FRIEND_TEST (T_MountPoint, MkCacheParm)
 
 FRIEND_TEST (T_MountPoint, CacheSettings)
 
 FRIEND_TEST (T_MountPoint, CheckInstanceName)
 
 FRIEND_TEST (T_MountPoint, CheckPosixCacheSettings)
 
 FileSystem (const FileSystemInfo &fs_info)
 
void SetupLogging ()
 
void CreateStatistics ()
 
void SetupSqlite ()
 
bool DetermineNfsMode ()
 
bool SetupWorkspace ()
 
bool SetupCwd ()
 
bool LockWorkspace ()
 
bool SetupCrashGuard ()
 
bool SetupNfsMaps ()
 
void SetupUuid ()
 
std::string MkCacheParm (const std::string &generic_parameter, const std::string &instance)
 
bool CheckInstanceName (const std::string &instance)
 
bool TriageCacheMgr ()
 
CacheManagerSetupCacheMgr (const std::string &instance)
 
CacheManagerSetupPosixCacheMgr (const std::string &instance)
 
CacheManagerSetupRamCacheMgr (const std::string &instance)
 
CacheManagerSetupTieredCacheMgr (const std::string &instance)
 
CacheManagerSetupExternalCacheMgr (const std::string &instance)
 
PosixCacheSettings DeterminePosixCacheSettings (const std::string &instance)
 
bool CheckPosixCacheSettings (const PosixCacheSettings &settings)
 
bool SetupPosixQuotaMgr (const PosixCacheSettings &settings, CacheManager *cache_mgr)
 
- Private Member Functions inherited from SingleCopy
 SingleCopy ()
 

Static Private Member Functions

static void LogSqliteError (void *user_data __attribute__((unused)), int sqlite_extended_error, const char *message)
 

Private Attributes

std::string name_
 
std::string exe_path_
 
Type type_
 
OptionsManageroptions_mgr_
 
bool wait_workspace_
 
bool foreground_
 
perf::Countern_fs_open_
 
perf::Countern_fs_dir_open_
 
perf::Countern_fs_lookup_
 
perf::Countern_fs_lookup_negative_
 
perf::Countern_fs_stat_
 
perf::Countern_fs_read_
 
perf::Countern_fs_readlink_
 
perf::Countern_fs_forget_
 
perf::Countern_io_error_
 
perf::Counterno_open_files_
 
perf::Counterno_open_dirs_
 
perf::Statisticsstatistics_
 
Log2Histogramhist_fs_lookup_
 
Log2Histogramhist_fs_forget_
 
Log2Histogramhist_fs_forget_multi_
 
Log2Histogramhist_fs_getattr_
 
Log2Histogramhist_fs_readlink_
 
Log2Histogramhist_fs_opendir_
 
Log2Histogramhist_fs_releasedir_
 
Log2Histogramhist_fs_readdir_
 
Log2Histogramhist_fs_open_
 
Log2Histogramhist_fs_read_
 
Log2Histogramhist_fs_release_
 
std::string workspace_
 
std::string workspace_fullpath_
 
int fd_workspace_lock_
 
std::string path_workspace_lock_
 
std::string path_crash_guard_
 
bool found_previous_crash_
 
std::string mountpoint_
 
std::string cache_mgr_instance_
 
std::set< std::string > constructed_instances_
 
std::string nfs_maps_dir_
 
unsigned nfs_mode_
 
CacheManagercache_mgr_
 
cvmfs::Uuiduuid_cache_
 
NfsMapsnfs_maps_
 
bool has_custom_sqlitevfs_
 

Static Private Attributes

static bool g_alive = false
 
static const char * kDefaultCacheBase = "/var/lib/cvmfs"
 
static const unsigned kDefaultQuotaLimit = 1024 * 1024 * 1024
 
static const unsigned kDefaultNfiles = 8192
 
static const char * kDefaultCacheMgrInstance = "default"
 

Additional Inherited Members

- Protected Attributes inherited from BootFactory
loader::Failures boot_status_
 
std::string boot_error_
 

Detailed Description

The FileSystem object initializes cvmfs' global state. It sets up sqlite and the cache directory and it can contain multiple mount points. It currently does so only for libcvmfs; the cvmfs fuse module has exactly one FileSystem object and one MountPoint object.

Definition at line 95 of file mountpoint.h.

Member Enumeration Documentation

Enumerator
kFsFuse 
kFsLibrary 

Definition at line 102 of file mountpoint.h.

Constructor & Destructor Documentation

FileSystem::~FileSystem ( )

Definition at line 386 of file mountpoint.cc.

Here is the call graph for this function:

FileSystem::FileSystem ( const FileSystemInfo fs_info)
explicitprivate

Definition at line 343 of file mountpoint.cc.

Here is the call graph for this function:

Member Function Documentation

std::string FileSystem::cache_mgr_instance ( )
inline

Definition at line 175 of file mountpoint.h.

bool FileSystem::CheckInstanceName ( const std::string &  instance)
private

A cache instance name is part of a bash parameter and can only contain certain characters.

Definition at line 87 of file mountpoint.cc.

Referenced by TriageCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::CheckPosixCacheSettings ( const PosixCacheSettings settings)
private

Not all possible combinations of cache flags / modes are valid.

Definition at line 104 of file mountpoint.cc.

Referenced by SetupPosixCacheMgr().

Here is the caller graph for this function:

FileSystem * FileSystem::Create ( const FileSystemInfo fs_info)
static

Creation of state and manager classes. The destructor should mirror this method.

Definition at line 144 of file mountpoint.cc.

Referenced by LibGlobals::Initialize(), and InitSystemFs().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::CreateStatistics ( )
private

Definition at line 186 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::DetermineNfsMode ( )
private

Definition at line 321 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

FileSystem::PosixCacheSettings FileSystem::DeterminePosixCacheSettings ( const std::string &  instance)
private

Figure out mode of operation and cache directory. Checking options for sanity is in a separate method.

Definition at line 244 of file mountpoint.cc.

Referenced by SetupPosixCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string FileSystem::exe_path ( )
inline

Definition at line 176 of file mountpoint.h.

bool FileSystem::found_previous_crash ( )
inline

Definition at line 177 of file mountpoint.h.

FileSystem::FRIEND_TEST ( T_MountPoint  ,
MkCacheParm   
)
private
FileSystem::FRIEND_TEST ( T_MountPoint  ,
CacheSettings   
)
private
FileSystem::FRIEND_TEST ( T_MountPoint  ,
CheckInstanceName   
)
private
FileSystem::FRIEND_TEST ( T_MountPoint  ,
CheckPosixCacheSettings   
)
private
Log2Histogram* FileSystem::hist_fs_forget ( )
inline

Definition at line 179 of file mountpoint.h.

Referenced by cvmfs::cvmfs_forget(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_forget_multi ( )
inline

Definition at line 180 of file mountpoint.h.

Referenced by TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_getattr ( )
inline

Definition at line 181 of file mountpoint.h.

Referenced by cvmfs::cvmfs_getattr(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_lookup ( )
inline

Definition at line 178 of file mountpoint.h.

Referenced by cvmfs::cvmfs_lookup(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_open ( )
inline

Definition at line 186 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_opendir ( )
inline

Definition at line 183 of file mountpoint.h.

Referenced by cvmfs::cvmfs_opendir(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_read ( )
inline

Definition at line 187 of file mountpoint.h.

Referenced by cvmfs::cvmfs_read(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_readdir ( )
inline

Definition at line 185 of file mountpoint.h.

Referenced by cvmfs::cvmfs_readdir(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_readlink ( )
inline

Definition at line 182 of file mountpoint.h.

Referenced by cvmfs::cvmfs_readlink(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_release ( )
inline

Definition at line 188 of file mountpoint.h.

Referenced by cvmfs::cvmfs_release(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

Log2Histogram* FileSystem::hist_fs_releasedir ( )
inline

Definition at line 184 of file mountpoint.h.

Referenced by cvmfs::cvmfs_releasedir(), TalkManager::FormatLatencies(), and TalkManager::MainResponder().

Here is the caller graph for this function:

bool FileSystem::IsHaNfsSource ( )
inline

Definition at line 169 of file mountpoint.h.

Referenced by SetupNfsMaps().

Here is the caller graph for this function:

bool FileSystem::IsNfsSource ( )
inline
bool FileSystem::LockWorkspace ( )
private

Definition at line 432 of file mountpoint.cc.

Referenced by SetupWorkspace().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::LogSqliteError ( void *user_data   __attribute__(unused),
int  sqlite_extended_error,
const char *  message 
)
staticprivate

Definition at line 463 of file mountpoint.cc.

Referenced by SetupSqlite().

Here is the caller graph for this function:

string FileSystem::MkCacheParm ( const std::string &  generic_parameter,
const std::string &  instance 
)
private

Creates the cache parameter for a specific instance of the cache. Injects the instance name such that CVMFS_CACHE_FOO_BAR becomes CVMFS_CACHE_<INSTANCE>_FOO_BAR

Definition at line 498 of file mountpoint.cc.

Referenced by FileSystem(), SetupCacheMgr(), SetupExternalCacheMgr(), SetupRamCacheMgr(), and SetupTieredCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_dir_open ( )
inline

Definition at line 190 of file mountpoint.h.

Referenced by cvmfs::cvmfs_opendir(), and NDirOpenMagicXattr::GetValue().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_forget ( )
inline

Definition at line 191 of file mountpoint.h.

Referenced by cvmfs::cvmfs_forget().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_lookup ( )
inline

Definition at line 192 of file mountpoint.h.

Referenced by cvmfs::cvmfs_lookup().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_lookup_negative ( )
inline

Definition at line 193 of file mountpoint.h.

Referenced by cvmfs::cvmfs_lookup().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_open ( )
inline

Definition at line 194 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open(), and NOpenMagicXattr::GetValue().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_read ( )
inline

Definition at line 195 of file mountpoint.h.

Referenced by cvmfs::cvmfs_read().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_readlink ( )
inline

Definition at line 196 of file mountpoint.h.

Referenced by cvmfs::cvmfs_readlink().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_fs_stat ( )
inline

Definition at line 197 of file mountpoint.h.

Referenced by cvmfs::cvmfs_getattr().

Here is the caller graph for this function:

perf::Counter* FileSystem::n_io_error ( )
inline

Definition at line 198 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open(), NIOErrMagicXattr::GetValue(), and FuseRemounter::SetOfflineMode().

Here is the caller graph for this function:

std::string FileSystem::name ( )
inline

Definition at line 199 of file mountpoint.h.

Referenced by MountPoint::GetUniqFileSuffix().

Here is the caller graph for this function:

NfsMaps* FileSystem::nfs_maps ( )
inline

Definition at line 200 of file mountpoint.h.

Referenced by cvmfs::GetDirentForInode(), cvmfs::GetDirentForPath(), cvmfs::GetPathForInode(), TalkManager::MainResponder(), and Spawn().

Here is the caller graph for this function:

perf::Counter* FileSystem::no_open_dirs ( )
inline

Definition at line 201 of file mountpoint.h.

Referenced by cvmfs::cvmfs_opendir(), cvmfs::cvmfs_releasedir(), UsedDirPMagicXattr::GetValue(), and RestoreState().

Here is the caller graph for this function:

perf::Counter* FileSystem::no_open_files ( )
inline

Definition at line 202 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open(), cvmfs::cvmfs_release(), UsedFdMagicXattr::GetValue(), and RestoreState().

Here is the caller graph for this function:

OptionsManager* FileSystem::options_mgr ( )
inline

Definition at line 203 of file mountpoint.h.

Referenced by Create(), MountPoint::Create(), Init(), and TalkManager::MainResponder().

Here is the caller graph for this function:

void FileSystem::RemapCatalogFd ( int  from,
int  to 
)

Definition at line 1050 of file mountpoint.cc.

Referenced by RestoreState().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::ResetErrorCounters ( )

Definition at line 533 of file mountpoint.cc.

Referenced by TalkManager::MainResponder().

Here is the call graph for this function:

Here is the caller graph for this function:

CacheManager * FileSystem::SetupCacheMgr ( const std::string &  instance)
private

Can be recursive for the tiered cache manager.

Definition at line 541 of file mountpoint.cc.

Referenced by SetupTieredCacheMgr(), and TriageCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::SetupCrashGuard ( )
private

Definition at line 735 of file mountpoint.cc.

Referenced by SetupWorkspace().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::SetupCwd ( )
private

Definition at line 756 of file mountpoint.cc.

Referenced by SetupWorkspace().

Here is the caller graph for this function:

CacheManager * FileSystem::SetupExternalCacheMgr ( const std::string &  instance)
private

Definition at line 575 of file mountpoint.cc.

Referenced by SetupCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::SetupLogging ( )
private

Definition at line 783 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::SetupNfsMaps ( )
private

Definition at line 801 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

CacheManager * FileSystem::SetupPosixCacheMgr ( const std::string &  instance)
private

Definition at line 614 of file mountpoint.cc.

Referenced by SetupCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::SetupPosixQuotaMgr ( const PosixCacheSettings settings,
CacheManager cache_mgr 
)
private

Definition at line 894 of file mountpoint.cc.

Referenced by SetupPosixCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

CacheManager * FileSystem::SetupRamCacheMgr ( const std::string &  instance)
private

Definition at line 644 of file mountpoint.cc.

Referenced by SetupCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::SetupSqlite ( )
private

Definition at line 956 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

CacheManager * FileSystem::SetupTieredCacheMgr ( const std::string &  instance)
private

Definition at line 694 of file mountpoint.cc.

Referenced by SetupCacheMgr().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::SetupUuid ( )
private

Definition at line 1022 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::SetupWorkspace ( )
private

Definition at line 973 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

perf::Statistics* FileSystem::statistics ( )
inline

Definition at line 204 of file mountpoint.h.

Referenced by MountPoint::CreateStatistics().

Here is the caller graph for this function:

void FileSystem::TearDown2ReadOnly ( )

Required by CernVM: the fuse module needs to free r/w file descriptor to the cache in order to properly unravel the file system stack on shutdown.

Definition at line 1037 of file mountpoint.cc.

Referenced by TalkManager::MainResponder().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::TriageCacheMgr ( )
private

Definition at line 1055 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

Type FileSystem::type ( )
inline
cvmfs::Uuid* FileSystem::uuid_cache ( )
inline

Definition at line 206 of file mountpoint.h.

Referenced by MountPoint::CreateDownloadManagers().

Here is the caller graph for this function:

std::string FileSystem::workspace ( )
inline

Definition at line 207 of file mountpoint.h.

Referenced by MountPoint::CreateDownloadManagers(), and MountPoint::SetupExternalDownloadMgr().

Here is the caller graph for this function:

Member Data Documentation

CacheManager* FileSystem::cache_mgr_
private
std::string FileSystem::cache_mgr_instance_
private

The user-provided name of the parimay cache manager or 'default' if none is specified.

Definition at line 347 of file mountpoint.h.

Referenced by cache_mgr_instance(), and TriageCacheMgr().

std::set<std::string> FileSystem::constructed_instances_
private

Keep track of all the cache instances to detect circular definitions with the tiered cache.

Definition at line 352 of file mountpoint.h.

Referenced by SetupCacheMgr().

std::string FileSystem::exe_path_
private

Definition at line 277 of file mountpoint.h.

Referenced by exe_path(), and SetupPosixQuotaMgr().

int FileSystem::fd_workspace_lock_
private

Definition at line 324 of file mountpoint.h.

Referenced by LockWorkspace(), and ~FileSystem().

bool FileSystem::foreground_
private

Definition at line 284 of file mountpoint.h.

Referenced by SetupPosixQuotaMgr().

bool FileSystem::found_previous_crash_
private

A crash guard was found, thus we assume the file system was not shutdown properly last time.

Definition at line 336 of file mountpoint.h.

Referenced by found_previous_crash(), SetupCrashGuard(), SetupNfsMaps(), and SetupPosixQuotaMgr().

bool FileSystem::g_alive = false
staticprivate

Only one instance may be alive at any given time

Definition at line 213 of file mountpoint.h.

Referenced by FileSystem(), and ~FileSystem().

bool FileSystem::has_custom_sqlitevfs_
private

Used internally to remember if the Sqlite memory manager need to be shut down.

Definition at line 374 of file mountpoint.h.

Referenced by Create(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_forget_
private

Definition at line 300 of file mountpoint.h.

Referenced by hist_fs_forget(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_forget_multi_
private

Definition at line 301 of file mountpoint.h.

Referenced by hist_fs_forget_multi(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_getattr_
private

Definition at line 302 of file mountpoint.h.

Referenced by hist_fs_getattr(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_lookup_
private

Definition at line 299 of file mountpoint.h.

Referenced by hist_fs_lookup(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_open_
private

Definition at line 307 of file mountpoint.h.

Referenced by hist_fs_open(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_opendir_
private

Definition at line 304 of file mountpoint.h.

Referenced by hist_fs_opendir(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_read_
private

Definition at line 308 of file mountpoint.h.

Referenced by hist_fs_read(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_readdir_
private

Definition at line 306 of file mountpoint.h.

Referenced by hist_fs_readdir(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_readlink_
private

Definition at line 303 of file mountpoint.h.

Referenced by hist_fs_readlink(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_release_
private

Definition at line 309 of file mountpoint.h.

Referenced by hist_fs_release(), and ~FileSystem().

Log2Histogram* FileSystem::hist_fs_releasedir_
private

Definition at line 305 of file mountpoint.h.

Referenced by hist_fs_releasedir(), and ~FileSystem().

const char * FileSystem::kDefaultCacheBase = "/var/lib/cvmfs"
staticprivate

Definition at line 214 of file mountpoint.h.

Referenced by SetupWorkspace().

const char * FileSystem::kDefaultCacheMgrInstance = "default"
staticprivate

Definition at line 217 of file mountpoint.h.

Referenced by FileSystem(), MkCacheParm(), SetupCacheMgr(), and TriageCacheMgr().

const unsigned FileSystem::kDefaultNfiles = 8192
staticprivate

Definition at line 216 of file mountpoint.h.

Referenced by SetupExternalCacheMgr(), and SetupRamCacheMgr().

const unsigned FileSystem::kDefaultQuotaLimit = 1024 * 1024 * 1024
staticprivate

Definition at line 215 of file mountpoint.h.

const unsigned FileSystem::kNfsMaps = 0x01
static

Normal NFS maps by leveldb

Definition at line 159 of file mountpoint.h.

Referenced by IsNfsSource().

const unsigned FileSystem::kNfsMapsHa = 0x02
static

NFS maps maintained by sqlite so that they can reside on an NFS mount

Definition at line 163 of file mountpoint.h.

Referenced by IsHaNfsSource().

const unsigned FileSystem::kNfsNone = 0x00
static

No NFS maps.

Definition at line 155 of file mountpoint.h.

std::string FileSystem::mountpoint_
private

Only needed for fuse to detect and prevent double mounting at the same location.

Definition at line 342 of file mountpoint.h.

perf::Counter* FileSystem::n_fs_dir_open_
private

Definition at line 287 of file mountpoint.h.

Referenced by n_fs_dir_open().

perf::Counter* FileSystem::n_fs_forget_
private

Definition at line 293 of file mountpoint.h.

Referenced by n_fs_forget().

perf::Counter* FileSystem::n_fs_lookup_
private

Definition at line 288 of file mountpoint.h.

Referenced by n_fs_lookup().

perf::Counter* FileSystem::n_fs_lookup_negative_
private

Definition at line 289 of file mountpoint.h.

Referenced by n_fs_lookup_negative().

perf::Counter* FileSystem::n_fs_open_
private

Definition at line 286 of file mountpoint.h.

Referenced by n_fs_open().

perf::Counter* FileSystem::n_fs_read_
private

Definition at line 291 of file mountpoint.h.

Referenced by n_fs_read().

perf::Counter* FileSystem::n_fs_readlink_
private

Definition at line 292 of file mountpoint.h.

Referenced by n_fs_readlink().

perf::Counter* FileSystem::n_fs_stat_
private

Definition at line 290 of file mountpoint.h.

Referenced by n_fs_stat().

perf::Counter* FileSystem::n_io_error_
private

Definition at line 294 of file mountpoint.h.

Referenced by n_io_error(), and ResetErrorCounters().

std::string FileSystem::name_
private
NfsMaps* FileSystem::nfs_maps_
private

TODO(jblomer): Move to MountPoint. Tricky because of the sqlite maps and the sqlite configuration done for the file catalogs.

Definition at line 369 of file mountpoint.h.

Referenced by nfs_maps(), SetupNfsMaps(), and ~FileSystem().

std::string FileSystem::nfs_maps_dir_
private

Definition at line 353 of file mountpoint.h.

Referenced by SetupNfsMaps().

unsigned FileSystem::nfs_mode_
private

Combination of kNfs... flags

Definition at line 357 of file mountpoint.h.

Referenced by IsHaNfsSource(), and IsNfsSource().

perf::Counter* FileSystem::no_open_dirs_
private

Definition at line 296 of file mountpoint.h.

Referenced by no_open_dirs().

perf::Counter* FileSystem::no_open_files_
private

Definition at line 295 of file mountpoint.h.

Referenced by no_open_files().

std::string FileSystem::path_crash_guard_
private

An empty file that is removed on proper shutdown.

Definition at line 330 of file mountpoint.h.

Referenced by SetupCrashGuard(), TearDown2ReadOnly(), and ~FileSystem().

std::string FileSystem::path_workspace_lock_
private

Definition at line 325 of file mountpoint.h.

Referenced by LockWorkspace(), and ~FileSystem().

perf::Statistics* FileSystem::statistics_
private

Definition at line 297 of file mountpoint.h.

Referenced by Create(), SetupNfsMaps(), SetupRamCacheMgr(), statistics(), and ~FileSystem().

Type FileSystem::type_
private

Definition at line 278 of file mountpoint.h.

Referenced by SetupCwd(), and type().

cvmfs::Uuid* FileSystem::uuid_cache_
private

Persistent for the cache directory + name combination. It is used in the Geo-API to allow for per-client responses when no proxy is used.

Definition at line 363 of file mountpoint.h.

Referenced by SetupUuid(), uuid_cache(), and ~FileSystem().

bool FileSystem::wait_workspace_
private

Definition at line 283 of file mountpoint.h.

Referenced by LockWorkspace().

std::string FileSystem::workspace_
private

A writeable local directory. Only small amounts of data (few bytes) will be stored here. Needed because the cache can be read-only. The workspace and the cache directory can be identical. A workspace can be shared among FileSystem instances if their name is different.

Definition at line 317 of file mountpoint.h.

Referenced by Create(), LockWorkspace(), SetupCrashGuard(), SetupCwd(), SetupNfsMaps(), SetupUuid(), SetupWorkspace(), and workspace().

std::string FileSystem::workspace_fullpath_
private

During setup, the fuse module changes its working directory to workspace. Afterwards, workspace_ is ".". Store the original one in workspace_fullpath_

Definition at line 323 of file mountpoint.h.

Referenced by SetupWorkspace().


The documentation for this class was generated from the following files: