CernVM-FS  2.11.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)
 
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 ()
 
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_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_
 
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 97 of file mountpoint.h.

Member Enumeration Documentation

Enumerator
kFsFuse 
kFsLibrary 

Definition at line 104 of file mountpoint.h.

Constructor & Destructor Documentation

FileSystem::~FileSystem ( )

Definition at line 417 of file mountpoint.cc.

Here is the call graph for this function:

FileSystem::FileSystem ( const FileSystemInfo fs_info)
explicitprivate

Definition at line 371 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 197 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 107 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 124 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 164 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 206 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 349 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 272 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 198 of file mountpoint.h.

bool FileSystem::found_previous_crash ( )
inline

Definition at line 199 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 201 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 202 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 203 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 200 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 208 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 205 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 209 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 207 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 204 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 210 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 206 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 224 of file mountpoint.h.

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

Here is the caller graph for this function:

bool FileSystem::IsHaNfsSource ( )
inline

Definition at line 191 of file mountpoint.h.

Referenced by SetupNfsMaps().

Here is the caller graph for this function:

bool FileSystem::LockWorkspace ( )
private

Definition at line 463 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 494 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 529 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_fs_dir_open ( )
inline

Definition at line 212 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 213 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 214 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 215 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 216 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 217 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 218 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 219 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 220 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 221 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 222 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 223 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 225 of file mountpoint.h.

Referenced by MountPoint::GetUniqFileSuffix().

Here is the caller graph for this function:

NfsMaps* FileSystem::nfs_maps ( )
inline

Definition at line 226 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 227 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 228 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 229 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 1081 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 564 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 572 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 766 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 787 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 606 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 814 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 832 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 645 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 925 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 675 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 987 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 725 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 1053 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 1004 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 230 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 1068 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 1086 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 232 of file mountpoint.h.

Referenced by MountPoint::CreateDownloadManagers().

Here is the caller graph for this function:

std::string FileSystem::workspace ( )
inline

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

Referenced by SetupCacheMgr().

std::string FileSystem::exe_path_
private

Definition at line 303 of file mountpoint.h.

Referenced by exe_path(), and SetupPosixQuotaMgr().

int FileSystem::fd_workspace_lock_
private

Definition at line 354 of file mountpoint.h.

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

bool FileSystem::foreground_
private

Definition at line 310 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 366 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 239 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 404 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_forget_
private

Definition at line 330 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_forget_multi_
private

Definition at line 331 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_getattr_
private

Definition at line 332 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_lookup_
private

Definition at line 329 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_open_
private

Definition at line 337 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_opendir_
private

Definition at line 334 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_read_
private

Definition at line 338 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_readdir_
private

Definition at line 336 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_readlink_
private

Definition at line 333 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_release_
private

Definition at line 339 of file mountpoint.h.

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

Log2Histogram* FileSystem::hist_fs_releasedir_
private

Definition at line 335 of file mountpoint.h.

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

IoErrorInfo FileSystem::io_error_info_
private

Definition at line 326 of file mountpoint.h.

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

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

Definition at line 240 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings(), and SetupWorkspace().

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

Definition at line 243 of file mountpoint.h.

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

const unsigned FileSystem::kDefaultNfiles = 8192
staticprivate

Definition at line 242 of file mountpoint.h.

Referenced by SetupExternalCacheMgr(), and SetupRamCacheMgr().

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

Definition at line 241 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings().

const unsigned FileSystem::kNfsMaps = 0x01
static

Normal NFS maps by leveldb

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

Referenced by DetermineNfsMode(), and IsHaNfsSource().

const unsigned FileSystem::kNfsNone = 0x00
static

No NFS maps.

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

perf::Counter* FileSystem::n_fs_dir_open_
private

Definition at line 313 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_dir_open().

perf::Counter* FileSystem::n_fs_forget_
private

Definition at line 322 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_forget().

perf::Counter* FileSystem::n_fs_inode_replace_
private

Definition at line 323 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_inode_replace().

perf::Counter* FileSystem::n_fs_lookup_
private

Definition at line 314 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_lookup().

perf::Counter* FileSystem::n_fs_lookup_negative_
private

Definition at line 315 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_lookup_negative().

perf::Counter* FileSystem::n_fs_open_
private

Definition at line 312 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_open().

perf::Counter* FileSystem::n_fs_read_
private

Definition at line 320 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_read().

perf::Counter* FileSystem::n_fs_readlink_
private

Definition at line 321 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_readlink().

perf::Counter* FileSystem::n_fs_stat_
private

Definition at line 316 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_stat().

perf::Counter* FileSystem::n_fs_stat_stale_
private

Definition at line 317 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_stat_stale().

perf::Counter* FileSystem::n_fs_statfs_
private

Definition at line 318 of file mountpoint.h.

Referenced by CreateStatistics(), and n_fs_statfs().

perf::Counter* FileSystem::n_fs_statfs_cached_
private

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

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

std::string FileSystem::nfs_maps_dir_
private

Definition at line 383 of file mountpoint.h.

Referenced by DetermineNfsMode(), and SetupNfsMaps().

unsigned FileSystem::nfs_mode_
private

Combination of kNfs... flags

Definition at line 387 of file mountpoint.h.

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

perf::Counter* FileSystem::no_open_dirs_
private

Definition at line 325 of file mountpoint.h.

Referenced by CreateStatistics(), and no_open_dirs().

perf::Counter* FileSystem::no_open_files_
private

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

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

std::string FileSystem::path_workspace_lock_
private

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

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

bool FileSystem::wait_workspace_
private

Definition at line 309 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 347 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 353 of file mountpoint.h.

Referenced by DeterminePosixCacheSettings(), and SetupWorkspace().


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