CernVM-FS  2.12.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
 
class  IoErrorInfo
 
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)
 
void ReplaceCacheManager (CacheManager *new_cache_mgr)
 
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_inode_replace ()
 
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_fs_stat_stale ()
 
perf::Countern_fs_statfs ()
 
perf::Countern_fs_statfs_cached ()
 
IoErrorInfoio_error_info ()
 
std::string name ()
 
NfsMapsnfs_maps ()
 
perf::Counterno_open_dirs ()
 
perf::Counterno_open_files ()
 
perf::Countern_eio_total ()
 
perf::Countern_eio_01 ()
 
perf::Countern_eio_02 ()
 
perf::Countern_eio_03 ()
 
perf::Countern_eio_04 ()
 
perf::Countern_eio_05 ()
 
perf::Countern_eio_06 ()
 
perf::Countern_eio_07 ()
 
perf::Countern_eio_08 ()
 
perf::Countern_emfile ()
 
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 void SetupLoggingStandalone (const OptionsManager &options_mgr, const std::string &prefix)
 

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)
 
static void SetupGlobalEnvironmentParams ()
 

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_stat_stale_
 
perf::Countern_fs_statfs_
 
perf::Countern_fs_statfs_cached_
 
perf::Countern_fs_read_
 
perf::Countern_fs_readlink_
 
perf::Countern_fs_forget_
 
perf::Countern_fs_inode_replace_
 
perf::Counterno_open_files_
 
perf::Counterno_open_dirs_
 
perf::Countern_eio_total_
 
perf::Countern_eio_01_
 
perf::Countern_eio_02_
 
perf::Countern_eio_03_
 
perf::Countern_eio_04_
 
perf::Countern_eio_05_
 
perf::Countern_eio_06_
 
perf::Countern_eio_07_
 
perf::Countern_eio_08_
 
perf::Countern_emfile_
 
IoErrorInfo io_error_info_
 
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 98 of file mountpoint.h.

Member Enumeration Documentation

Enumerator
kFsFuse 
kFsLibrary 

Definition at line 105 of file mountpoint.h.

Constructor & Destructor Documentation

FileSystem::~FileSystem ( )

Definition at line 458 of file mountpoint.cc.

Here is the call graph for this function:

FileSystem::FileSystem ( const FileSystemInfo fs_info)
explicitprivate

Definition at line 402 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Function Documentation

std::string FileSystem::cache_mgr_instance ( )
inline

Definition at line 206 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 109 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 126 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 166 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 210 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 380 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 296 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 207 of file mountpoint.h.

bool FileSystem::found_previous_crash ( )
inline

Definition at line 208 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 210 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 211 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 212 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 209 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 217 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 214 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 218 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 216 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 213 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 219 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 215 of file mountpoint.h.

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

Here is the caller graph for this function:

IoErrorInfo* FileSystem::io_error_info ( )
inline

Definition at line 233 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open(), NIOErrMagicXattr::FinalizeValue(), LibContext::Open(), and FuseRemounter::SetOfflineMode().

Here is the caller graph for this function:

bool FileSystem::IsHaNfsSource ( )
inline

Definition at line 196 of file mountpoint.h.

Referenced by SetupNfsMaps().

Here is the caller graph for this function:

bool FileSystem::LockWorkspace ( )
private

Definition at line 504 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 535 of file mountpoint.cc.

Referenced by SetupSqlite().

Here is the call graph for this function:

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 570 of file mountpoint.cc.

Referenced by DeterminePosixCacheSettings(), 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_eio_01 ( )
inline

Definition at line 239 of file mountpoint.h.

Referenced by cvmfs::cvmfs_lookup().

Here is the caller graph for this function:

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

Definition at line 240 of file mountpoint.h.

Referenced by cvmfs::ReplyNegative().

Here is the caller graph for this function:

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

Definition at line 241 of file mountpoint.h.

Referenced by cvmfs::cvmfs_opendir().

Here is the caller graph for this function:

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

Definition at line 242 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open().

Here is the caller graph for this function:

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

Definition at line 243 of file mountpoint.h.

Referenced by cvmfs::cvmfs_read().

Here is the caller graph for this function:

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

Definition at line 244 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open().

Here is the caller graph for this function:

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

Definition at line 245 of file mountpoint.h.

Referenced by cvmfs::cvmfs_read().

Here is the caller graph for this function:

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

Definition at line 246 of file mountpoint.h.

Referenced by cvmfs::cvmfs_read().

Here is the caller graph for this function:

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

Definition at line 238 of file mountpoint.h.

Referenced by cvmfs::cvmfs_lookup(), cvmfs::cvmfs_open(), cvmfs::cvmfs_opendir(), cvmfs::cvmfs_read(), and cvmfs::ReplyNegative().

Here is the caller graph for this function:

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

Definition at line 247 of file mountpoint.h.

Referenced by cvmfs::cvmfs_open().

Here is the caller graph for this function:

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

Definition at line 221 of file mountpoint.h.

Referenced by cvmfs::cvmfs_opendir().

Here is the caller graph for this function:

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

Definition at line 222 of file mountpoint.h.

Referenced by cvmfs::cvmfs_forget().

Here is the caller graph for this function:

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

Definition at line 223 of file mountpoint.h.

Referenced by cvmfs::cvmfs_lookup().

Here is the caller graph for this function:

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

Definition at line 224 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 225 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 226 of file mountpoint.h.

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

Here is the caller graph for this function:

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

Definition at line 227 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 228 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 229 of file mountpoint.h.

Referenced by cvmfs::cvmfs_getattr().

Here is the caller graph for this function:

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

Definition at line 230 of file mountpoint.h.

Referenced by cvmfs::cvmfs_getattr().

Here is the caller graph for this function:

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

Definition at line 231 of file mountpoint.h.

Referenced by cvmfs::cvmfs_statfs().

Here is the caller graph for this function:

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

Definition at line 232 of file mountpoint.h.

Referenced by cvmfs::cvmfs_statfs().

Here is the caller graph for this function:

std::string FileSystem::name ( )
inline

Definition at line 234 of file mountpoint.h.

Referenced by MountPoint::GetUniqFileSuffix().

Here is the caller graph for this function:

NfsMaps* FileSystem::nfs_maps ( )
inline

Definition at line 235 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 236 of file mountpoint.h.

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

Here is the caller graph for this function:

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

Definition at line 237 of file mountpoint.h.

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

Here is the caller graph for this function:

OptionsManager* FileSystem::options_mgr ( )
inline

Definition at line 248 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 1150 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::ReplaceCacheManager ( CacheManager new_cache_mgr)

Definition at line 1154 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 605 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 623 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 817 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 838 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 657 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::SetupGlobalEnvironmentParams ( )
staticprivate

Environment variables useful, e.g., for variant symlinks

Definition at line 868 of file mountpoint.cc.

Referenced by Create(), and SetupLoggingStandalone().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::SetupLogging ( )
private

Definition at line 895 of file mountpoint.cc.

Referenced by Create().

Here is the call graph for this function:

Here is the caller graph for this function:

void FileSystem::SetupLoggingStandalone ( const OptionsManager options_mgr,
const std::string &  prefix 
)
static

Definition at line 873 of file mountpoint.cc.

Referenced by Init(), and SetupLogging().

Here is the call graph for this function:

Here is the caller graph for this function:

bool FileSystem::SetupNfsMaps ( )
private

Definition at line 900 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 696 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 993 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 726 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 1055 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 776 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 1121 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 1072 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 249 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 1136 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 1160 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 251 of file mountpoint.h.

Referenced by MountPoint::CreateDownloadManagers().

Here is the caller graph for this function:

std::string FileSystem::workspace ( )
inline

Definition at line 252 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 408 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 413 of file mountpoint.h.

Referenced by SetupCacheMgr().

std::string FileSystem::exe_path_
private

Definition at line 324 of file mountpoint.h.

Referenced by exe_path(), and SetupPosixQuotaMgr().

int FileSystem::fd_workspace_lock_
private

Definition at line 385 of file mountpoint.h.

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

bool FileSystem::foreground_
private

Definition at line 331 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 397 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 258 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 435 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_forget_
private

Definition at line 361 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_forget_multi_
private

Definition at line 362 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_getattr_
private

Definition at line 363 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_lookup_
private

Definition at line 360 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_open_
private

Definition at line 368 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_opendir_
private

Definition at line 365 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_read_
private

Definition at line 369 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_readdir_
private

Definition at line 367 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_readlink_
private

Definition at line 364 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_release_
private

Definition at line 370 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_releasedir_
private

Definition at line 366 of file mountpoint.h.

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

IoErrorInfo FileSystem::io_error_info_
private

Definition at line 357 of file mountpoint.h.

Referenced by CreateStatistics(), io_error_info(), and ResetErrorCounters().

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

Definition at line 259 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings(), and SetupWorkspace().

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

Definition at line 262 of file mountpoint.h.

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

const unsigned FileSystem::kDefaultNfiles = 8192
staticprivate

Definition at line 261 of file mountpoint.h.

Referenced by SetupExternalCacheMgr(), SetupRamCacheMgr(), and TriageCacheMgr().

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

Definition at line 260 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings().

const unsigned FileSystem::kNfsMaps = 0x01
static

Normal NFS maps by leveldb

Definition at line 182 of file mountpoint.h.

Referenced by DetermineNfsMode(), and IsNfsSource().

const unsigned FileSystem::kNfsMapsHa = 0x02
static

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

Definition at line 186 of file mountpoint.h.

Referenced by DetermineNfsMode(), and IsHaNfsSource().

const unsigned FileSystem::kNfsNone = 0x00
static

No NFS maps.

Definition at line 178 of file mountpoint.h.

Referenced by DetermineNfsMode().

std::string FileSystem::mountpoint_
private

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

Definition at line 403 of file mountpoint.h.

perf::Counter* FileSystem::n_eio_01_
private

Definition at line 348 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_01(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_02_
private

Definition at line 349 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_02(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_03_
private

Definition at line 350 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_03(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_04_
private

Definition at line 351 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_04(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_05_
private

Definition at line 352 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_05(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_06_
private

Definition at line 353 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_06(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_07_
private

Definition at line 354 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_07(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_08_
private

Definition at line 355 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_08(), and ResetErrorCounters().

perf::Counter* FileSystem::n_eio_total_
private

Definition at line 347 of file mountpoint.h.

Referenced by CreateStatistics(), n_eio_total(), and ResetErrorCounters().

perf::Counter* FileSystem::n_emfile_
private

Definition at line 356 of file mountpoint.h.

Referenced by CreateStatistics(), n_emfile(), and ResetErrorCounters().

perf::Counter* FileSystem::n_fs_dir_open_
private

Definition at line 334 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_dir_open().

perf::Counter* FileSystem::n_fs_forget_
private

Definition at line 343 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_forget().

perf::Counter* FileSystem::n_fs_inode_replace_
private

Definition at line 344 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_inode_replace().

perf::Counter* FileSystem::n_fs_lookup_
private

Definition at line 335 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_lookup().

perf::Counter* FileSystem::n_fs_lookup_negative_
private

Definition at line 336 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_lookup_negative().

perf::Counter* FileSystem::n_fs_open_
private

Definition at line 333 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_open().

perf::Counter* FileSystem::n_fs_read_
private

Definition at line 341 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_read().

perf::Counter* FileSystem::n_fs_readlink_
private

Definition at line 342 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_readlink().

perf::Counter* FileSystem::n_fs_stat_
private

Definition at line 337 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_stat().

perf::Counter* FileSystem::n_fs_stat_stale_
private

Definition at line 338 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_stat_stale().

perf::Counter* FileSystem::n_fs_statfs_
private

Definition at line 339 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_statfs().

perf::Counter* FileSystem::n_fs_statfs_cached_
private

Definition at line 340 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_statfs_cached().

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 430 of file mountpoint.h.

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

std::string FileSystem::nfs_maps_dir_
private

Definition at line 414 of file mountpoint.h.

Referenced by DetermineNfsMode(), and SetupNfsMaps().

unsigned FileSystem::nfs_mode_
private

Combination of kNfs... flags

Definition at line 418 of file mountpoint.h.

Referenced by DetermineNfsMode(), IsHaNfsSource(), and IsNfsSource().

perf::Counter* FileSystem::no_open_dirs_
private

Definition at line 346 of file mountpoint.h.

Referenced by CreateStatistics(), and no_open_dirs().

perf::Counter* FileSystem::no_open_files_
private

Definition at line 345 of file mountpoint.h.

Referenced by CreateStatistics(), and no_open_files().

std::string FileSystem::path_crash_guard_
private

An empty file that is removed on proper shutdown.

Definition at line 391 of file mountpoint.h.

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

std::string FileSystem::path_workspace_lock_
private

Definition at line 386 of file mountpoint.h.

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

perf::Statistics* FileSystem::statistics_
private
Type FileSystem::type_
private
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 424 of file mountpoint.h.

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

bool FileSystem::wait_workspace_
private

Definition at line 330 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 378 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 384 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings(), and SetupWorkspace().


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