CernVM-FS  2.11.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mountpoint.h
Go to the documentation of this file.
1 
7 #ifndef CVMFS_MOUNTPOINT_H_
8 #define CVMFS_MOUNTPOINT_H_
9 
10 #include <pthread.h>
11 #include <sys/statvfs.h>
12 #include <unistd.h>
13 
14 #include <ctime>
15 #include <set>
16 #include <string>
17 #include <vector>
18 
19 #include "cache.h"
20 #include "crypto/hash.h"
21 #include "file_watcher.h"
22 #include "gtest/gtest_prod.h"
23 #include "loader.h"
24 #include "magic_xattr.h"
25 #include "util/algorithm.h"
26 #include "util/pointer.h"
27 
28 class AuthzAttachment;
29 class AuthzFetcher;
31 class BackoffThrottle;
32 class CacheManager;
33 namespace catalog {
34 class ClientCatalogManager;
35 class InodeAnnotation;
36 }
37 struct ChunkTables;
38 namespace cvmfs {
39 class Fetcher;
40 class Uuid;
41 }
42 namespace download {
43 class DownloadManager;
44 }
45 namespace glue {
46 class InodeTracker;
47 class DentryTracker;
48 class PageCacheTracker;
49 }
50 namespace lru {
51 class InodeCache;
52 class Md5PathCache;
53 class PathCache;
54 }
55 class NfsMaps;
56 class OptionsManager;
57 namespace perf {
58 class Counter;
59 class Statistics;
60 class TelemetryAggregator;
61 }
62 namespace signature {
63 class SignatureManager;
64 }
65 class SimpleChunkTables;
66 class Tracer;
67 
68 
73 class BootFactory {
74  public:
76  bool IsValid() { return boot_status_ == loader::kFailOk; }
78  std::string boot_error() { return boot_error_; }
79 
85 
86  protected:
88  std::string boot_error_;
89 };
90 
91 
99  FRIEND_TEST(T_MountPoint, MkCacheParm);
100  FRIEND_TEST(T_MountPoint, CacheSettings);
101  FRIEND_TEST(T_MountPoint, CheckInstanceName);
102  FRIEND_TEST(T_MountPoint, CheckPosixCacheSettings);
103 
104  public:
105  enum Type {
106  kFsFuse = 0,
108  };
109 
110  struct FileSystemInfo {
112  : type(kFsFuse)
113  , options_mgr(NULL)
114  , wait_workspace(false)
115  , foreground(false) { }
123  std::string name;
124 
129  std::string exe_path;
130 
135 
140 
153  };
154 
160  class IoErrorInfo {
161  public:
162  IoErrorInfo();
163 
164  void Reset();
165  void AddIoError();
166  void SetCounter(perf::Counter *c);
167  int64_t count();
168  time_t timestamp_last();
169 
170  private:
173  };
174 
178  static const unsigned kNfsNone = 0x00;
182  static const unsigned kNfsMaps = 0x01;
186  static const unsigned kNfsMapsHa = 0x02;
187 
188  static FileSystem *Create(const FileSystemInfo &fs_info);
189  ~FileSystem();
190 
191  // Used to setup logging before the file system object is created
192  static void SetupLoggingStandalone(
193  const OptionsManager &options_mgr, const std::string &prefix);
194 
195  bool IsNfsSource() { return nfs_mode_ & kNfsMaps; }
196  bool IsHaNfsSource() { return nfs_mode_ & kNfsMapsHa; }
197  void ResetErrorCounters();
198  void TearDown2ReadOnly();
199  void RemapCatalogFd(int from, int to);
200 
202  std::string cache_mgr_instance() { return cache_mgr_instance_; }
203  std::string exe_path() { return exe_path_; }
216 
230  std::string name() { return name_; }
231  NfsMaps *nfs_maps() { return nfs_maps_; }
245  Type type() { return type_; }
247  std::string workspace() { return workspace_; }
248 
249  private:
253  static bool g_alive;
254  static const char *kDefaultCacheBase; // /var/lib/cvmfs
255  static const unsigned kDefaultQuotaLimit = 1024 * 1024 * 1024; // 1GB
256  static const unsigned kDefaultNfiles = 8192; // if CVMFS_NFILES is unset
257  static const char *kDefaultCacheMgrInstance; // "default"
258 
261  is_shared(false), is_alien(false), is_managed(false),
262  avoid_rename(false), cache_base_defined(false), cache_dir_defined(false),
263  quota_limit(0)
264  { }
265  bool is_shared;
266  bool is_alien;
275  int64_t quota_limit;
276  std::string cache_path;
281  std::string workspace;
282  };
283 
284  static void LogSqliteError(void *user_data __attribute__((unused)),
285  int sqlite_extended_error,
286  const char *message);
287 
288  explicit FileSystem(const FileSystemInfo &fs_info);
289 
290  static void SetupGlobalEnvironmentParams();
291  void SetupLogging();
292  void CreateStatistics();
293  void SetupSqlite();
294  bool DetermineNfsMode();
295  bool SetupWorkspace();
296  bool SetupCwd();
297  bool LockWorkspace();
298  bool SetupCrashGuard();
299  bool SetupNfsMaps();
300  void SetupUuid();
301 
302  std::string MkCacheParm(const std::string &generic_parameter,
303  const std::string &instance);
304  bool CheckInstanceName(const std::string &instance);
305  bool TriageCacheMgr();
306  CacheManager *SetupCacheMgr(const std::string &instance);
307  CacheManager *SetupPosixCacheMgr(const std::string &instance);
308  CacheManager *SetupRamCacheMgr(const std::string &instance);
309  CacheManager *SetupTieredCacheMgr(const std::string &instance);
310  CacheManager *SetupExternalCacheMgr(const std::string &instance);
311  PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance);
315 
316  // See FileSystemInfo for the following fields
317  std::string name_;
318  std::string exe_path_;
326 
352 
364 
371  std::string workspace_;
377  std::string workspace_fullpath_;
379  std::string path_workspace_lock_;
380 
384  std::string path_crash_guard_;
385 
391 
396  std::string mountpoint_;
401  std::string cache_mgr_instance_;
406  std::set<std::string> constructed_instances_;
407  std::string nfs_maps_dir_;
411  unsigned nfs_mode_;
418 
429 };
430 
438  public:
439  explicit StatfsCache(uint64_t cacheValid) : expiry_deadline_(0),
440  cache_timeout_(cacheValid) {
441  memset(&info_, 0, sizeof(info_));
442  lock_ =
443  reinterpret_cast<pthread_mutex_t *>(smalloc(sizeof(pthread_mutex_t)));
444  int retval = pthread_mutex_init(lock_, NULL);
445  assert(retval == 0);
446  }
448  pthread_mutex_destroy(lock_);
449  free(lock_);
450  }
451  uint64_t *expiry_deadline() { return &expiry_deadline_; }
452  const uint64_t cache_timeout() { return cache_timeout_; }
453  struct statvfs *info() { return &info_; }
454  pthread_mutex_t *lock() { return lock_; }
455 
456  private:
457  pthread_mutex_t *lock_;
458  // Timestamp/deadline when the currently cached statvfs info_ becomes invalid
460  // Time in seconds how long statvfs info_ should be cached
461  uint64_t cache_timeout_;
462  struct statvfs info_;
463 };
464 
477  public:
481  static const unsigned kShortTermTTL = 180;
482  static const time_t kIndefiniteDeadline = time_t(-1);
483 
484  static MountPoint *Create(const std::string &fqrn,
486  OptionsManager *options_mgr = NULL);
487  ~MountPoint();
488 
489  unsigned GetMaxTtlMn();
490  unsigned GetEffectiveTtlSec();
491  void SetMaxTtlMn(unsigned value_minutes);
492  void ReEvaluateAuthz();
493 
500  return external_download_mgr_;
501  }
503  return resolv_conf_watcher_;
504  }
506  bool fixed_catalog() { return fixed_catalog_; }
507  std::string fqrn() const { return fqrn_; }
512  bool enforce_acls() { return enforce_acls_; }
513  bool cache_symlinks() { return cache_symlinks_; }
516  return inode_annotation_;
517  }
522  std::string membership_req() { return membership_req_; }
526  std::string repository_tag() { return repository_tag_; }
531  uid_t talk_socket_uid() { return talk_socket_uid_; }
532  gid_t talk_socket_gid() { return talk_socket_gid_; }
533  std::string talk_socket_path() { return talk_socket_path_; }
534  Tracer *tracer() { return tracer_; }
535  cvmfs::Uuid *uuid() { return uuid_; }
537 
538  bool ReloadBlacklists();
539  void DisableCacheSymlinks();
540  void EnableFuseExpireEntry();
541 
542  private:
547  static const unsigned kDefaultMaxTtlSec = 0;
551  static const unsigned kDefaultKCacheTtlSec = 60;
555  static const unsigned kLibPathCacheSize = 32000;
559  static const unsigned kInodeCacheFactor = 7;
563  static const unsigned kDefaultMemcacheSize = 16 * 1024 * 1024;
567  static const char *kDefaultAuthzSearchPath; // "/usr/libexec/cvmfs/authz"
571  static const unsigned kDefaultNumConnections = 16;
575  static const unsigned kDefaultTimeoutSec = 5;
576  static const unsigned kDefaultRetries = 1;
577  static const unsigned kDefaultBackoffInitMs = 2000;
578  static const unsigned kDefaultBackoffMaxMs = 10000;
582  static const unsigned kTracerBufferSize = 8192;
583  static const unsigned kTracerFlushThreshold = 7000;
584  static const char *kDefaultBlacklist; // "/etc/cvmfs/blacklist"
588  static const int kDefaultTelemetrySendRateSec = 5 * 60; // 5min
589  static const int kMinimumTelemetrySendRateSec = 5; // 5sec
590 
591  MountPoint(const std::string &fqrn,
593  OptionsManager *options_mgr);
594 
595  void CreateStatistics();
596  void CreateAuthz();
597  bool CreateSignatureManager();
598  bool CheckBlacklists();
599  bool CreateDownloadManagers();
601  void CreateFetchers();
602  bool CreateCatalogManager();
603  void CreateTables();
604  bool CreateTracer();
605  bool SetupBehavior();
607  void SetupHttpTuning();
608  bool SetupExternalDownloadMgr(bool dogeosort);
609  void SetupInodeAnnotation();
610  bool SetupOwnerMaps();
611  bool DetermineRootHash(shash::Any *root_hash);
612  bool FetchHistory(std::string *history_path);
613  std::string ReplaceHosts(std::string hosts);
614  std::string GetUniqFileSuffix();
615 
616  std::string fqrn_;
626 
651 
653 
654  unsigned max_ttl_sec_;
655  pthread_mutex_t lock_max_ttl_;
661  std::string repository_tag_;
662  std::vector<std::string> blacklist_paths_;
663 
664  // TODO(jblomer): this should go in the catalog manager
665  std::string membership_req_;
667 
668  std::string talk_socket_path_;
671 }; // class MointPoint
672 
673 #endif // CVMFS_MOUNTPOINT_H_
perf::Counter * n_eio_total()
Definition: mountpoint.h:234
perf::Counter * n_eio_07_
Definition: mountpoint.h:348
bool cache_symlinks()
Definition: mountpoint.h:513
IoErrorInfo io_error_info_
Definition: mountpoint.h:350
OptionsManager * options_mgr()
Definition: mountpoint.h:243
std::string exe_path()
Definition: mountpoint.h:203
bool fixed_catalog()
Definition: mountpoint.h:506
FileSystem * file_system_
Definition: mountpoint.h:621
NfsMaps * nfs_maps()
Definition: mountpoint.h:231
void SetCounter(perf::Counter *c)
Definition: mountpoint.cc:96
perf::Counter * n_eio_05()
Definition: mountpoint.h:239
std::string nfs_maps_dir_
Definition: mountpoint.h:407
bool foreground_
Definition: mountpoint.h:325
static const time_t kIndefiniteDeadline
Definition: mountpoint.h:482
perf::Counter * n_fs_inode_replace()
Definition: mountpoint.h:219
perf::Counter * n_eio_08_
Definition: mountpoint.h:349
perf::Counter * n_eio_01()
Definition: mountpoint.h:235
FileSystem * file_system()
Definition: mountpoint.h:509
Log2Histogram * hist_fs_forget_multi_
Definition: mountpoint.h:355
Log2Histogram * hist_fs_opendir()
Definition: mountpoint.h:210
perf::Counter * n_fs_statfs_cached_
Definition: mountpoint.h:334
void SetupInodeAnnotation()
Definition: mountpoint.cc:2140
bool SetupCwd()
Definition: mountpoint.cc:826
catalog::InodeAnnotation * inode_annotation_
Definition: mountpoint.h:638
static const unsigned kDefaultKCacheTtlSec
Definition: mountpoint.h:551
loader::Failures boot_status()
Definition: mountpoint.h:77
std::string workspace_fullpath_
Definition: mountpoint.h:377
void set_boot_status(loader::Failures code)
Definition: mountpoint.h:84
bool DetermineNfsMode()
Definition: mountpoint.cc:370
cvmfs::Fetcher * fetcher()
Definition: mountpoint.h:505
static const unsigned kTracerFlushThreshold
Definition: mountpoint.h:583
perf::Statistics * statistics()
Definition: mountpoint.h:528
uid_t talk_socket_uid_
Definition: mountpoint.h:669
uid_t talk_socket_uid()
Definition: mountpoint.h:531
std::string talk_socket_path()
Definition: mountpoint.h:533
perf::Counter * n_fs_stat_stale_
Definition: mountpoint.h:332
Log2Histogram * hist_fs_opendir_
Definition: mountpoint.h:358
bool LockWorkspace()
Definition: mountpoint.cc:493
bool CreateTracer()
Definition: mountpoint.cc:1589
bool wait_workspace_
Definition: mountpoint.h:324
double kcache_timeout_sec_
Definition: mountpoint.h:656
signature::SignatureManager * signature_mgr_
Definition: mountpoint.h:633
perf::Counter * n_fs_lookup_
Definition: mountpoint.h:329
AuthzSessionManager * authz_session_mgr_
Definition: mountpoint.h:630
static const unsigned kDefaultRetries
Definition: mountpoint.h:576
bool fuse_expire_entry()
Definition: mountpoint.h:514
double kcache_timeout_sec()
Definition: mountpoint.h:520
perf::Statistics * statistics_
Definition: mountpoint.h:351
download::DownloadManager * download_mgr_
Definition: mountpoint.h:634
static const unsigned kDefaultTimeoutSec
Definition: mountpoint.h:575
std::string exe_path_
Definition: mountpoint.h:318
bool CheckInstanceName(const std::string &instance)
Definition: mountpoint.cc:108
perf::Statistics * statistics_
Definition: mountpoint.h:627
Log2Histogram * hist_fs_readlink_
Definition: mountpoint.h:357
static void SetupLoggingStandalone(const OptionsManager &options_mgr, const std::string &prefix)
Definition: mountpoint.cc:861
perf::Counter * n_fs_readlink()
Definition: mountpoint.h:224
std::string fqrn() const
Definition: mountpoint.h:507
gid_t talk_socket_gid_
Definition: mountpoint.h:670
void SetupSqlite()
Definition: mountpoint.cc:1043
perf::Counter * n_eio_total_
Definition: mountpoint.h:341
std::string GetUniqFileSuffix()
Definition: mountpoint.cc:1745
StatfsCache * statfs_cache_
Definition: mountpoint.h:650
download::DownloadManager * external_download_mgr_
Definition: mountpoint.h:635
MagicXattrManager * magic_xattr_mgr_
Definition: mountpoint.h:649
bool fuse_expire_entry_
Definition: mountpoint.h:660
lru::InodeCache * inode_cache()
Definition: mountpoint.h:519
CacheManager * SetupCacheMgr(const std::string &instance)
Definition: mountpoint.cc:611
const SettingsPublisher & settings() const
Definition: repository.h:317
void SetupHttpTuning()
Definition: mountpoint.cc:2096
static const char * kDefaultBlacklist
Definition: mountpoint.h:584
uint64_t cache_timeout_
Definition: mountpoint.h:461
unsigned max_ttl_sec_
Definition: mountpoint.h:654
bool CreateDownloadManagers()
Definition: mountpoint.cc:1366
std::string ReplaceHosts(std::string hosts)
std::string talk_socket_path_
Definition: mountpoint.h:668
perf::Counter * n_fs_stat_
Definition: mountpoint.h:331
perf::Counter * n_eio_05_
Definition: mountpoint.h:346
perf::Counter * no_open_files_
Definition: mountpoint.h:339
assert((mem||(size==0))&&"Out Of Memory")
static const unsigned kShortTermTTL
Definition: mountpoint.h:481
MagicXattrManager * magic_xattr_mgr()
Definition: mountpoint.h:510
void SetupLogging()
Definition: mountpoint.cc:883
static void SetupGlobalEnvironmentParams()
Definition: mountpoint.cc:856
int fd_workspace_lock_
Definition: mountpoint.h:378
Log2Histogram * hist_fs_read()
Definition: mountpoint.h:214
void CreateStatistics()
Definition: mountpoint.cc:1508
CacheManager * SetupRamCacheMgr(const std::string &instance)
Definition: mountpoint.cc:714
bool cache_symlinks_
Definition: mountpoint.h:659
static void LogSqliteError(void *user_data __attribute__((unused)), int sqlite_extended_error, const char *message)
Definition: mountpoint.cc:524
void EnableFuseExpireEntry()
Definition: mountpoint.cc:1234
static const unsigned kNfsMaps
Definition: mountpoint.h:182
std::string workspace_
Definition: mountpoint.h:371
perf::Counter * n_fs_read()
Definition: mountpoint.h:223
PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance)
Definition: mountpoint.cc:293
bool has_membership_req_
Definition: mountpoint.h:666
lru::Md5PathCache * md5path_cache()
Definition: mountpoint.h:521
perf::Counter * n_eio_01_
Definition: mountpoint.h:342
void ReEvaluateAuthz()
Definition: mountpoint.cc:1845
uint64_t expiry_deadline_
Definition: mountpoint.h:459
std::set< std::string > constructed_instances_
Definition: mountpoint.h:406
bool has_membership_req()
Definition: mountpoint.h:511
bool DetermineRootHash(shash::Any *root_hash)
Definition: mountpoint.cc:1621
perf::Counter * counter_
Definition: mountpoint.h:171
bool CreateCatalogManager()
Definition: mountpoint.cc:1309
struct cvmcache_object_info __attribute__
Definition: atomic.h:24
void RemapCatalogFd(int from, int to)
Definition: mountpoint.cc:1137
static const unsigned kNfsNone
Definition: mountpoint.h:178
std::string path_crash_guard_
Definition: mountpoint.h:384
cvmfs::Uuid * uuid()
Definition: mountpoint.h:535
bool SetupWorkspace()
Definition: mountpoint.cc:1060
perf::Counter * n_eio_08()
Definition: mountpoint.h:242
static const char * kDefaultAuthzSearchPath
Definition: mountpoint.h:567
perf::Counter * n_fs_open()
Definition: mountpoint.h:222
Type type()
Definition: mountpoint.h:245
FileSystem(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:392
std::string mountpoint_
Definition: mountpoint.h:396
std::string membership_req()
Definition: mountpoint.h:522
static const unsigned kDefaultMaxTtlSec
Definition: mountpoint.h:547
static const unsigned kLibPathCacheSize
Definition: mountpoint.h:555
std::string boot_error_
Definition: mountpoint.h:88
OptionsManager * options_mgr_
Definition: mountpoint.h:625
Log2Histogram * hist_fs_getattr_
Definition: mountpoint.h:356
Log2Histogram * hist_fs_releasedir_
Definition: mountpoint.h:359
Definition: tracer.h:35
const uint64_t cache_timeout()
Definition: mountpoint.h:452
void DisableCacheSymlinks()
Definition: mountpoint.cc:1226
glue::PageCacheTracker * page_cache_tracker()
Definition: mountpoint.h:524
perf::Counter * n_fs_readlink_
Definition: mountpoint.h:336
perf::Counter * n_eio_07()
Definition: mountpoint.h:241
void SetMaxTtlMn(unsigned value_minutes)
Definition: mountpoint.cc:1855
static const unsigned kDefaultBackoffInitMs
Definition: mountpoint.h:577
perf::Counter * n_fs_forget_
Definition: mountpoint.h:337
MountPoint(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr)
Definition: mountpoint.cc:1750
pthread_mutex_t * lock_
Definition: mountpoint.h:457
Tracer * tracer_
Definition: mountpoint.h:645
std::string repository_tag()
Definition: mountpoint.h:526
catalog::ClientCatalogManager * catalog_mgr()
Definition: mountpoint.h:496
static bool g_alive
Definition: mountpoint.h:253
static const unsigned kDefaultNumConnections
Definition: mountpoint.h:571
void TearDown2ReadOnly()
Definition: mountpoint.cc:1124
Log2Histogram * hist_fs_forget_multi()
Definition: mountpoint.h:207
static const unsigned kNfsMapsHa
Definition: mountpoint.h:186
lru::Md5PathCache * md5path_cache_
Definition: mountpoint.h:644
std::string name_
Definition: mountpoint.h:317
Log2Histogram * hist_fs_release()
Definition: mountpoint.h:215
std::string membership_req_
Definition: mountpoint.h:665
glue::DentryTracker * dentry_tracker_
Definition: mountpoint.h:647
perf::Counter * n_fs_read_
Definition: mountpoint.h:335
perf::Counter * no_open_dirs()
Definition: mountpoint.h:232
perf::Counter * n_eio_06_
Definition: mountpoint.h:347
catalog::InodeAnnotation * inode_annotation()
Definition: mountpoint.h:515
static const char * kDefaultCacheMgrInstance
Definition: mountpoint.h:257
glue::PageCacheTracker * page_cache_tracker_
Definition: mountpoint.h:648
Log2Histogram * hist_fs_releasedir()
Definition: mountpoint.h:211
bool found_previous_crash_
Definition: mountpoint.h:390
loader::Failures boot_status_
Definition: mountpoint.h:87
bool TriageCacheMgr()
Definition: mountpoint.cc:1142
StatfsCache(uint64_t cacheValid)
Definition: mountpoint.h:439
std::string boot_error()
Definition: mountpoint.h:78
lru::PathCache * path_cache()
Definition: mountpoint.h:525
struct statvfs * info()
Definition: mountpoint.h:453
bool CheckPosixCacheSettings(const PosixCacheSettings &settings)
Definition: mountpoint.cc:125
perf::TelemetryAggregator * telemetry_aggr_
Definition: mountpoint.h:628
perf::Counter * n_fs_inode_replace_
Definition: mountpoint.h:338
bool IsNfsSource()
Definition: mountpoint.h:195
ChunkTables * chunk_tables_
Definition: mountpoint.h:640
CacheManager * cache_mgr()
Definition: mountpoint.h:201
file_watcher::FileWatcher * resolv_conf_watcher()
Definition: mountpoint.h:502
void SetupDnsTuning(download::DownloadManager *manager)
Definition: mountpoint.cc:1995
cvmfs::Uuid * uuid_cache_
Definition: mountpoint.h:417
unsigned GetEffectiveTtlSec()
Definition: mountpoint.cc:1723
perf::TelemetryAggregator * telemetry_aggr()
Definition: mountpoint.h:529
perf::Counter * no_open_files()
Definition: mountpoint.h:233
AuthzSessionManager * authz_session_mgr()
Definition: mountpoint.h:494
static const unsigned kDefaultBackoffMaxMs
Definition: mountpoint.h:578
struct statvfs info_
Definition: mountpoint.h:462
lru::InodeCache * inode_cache_
Definition: mountpoint.h:642
CacheManager * SetupPosixCacheMgr(const std::string &instance)
Definition: mountpoint.cc:684
IoErrorInfo * io_error_info()
Definition: mountpoint.h:229
download::DownloadManager * download_mgr()
Definition: mountpoint.h:498
perf::Counter * n_fs_stat_stale()
Definition: mountpoint.h:226
perf::Counter * n_fs_open_
Definition: mountpoint.h:327
bool found_previous_crash()
Definition: mountpoint.h:204
bool SetupPosixQuotaMgr(const PosixCacheSettings &settings, CacheManager *cache_mgr)
Definition: mountpoint.cc:981
perf::Counter * n_fs_forget()
Definition: mountpoint.h:218
Log2Histogram * hist_fs_readlink()
Definition: mountpoint.h:209
unsigned nfs_mode_
Definition: mountpoint.h:411
Type type_
Definition: mountpoint.h:319
static const unsigned kInodeCacheFactor
Definition: mountpoint.h:559
Failures
Definition: loader.h:27
perf::Counter * n_eio_04_
Definition: mountpoint.h:345
Log2Histogram * hist_fs_readdir_
Definition: mountpoint.h:360
cvmfs::Uuid * uuid_
Definition: mountpoint.h:617
ChunkTables * chunk_tables()
Definition: mountpoint.h:497
glue::DentryTracker * dentry_tracker()
Definition: mountpoint.h:523
perf::Counter * n_fs_dir_open()
Definition: mountpoint.h:217
Log2Histogram * hist_fs_readdir()
Definition: mountpoint.h:212
BackoffThrottle * backoff_throttle_
Definition: mountpoint.h:632
AuthzAttachment * authz_attachment_
Definition: mountpoint.h:631
cvmfs::Fetcher * external_fetcher()
Definition: mountpoint.h:508
bool IsValid()
Definition: mountpoint.h:76
SimpleChunkTables * simple_chunk_tables_
Definition: mountpoint.h:641
bool enforce_acls()
Definition: mountpoint.h:512
perf::Counter * n_eio_03_
Definition: mountpoint.h:344
static const unsigned kDefaultNfiles
Definition: mountpoint.h:256
static FileSystem * Create(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:165
bool has_custom_sqlitevfs_
Definition: mountpoint.h:428
perf::Counter * n_fs_statfs_
Definition: mountpoint.h:333
bool ReloadBlacklists()
Definition: mountpoint.cc:1202
std::string name()
Definition: mountpoint.h:230
void CreateStatistics()
Definition: mountpoint.cc:209
signature::SignatureManager * signature_mgr()
Definition: mountpoint.h:530
pthread_mutex_t lock_max_ttl_
Definition: mountpoint.h:655
Log2Histogram * hist_fs_open()
Definition: mountpoint.h:213
void CreateAuthz()
Definition: mountpoint.cc:1283
pthread_mutex_t * lock()
Definition: mountpoint.h:454
static const char * kDefaultCacheBase
Definition: mountpoint.h:254
Log2Histogram * hist_fs_lookup()
Definition: mountpoint.h:205
static const unsigned kTracerBufferSize
Definition: mountpoint.h:582
void SetupUuid()
Definition: mountpoint.cc:1109
perf::Counter * n_eio_02_
Definition: mountpoint.h:343
catalog::ClientCatalogManager * catalog_mgr_
Definition: mountpoint.h:639
bool CreateSignatureManager()
Definition: mountpoint.cc:1472
std::string fqrn_
Definition: mountpoint.h:616
unsigned GetMaxTtlMn()
Definition: mountpoint.cc:1735
perf::Counter * n_fs_lookup()
Definition: mountpoint.h:220
bool SetupBehavior()
Definition: mountpoint.cc:1860
AuthzFetcher * authz_fetcher_
Definition: mountpoint.h:629
bool FetchHistory(std::string *history_path)
Definition: mountpoint.cc:1689
perf::Statistics * statistics()
Definition: mountpoint.h:244
bool enforce_acls_
Definition: mountpoint.h:658
bool IsHaNfsSource()
Definition: mountpoint.h:196
void CreateTables()
Definition: mountpoint.cc:1547
bool SetupCrashGuard()
Definition: mountpoint.cc:805
static const unsigned kDefaultQuotaLimit
Definition: mountpoint.h:255
void ResetErrorCounters()
Definition: mountpoint.cc:594
Log2Histogram * hist_fs_lookup_
Definition: mountpoint.h:353
perf::Counter * n_eio_02()
Definition: mountpoint.h:236
static const unsigned kDefaultMemcacheSize
Definition: mountpoint.h:563
perf::Counter * n_eio_03()
Definition: mountpoint.h:237
perf::Counter * n_eio_04()
Definition: mountpoint.h:238
std::string repository_tag_
Definition: mountpoint.h:661
bool SetupOwnerMaps()
Definition: mountpoint.cc:2158
SimpleChunkTables * simple_chunk_tables()
Definition: mountpoint.h:527
bool CreateResolvConfWatcher()
Definition: mountpoint.cc:1432
perf::Counter * n_fs_lookup_negative()
Definition: mountpoint.h:221
Log2Histogram * hist_fs_read_
Definition: mountpoint.h:362
StatfsCache * statfs_cache()
Definition: mountpoint.h:536
bool SetupNfsMaps()
Definition: mountpoint.cc:888
bool CheckBlacklists()
Definition: mountpoint.cc:1164
std::vector< std::string > blacklist_paths_
Definition: mountpoint.h:662
cvmfs::Fetcher * fetcher_
Definition: mountpoint.h:636
Log2Histogram * hist_fs_forget()
Definition: mountpoint.h:206
file_watcher::FileWatcher * resolv_conf_watcher_
Definition: mountpoint.h:652
bool SetupExternalDownloadMgr(bool dogeosort)
Definition: mountpoint.cc:2035
CacheManager * SetupExternalCacheMgr(const std::string &instance)
Definition: mountpoint.cc:645
perf::Counter * n_fs_lookup_negative_
Definition: mountpoint.h:330
Log2Histogram * hist_fs_open_
Definition: mountpoint.h:361
std::string cache_mgr_instance_
Definition: mountpoint.h:401
std::string path_workspace_lock_
Definition: mountpoint.h:379
Log2Histogram * hist_fs_release_
Definition: mountpoint.h:363
static const int kDefaultTelemetrySendRateSec
Definition: mountpoint.h:588
OptionsManager * options_mgr_
Definition: mountpoint.h:323
perf::Counter * no_open_dirs_
Definition: mountpoint.h:340
glue::InodeTracker * inode_tracker_
Definition: mountpoint.h:646
bool fixed_catalog_
Definition: mountpoint.h:657
BackoffThrottle * backoff_throttle()
Definition: mountpoint.h:495
Log2Histogram * hist_fs_getattr()
Definition: mountpoint.h:208
gid_t talk_socket_gid()
Definition: mountpoint.h:532
static const int kMinimumTelemetrySendRateSec
Definition: mountpoint.h:589
glue::InodeTracker * inode_tracker()
Definition: mountpoint.h:518
perf::Counter * n_fs_stat()
Definition: mountpoint.h:225
CacheManager * SetupTieredCacheMgr(const std::string &instance)
Definition: mountpoint.cc:764
FRIEND_TEST(T_MountPoint, MkCacheParm)
std::string workspace()
Definition: mountpoint.h:247
std::string cache_mgr_instance()
Definition: mountpoint.h:202
uint64_t * expiry_deadline()
Definition: mountpoint.h:451
lru::PathCache * path_cache_
Definition: mountpoint.h:643
CacheManager * cache_mgr_
Definition: mountpoint.h:412
cvmfs::Uuid * uuid_cache()
Definition: mountpoint.h:246
Tracer * tracer()
Definition: mountpoint.h:534
cvmfs::Fetcher * external_fetcher_
Definition: mountpoint.h:637
perf::Counter * n_fs_statfs_cached()
Definition: mountpoint.h:228
perf::Counter * n_fs_dir_open_
Definition: mountpoint.h:328
std::string MkCacheParm(const std::string &generic_parameter, const std::string &instance)
Definition: mountpoint.cc:559
NfsMaps * nfs_maps_
Definition: mountpoint.h:423
download::DownloadManager * external_download_mgr()
Definition: mountpoint.h:499
void CreateFetchers()
Definition: mountpoint.cc:1455
perf::Counter * n_fs_statfs()
Definition: mountpoint.h:227
static MountPoint * Create(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr=NULL)
Definition: mountpoint.cc:1243
Log2Histogram * hist_fs_forget_
Definition: mountpoint.h:354
perf::Counter * n_eio_06()
Definition: mountpoint.h:240
OptionsManager * options_mgr
Definition: mountpoint.h:139