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 ()
 
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_
 
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 455 of file mountpoint.cc.

Here is the call graph for this function:

FileSystem::FileSystem ( const FileSystemInfo fs_info)
explicitprivate

Definition at line 400 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 378 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 294 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 501 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 532 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 567 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_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 247 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 1146 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 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::ResetErrorCounters ( )

Definition at line 602 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 619 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 813 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 834 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 653 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 864 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 891 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 869 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 896 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 692 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 989 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 722 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 1051 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 772 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 1117 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 1068 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 248 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 1132 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 1156 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 250 of file mountpoint.h.

Referenced by MountPoint::CreateDownloadManagers().

Here is the caller graph for this function:

std::string FileSystem::workspace ( )
inline

Definition at line 251 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 406 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 411 of file mountpoint.h.

Referenced by SetupCacheMgr().

std::string FileSystem::exe_path_
private

Definition at line 323 of file mountpoint.h.

Referenced by exe_path(), and SetupPosixQuotaMgr().

int FileSystem::fd_workspace_lock_
private

Definition at line 383 of file mountpoint.h.

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

bool FileSystem::foreground_
private

Definition at line 330 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 395 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 257 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 433 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_forget_
private

Definition at line 359 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_forget_multi_
private

Definition at line 360 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_getattr_
private

Definition at line 361 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_lookup_
private

Definition at line 358 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_open_
private

Definition at line 366 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_opendir_
private

Definition at line 363 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_read_
private

Definition at line 367 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_readdir_
private

Definition at line 365 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_readlink_
private

Definition at line 362 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_release_
private

Definition at line 368 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_releasedir_
private

Definition at line 364 of file mountpoint.h.

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

IoErrorInfo FileSystem::io_error_info_
private

Definition at line 355 of file mountpoint.h.

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

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

Definition at line 258 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings(), and SetupWorkspace().

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

Definition at line 261 of file mountpoint.h.

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

const unsigned FileSystem::kDefaultNfiles = 8192
staticprivate

Definition at line 260 of file mountpoint.h.

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

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

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

perf::Counter* FileSystem::n_eio_01_
private

Definition at line 347 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_02_
private

Definition at line 348 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_03_
private

Definition at line 349 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_04_
private

Definition at line 350 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_05_
private

Definition at line 351 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_06_
private

Definition at line 352 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_07_
private

Definition at line 353 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_08_
private

Definition at line 354 of file mountpoint.h.

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

perf::Counter* FileSystem::n_eio_total_
private

Definition at line 346 of file mountpoint.h.

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

perf::Counter* FileSystem::n_fs_dir_open_
private

Definition at line 333 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_dir_open().

perf::Counter* FileSystem::n_fs_forget_
private

Definition at line 342 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_forget().

perf::Counter* FileSystem::n_fs_inode_replace_
private

Definition at line 343 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_inode_replace().

perf::Counter* FileSystem::n_fs_lookup_
private

Definition at line 334 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_lookup().

perf::Counter* FileSystem::n_fs_lookup_negative_
private

Definition at line 335 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_lookup_negative().

perf::Counter* FileSystem::n_fs_open_
private

Definition at line 332 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_open().

perf::Counter* FileSystem::n_fs_read_
private

Definition at line 340 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_read().

perf::Counter* FileSystem::n_fs_readlink_
private

Definition at line 341 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_readlink().

perf::Counter* FileSystem::n_fs_stat_
private

Definition at line 336 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_stat().

perf::Counter* FileSystem::n_fs_stat_stale_
private

Definition at line 337 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_stat_stale().

perf::Counter* FileSystem::n_fs_statfs_
private

Definition at line 338 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_statfs().

perf::Counter* FileSystem::n_fs_statfs_cached_
private

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

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

std::string FileSystem::nfs_maps_dir_
private

Definition at line 412 of file mountpoint.h.

Referenced by DetermineNfsMode(), and SetupNfsMaps().

unsigned FileSystem::nfs_mode_
private

Combination of kNfs... flags

Definition at line 416 of file mountpoint.h.

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

perf::Counter* FileSystem::no_open_dirs_
private

Definition at line 345 of file mountpoint.h.

Referenced by CreateStatistics(), and no_open_dirs().

perf::Counter* FileSystem::no_open_files_
private

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

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

std::string FileSystem::path_workspace_lock_
private

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

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

bool FileSystem::wait_workspace_
private

Definition at line 329 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 376 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 382 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings(), and SetupWorkspace().


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