CernVM-FS  2.12.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 
201  // Used in cvmfs' RestoreState to prevent change of cache manager type
202  // during reload
203  void ReplaceCacheManager(CacheManager *new_cache_mgr);
204 
206  std::string cache_mgr_instance() { return cache_mgr_instance_; }
207  std::string exe_path() { return exe_path_; }
220 
234  std::string name() { return name_; }
235  NfsMaps *nfs_maps() { return nfs_maps_; }
249  Type type() { return type_; }
251  std::string workspace() { return workspace_; }
252 
253  private:
257  static bool g_alive;
258  static const char *kDefaultCacheBase; // /var/lib/cvmfs
259  static const unsigned kDefaultQuotaLimit = 1024 * 1024 * 1024; // 1GB
260  static const unsigned kDefaultNfiles = 8192; // if CVMFS_NFILES is unset
261  static const char *kDefaultCacheMgrInstance; // "default"
262 
265  is_shared(false), is_alien(false), is_managed(false),
266  avoid_rename(false), cache_base_defined(false), cache_dir_defined(false),
267  quota_limit(0), do_refcount(false)
268  { }
269  bool is_shared;
270  bool is_alien;
279  int64_t quota_limit;
281  std::string cache_path;
286  std::string workspace;
287  };
288 
289  static void LogSqliteError(void *user_data __attribute__((unused)),
290  int sqlite_extended_error,
291  const char *message);
292 
293  explicit FileSystem(const FileSystemInfo &fs_info);
294 
295  static void SetupGlobalEnvironmentParams();
296  void SetupLogging();
297  void CreateStatistics();
298  void SetupSqlite();
299  bool DetermineNfsMode();
300  bool SetupWorkspace();
301  bool SetupCwd();
302  bool LockWorkspace();
303  bool SetupCrashGuard();
304  bool SetupNfsMaps();
305  void SetupUuid();
306 
307  std::string MkCacheParm(const std::string &generic_parameter,
308  const std::string &instance);
309  bool CheckInstanceName(const std::string &instance);
310  bool TriageCacheMgr();
311  CacheManager *SetupCacheMgr(const std::string &instance);
312  CacheManager *SetupPosixCacheMgr(const std::string &instance);
313  CacheManager *SetupRamCacheMgr(const std::string &instance);
314  CacheManager *SetupTieredCacheMgr(const std::string &instance);
315  CacheManager *SetupExternalCacheMgr(const std::string &instance);
316  PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance);
320 
321  // See FileSystemInfo for the following fields
322  std::string name_;
323  std::string exe_path_;
331 
357 
369 
376  std::string workspace_;
382  std::string workspace_fullpath_;
384  std::string path_workspace_lock_;
385 
389  std::string path_crash_guard_;
390 
396 
401  std::string mountpoint_;
406  std::string cache_mgr_instance_;
411  std::set<std::string> constructed_instances_;
412  std::string nfs_maps_dir_;
416  unsigned nfs_mode_;
423 
434 };
435 
443  public:
444  explicit StatfsCache(uint64_t cacheValid) : expiry_deadline_(0),
445  cache_timeout_(cacheValid) {
446  memset(&info_, 0, sizeof(info_));
447  lock_ =
448  reinterpret_cast<pthread_mutex_t *>(smalloc(sizeof(pthread_mutex_t)));
449  int retval = pthread_mutex_init(lock_, NULL);
450  assert(retval == 0);
451  }
453  pthread_mutex_destroy(lock_);
454  free(lock_);
455  }
456  uint64_t *expiry_deadline() { return &expiry_deadline_; }
457  const uint64_t cache_timeout() { return cache_timeout_; }
458  struct statvfs *info() { return &info_; }
459  pthread_mutex_t *lock() { return lock_; }
460 
461  private:
462  pthread_mutex_t *lock_;
463  // Timestamp/deadline when the currently cached statvfs info_ becomes invalid
465  // Time in seconds how long statvfs info_ should be cached
466  uint64_t cache_timeout_;
467  struct statvfs info_;
468 };
469 
482  public:
486  static const unsigned kShortTermTTL = 180;
487  static const time_t kIndefiniteDeadline = time_t(-1);
488 
489  static MountPoint *Create(const std::string &fqrn,
491  OptionsManager *options_mgr = NULL);
492  ~MountPoint();
493 
494  unsigned GetMaxTtlMn();
495  unsigned GetEffectiveTtlSec();
496  void SetMaxTtlMn(unsigned value_minutes);
497  void ReEvaluateAuthz();
498 
505  return external_download_mgr_;
506  }
508  return resolv_conf_watcher_;
509  }
511  bool fixed_catalog() { return fixed_catalog_; }
512  std::string fqrn() const { return fqrn_; }
513  // TODO(jblomer): use only a singler fetcher object
518  bool enforce_acls() { return enforce_acls_; }
519  bool cache_symlinks() { return cache_symlinks_; }
522  return inode_annotation_;
523  }
528  std::string membership_req() { return membership_req_; }
532  std::string repository_tag() { return repository_tag_; }
537  uid_t talk_socket_uid() { return talk_socket_uid_; }
538  gid_t talk_socket_gid() { return talk_socket_gid_; }
539  std::string talk_socket_path() { return talk_socket_path_; }
540  Tracer *tracer() { return tracer_; }
541  cvmfs::Uuid *uuid() { return uuid_; }
543 
544  bool ReloadBlacklists();
545  void DisableCacheSymlinks();
546  void EnableFuseExpireEntry();
547 
548  private:
553  static const unsigned kDefaultMaxTtlSec = 0;
557  static const unsigned kDefaultKCacheTtlSec = 60;
561  static const unsigned kLibPathCacheSize = 32000;
565  static const unsigned kInodeCacheFactor = 7;
569  static const unsigned kDefaultMemcacheSize = 16 * 1024 * 1024;
573  static const char *kDefaultAuthzSearchPath; // "/usr/libexec/cvmfs/authz"
577  static const unsigned kDefaultNumConnections = 16;
581  static const unsigned kDefaultTimeoutSec = 5;
582  static const unsigned kDefaultRetries = 1;
583  static const unsigned kDefaultBackoffInitMs = 2000;
584  static const unsigned kDefaultBackoffMaxMs = 10000;
588  static const unsigned kTracerBufferSize = 8192;
589  static const unsigned kTracerFlushThreshold = 7000;
590  static const char *kDefaultBlacklist; // "/etc/cvmfs/blacklist"
594  static const int kDefaultTelemetrySendRateSec = 5 * 60; // 5min
595  static const int kMinimumTelemetrySendRateSec = 5; // 5sec
596 
597  MountPoint(const std::string &fqrn,
599  OptionsManager *options_mgr);
600 
601  void CreateStatistics();
602  void CreateAuthz();
603  bool CreateSignatureManager();
604  bool CheckBlacklists();
605  bool CreateDownloadManagers();
607  void CreateFetchers();
608  bool CreateCatalogManager();
609  void CreateTables();
610  bool CreateTracer();
611  bool SetupBehavior();
613  void SetupHttpTuning();
614  bool SetupExternalDownloadMgr(bool dogeosort);
615  void SetupInodeAnnotation();
616  bool SetupOwnerMaps();
617  bool DetermineRootHash(shash::Any *root_hash);
618  bool FetchHistory(std::string *history_path);
619  std::string ReplaceHosts(std::string hosts);
620  std::string GetUniqFileSuffix();
621 
622  std::string fqrn_;
632 
657 
659 
660  unsigned max_ttl_sec_;
661  pthread_mutex_t lock_max_ttl_;
667  std::string repository_tag_;
668  std::vector<std::string> blacklist_paths_;
669 
670  // TODO(jblomer): this should go in the catalog manager
671  std::string membership_req_;
673 
674  std::string talk_socket_path_;
677 }; // class MointPoint
678 
679 #endif // CVMFS_MOUNTPOINT_H_
perf::Counter * n_eio_total()
Definition: mountpoint.h:238
perf::Counter * n_eio_07_
Definition: mountpoint.h:353
bool cache_symlinks()
Definition: mountpoint.h:519
IoErrorInfo io_error_info_
Definition: mountpoint.h:355
OptionsManager * options_mgr()
Definition: mountpoint.h:247
std::string exe_path()
Definition: mountpoint.h:207
bool fixed_catalog()
Definition: mountpoint.h:511
FileSystem * file_system_
Definition: mountpoint.h:627
NfsMaps * nfs_maps()
Definition: mountpoint.h:235
void SetCounter(perf::Counter *c)
Definition: mountpoint.cc:97
perf::Counter * n_eio_05()
Definition: mountpoint.h:243
std::string nfs_maps_dir_
Definition: mountpoint.h:412
bool foreground_
Definition: mountpoint.h:330
static const time_t kIndefiniteDeadline
Definition: mountpoint.h:487
perf::Counter * n_fs_inode_replace()
Definition: mountpoint.h:223
perf::Counter * n_eio_08_
Definition: mountpoint.h:354
perf::Counter * n_eio_01()
Definition: mountpoint.h:239
FileSystem * file_system()
Definition: mountpoint.h:515
Log2Histogram * hist_fs_forget_multi_
Definition: mountpoint.h:360
Log2Histogram * hist_fs_opendir()
Definition: mountpoint.h:214
perf::Counter * n_fs_statfs_cached_
Definition: mountpoint.h:339
void SetupInodeAnnotation()
Definition: mountpoint.cc:2229
bool SetupCwd()
Definition: mountpoint.cc:834
catalog::InodeAnnotation * inode_annotation_
Definition: mountpoint.h:644
static const unsigned kDefaultKCacheTtlSec
Definition: mountpoint.h:557
loader::Failures boot_status()
Definition: mountpoint.h:77
std::string workspace_fullpath_
Definition: mountpoint.h:382
void set_boot_status(loader::Failures code)
Definition: mountpoint.h:84
bool DetermineNfsMode()
Definition: mountpoint.cc:378
cvmfs::Fetcher * fetcher()
Definition: mountpoint.h:510
static const unsigned kTracerFlushThreshold
Definition: mountpoint.h:589
perf::Statistics * statistics()
Definition: mountpoint.h:534
uid_t talk_socket_uid_
Definition: mountpoint.h:675
uid_t talk_socket_uid()
Definition: mountpoint.h:537
std::string talk_socket_path()
Definition: mountpoint.h:539
perf::Counter * n_fs_stat_stale_
Definition: mountpoint.h:337
Log2Histogram * hist_fs_opendir_
Definition: mountpoint.h:363
bool LockWorkspace()
Definition: mountpoint.cc:501
bool CreateTracer()
Definition: mountpoint.cc:1684
bool wait_workspace_
Definition: mountpoint.h:329
double kcache_timeout_sec_
Definition: mountpoint.h:662
signature::SignatureManager * signature_mgr_
Definition: mountpoint.h:639
perf::Counter * n_fs_lookup_
Definition: mountpoint.h:334
AuthzSessionManager * authz_session_mgr_
Definition: mountpoint.h:636
static const unsigned kDefaultRetries
Definition: mountpoint.h:582
bool fuse_expire_entry()
Definition: mountpoint.h:520
double kcache_timeout_sec()
Definition: mountpoint.h:526
perf::Statistics * statistics_
Definition: mountpoint.h:356
download::DownloadManager * download_mgr_
Definition: mountpoint.h:640
static const unsigned kDefaultTimeoutSec
Definition: mountpoint.h:581
std::string exe_path_
Definition: mountpoint.h:323
bool CheckInstanceName(const std::string &instance)
Definition: mountpoint.cc:109
perf::Statistics * statistics_
Definition: mountpoint.h:633
Log2Histogram * hist_fs_readlink_
Definition: mountpoint.h:362
static void SetupLoggingStandalone(const OptionsManager &options_mgr, const std::string &prefix)
Definition: mountpoint.cc:869
perf::Counter * n_fs_readlink()
Definition: mountpoint.h:228
std::string fqrn() const
Definition: mountpoint.h:512
gid_t talk_socket_gid_
Definition: mountpoint.h:676
void SetupSqlite()
Definition: mountpoint.cc:1051
perf::Counter * n_eio_total_
Definition: mountpoint.h:346
std::string GetUniqFileSuffix()
Definition: mountpoint.cc:1838
StatfsCache * statfs_cache_
Definition: mountpoint.h:656
download::DownloadManager * external_download_mgr_
Definition: mountpoint.h:641
MagicXattrManager * magic_xattr_mgr_
Definition: mountpoint.h:655
bool fuse_expire_entry_
Definition: mountpoint.h:666
lru::InodeCache * inode_cache()
Definition: mountpoint.h:525
CacheManager * SetupCacheMgr(const std::string &instance)
Definition: mountpoint.cc:619
const SettingsPublisher & settings() const
Definition: repository.h:317
void SetupHttpTuning()
Definition: mountpoint.cc:2185
static const char * kDefaultBlacklist
Definition: mountpoint.h:590
uint64_t cache_timeout_
Definition: mountpoint.h:466
unsigned max_ttl_sec_
Definition: mountpoint.h:660
bool CreateDownloadManagers()
Definition: mountpoint.cc:1400
std::string ReplaceHosts(std::string hosts)
std::string talk_socket_path_
Definition: mountpoint.h:674
perf::Counter * n_fs_stat_
Definition: mountpoint.h:336
perf::Counter * n_eio_05_
Definition: mountpoint.h:351
perf::Counter * no_open_files_
Definition: mountpoint.h:344
assert((mem||(size==0))&&"Out Of Memory")
static const unsigned kShortTermTTL
Definition: mountpoint.h:486
MagicXattrManager * magic_xattr_mgr()
Definition: mountpoint.h:516
void SetupLogging()
Definition: mountpoint.cc:891
static void SetupGlobalEnvironmentParams()
Definition: mountpoint.cc:864
int fd_workspace_lock_
Definition: mountpoint.h:383
Log2Histogram * hist_fs_read()
Definition: mountpoint.h:218
void CreateStatistics()
Definition: mountpoint.cc:1603
CacheManager * SetupRamCacheMgr(const std::string &instance)
Definition: mountpoint.cc:722
bool cache_symlinks_
Definition: mountpoint.h:665
static void LogSqliteError(void *user_data __attribute__((unused)), int sqlite_extended_error, const char *message)
Definition: mountpoint.cc:532
void EnableFuseExpireEntry()
Definition: mountpoint.cc:1261
static const unsigned kNfsMaps
Definition: mountpoint.h:182
std::string workspace_
Definition: mountpoint.h:376
perf::Counter * n_fs_read()
Definition: mountpoint.h:227
PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance)
Definition: mountpoint.cc:294
bool has_membership_req_
Definition: mountpoint.h:672
lru::Md5PathCache * md5path_cache()
Definition: mountpoint.h:527
perf::Counter * n_eio_01_
Definition: mountpoint.h:347
void ReEvaluateAuthz()
Definition: mountpoint.cc:1934
uint64_t expiry_deadline_
Definition: mountpoint.h:464
std::set< std::string > constructed_instances_
Definition: mountpoint.h:411
bool has_membership_req()
Definition: mountpoint.h:517
bool DetermineRootHash(shash::Any *root_hash)
Definition: mountpoint.cc:1716
perf::Counter * counter_
Definition: mountpoint.h:171
bool CreateCatalogManager()
Definition: mountpoint.cc:1343
struct cvmcache_object_info __attribute__
Definition: atomic.h:24
void RemapCatalogFd(int from, int to)
Definition: mountpoint.cc:1146
static const unsigned kNfsNone
Definition: mountpoint.h:178
std::string path_crash_guard_
Definition: mountpoint.h:389
cvmfs::Uuid * uuid()
Definition: mountpoint.h:541
bool SetupWorkspace()
Definition: mountpoint.cc:1068
perf::Counter * n_eio_08()
Definition: mountpoint.h:246
static const char * kDefaultAuthzSearchPath
Definition: mountpoint.h:573
perf::Counter * n_fs_open()
Definition: mountpoint.h:226
Type type()
Definition: mountpoint.h:249
FileSystem(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:400
std::string mountpoint_
Definition: mountpoint.h:401
std::string membership_req()
Definition: mountpoint.h:528
static const unsigned kDefaultMaxTtlSec
Definition: mountpoint.h:553
static const unsigned kLibPathCacheSize
Definition: mountpoint.h:561
std::string boot_error_
Definition: mountpoint.h:88
OptionsManager * options_mgr_
Definition: mountpoint.h:631
Log2Histogram * hist_fs_getattr_
Definition: mountpoint.h:361
Log2Histogram * hist_fs_releasedir_
Definition: mountpoint.h:364
Definition: tracer.h:35
const uint64_t cache_timeout()
Definition: mountpoint.h:457
void ReplaceCacheManager(CacheManager *new_cache_mgr)
Definition: mountpoint.cc:1150
void DisableCacheSymlinks()
Definition: mountpoint.cc:1253
glue::PageCacheTracker * page_cache_tracker()
Definition: mountpoint.h:530
perf::Counter * n_fs_readlink_
Definition: mountpoint.h:341
perf::Counter * n_eio_07()
Definition: mountpoint.h:245
void SetMaxTtlMn(unsigned value_minutes)
Definition: mountpoint.cc:1944
static const unsigned kDefaultBackoffInitMs
Definition: mountpoint.h:583
perf::Counter * n_fs_forget_
Definition: mountpoint.h:342
MountPoint(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr)
Definition: mountpoint.cc:1843
pthread_mutex_t * lock_
Definition: mountpoint.h:462
Tracer * tracer_
Definition: mountpoint.h:651
std::string repository_tag()
Definition: mountpoint.h:532
catalog::ClientCatalogManager * catalog_mgr()
Definition: mountpoint.h:501
static bool g_alive
Definition: mountpoint.h:257
static const unsigned kDefaultNumConnections
Definition: mountpoint.h:577
void TearDown2ReadOnly()
Definition: mountpoint.cc:1132
Log2Histogram * hist_fs_forget_multi()
Definition: mountpoint.h:211
static const unsigned kNfsMapsHa
Definition: mountpoint.h:186
lru::Md5PathCache * md5path_cache_
Definition: mountpoint.h:650
std::string name_
Definition: mountpoint.h:322
Log2Histogram * hist_fs_release()
Definition: mountpoint.h:219
std::string membership_req_
Definition: mountpoint.h:671
glue::DentryTracker * dentry_tracker_
Definition: mountpoint.h:653
perf::Counter * n_fs_read_
Definition: mountpoint.h:340
perf::Counter * no_open_dirs()
Definition: mountpoint.h:236
perf::Counter * n_eio_06_
Definition: mountpoint.h:352
catalog::InodeAnnotation * inode_annotation()
Definition: mountpoint.h:521
static const char * kDefaultCacheMgrInstance
Definition: mountpoint.h:261
glue::PageCacheTracker * page_cache_tracker_
Definition: mountpoint.h:654
Log2Histogram * hist_fs_releasedir()
Definition: mountpoint.h:215
bool found_previous_crash_
Definition: mountpoint.h:395
loader::Failures boot_status_
Definition: mountpoint.h:87
bool TriageCacheMgr()
Definition: mountpoint.cc:1156
StatfsCache(uint64_t cacheValid)
Definition: mountpoint.h:444
std::string boot_error()
Definition: mountpoint.h:78
lru::PathCache * path_cache()
Definition: mountpoint.h:531
struct statvfs * info()
Definition: mountpoint.h:458
bool CheckPosixCacheSettings(const PosixCacheSettings &settings)
Definition: mountpoint.cc:126
perf::TelemetryAggregator * telemetry_aggr_
Definition: mountpoint.h:634
perf::Counter * n_fs_inode_replace_
Definition: mountpoint.h:343
bool IsNfsSource()
Definition: mountpoint.h:195
ChunkTables * chunk_tables_
Definition: mountpoint.h:646
CacheManager * cache_mgr()
Definition: mountpoint.h:205
file_watcher::FileWatcher * resolv_conf_watcher()
Definition: mountpoint.h:507
void SetupDnsTuning(download::DownloadManager *manager)
Definition: mountpoint.cc:2084
cvmfs::Uuid * uuid_cache_
Definition: mountpoint.h:422
unsigned GetEffectiveTtlSec()
Definition: mountpoint.cc:1816
perf::TelemetryAggregator * telemetry_aggr()
Definition: mountpoint.h:535
perf::Counter * no_open_files()
Definition: mountpoint.h:237
AuthzSessionManager * authz_session_mgr()
Definition: mountpoint.h:499
static const unsigned kDefaultBackoffMaxMs
Definition: mountpoint.h:584
struct statvfs info_
Definition: mountpoint.h:467
lru::InodeCache * inode_cache_
Definition: mountpoint.h:648
CacheManager * SetupPosixCacheMgr(const std::string &instance)
Definition: mountpoint.cc:692
IoErrorInfo * io_error_info()
Definition: mountpoint.h:233
download::DownloadManager * download_mgr()
Definition: mountpoint.h:503
perf::Counter * n_fs_stat_stale()
Definition: mountpoint.h:230
perf::Counter * n_fs_open_
Definition: mountpoint.h:332
bool found_previous_crash()
Definition: mountpoint.h:208
bool SetupPosixQuotaMgr(const PosixCacheSettings &settings, CacheManager *cache_mgr)
Definition: mountpoint.cc:989
perf::Counter * n_fs_forget()
Definition: mountpoint.h:222
Log2Histogram * hist_fs_readlink()
Definition: mountpoint.h:213
unsigned nfs_mode_
Definition: mountpoint.h:416
Type type_
Definition: mountpoint.h:324
static const unsigned kInodeCacheFactor
Definition: mountpoint.h:565
Failures
Definition: loader.h:27
perf::Counter * n_eio_04_
Definition: mountpoint.h:350
Log2Histogram * hist_fs_readdir_
Definition: mountpoint.h:365
cvmfs::Uuid * uuid_
Definition: mountpoint.h:623
ChunkTables * chunk_tables()
Definition: mountpoint.h:502
glue::DentryTracker * dentry_tracker()
Definition: mountpoint.h:529
perf::Counter * n_fs_dir_open()
Definition: mountpoint.h:221
Log2Histogram * hist_fs_readdir()
Definition: mountpoint.h:216
BackoffThrottle * backoff_throttle_
Definition: mountpoint.h:638
AuthzAttachment * authz_attachment_
Definition: mountpoint.h:637
cvmfs::Fetcher * external_fetcher()
Definition: mountpoint.h:514
bool IsValid()
Definition: mountpoint.h:76
SimpleChunkTables * simple_chunk_tables_
Definition: mountpoint.h:647
bool enforce_acls()
Definition: mountpoint.h:518
perf::Counter * n_eio_03_
Definition: mountpoint.h:349
static const unsigned kDefaultNfiles
Definition: mountpoint.h:260
static FileSystem * Create(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:166
bool has_custom_sqlitevfs_
Definition: mountpoint.h:433
perf::Counter * n_fs_statfs_
Definition: mountpoint.h:338
bool ReloadBlacklists()
Definition: mountpoint.cc:1229
std::string name()
Definition: mountpoint.h:234
void CreateStatistics()
Definition: mountpoint.cc:210
signature::SignatureManager * signature_mgr()
Definition: mountpoint.h:536
pthread_mutex_t lock_max_ttl_
Definition: mountpoint.h:661
Log2Histogram * hist_fs_open()
Definition: mountpoint.h:217
void CreateAuthz()
Definition: mountpoint.cc:1317
pthread_mutex_t * lock()
Definition: mountpoint.h:459
static const char * kDefaultCacheBase
Definition: mountpoint.h:258
Log2Histogram * hist_fs_lookup()
Definition: mountpoint.h:209
static const unsigned kTracerBufferSize
Definition: mountpoint.h:588
void SetupUuid()
Definition: mountpoint.cc:1117
perf::Counter * n_eio_02_
Definition: mountpoint.h:348
catalog::ClientCatalogManager * catalog_mgr_
Definition: mountpoint.h:645
bool CreateSignatureManager()
Definition: mountpoint.cc:1570
std::string fqrn_
Definition: mountpoint.h:622
unsigned GetMaxTtlMn()
Definition: mountpoint.cc:1828
perf::Counter * n_fs_lookup()
Definition: mountpoint.h:224
bool SetupBehavior()
Definition: mountpoint.cc:1949
AuthzFetcher * authz_fetcher_
Definition: mountpoint.h:635
bool FetchHistory(std::string *history_path)
Definition: mountpoint.cc:1784
perf::Statistics * statistics()
Definition: mountpoint.h:248
bool enforce_acls_
Definition: mountpoint.h:664
bool IsHaNfsSource()
Definition: mountpoint.h:196
void CreateTables()
Definition: mountpoint.cc:1642
bool SetupCrashGuard()
Definition: mountpoint.cc:813
static const unsigned kDefaultQuotaLimit
Definition: mountpoint.h:259
void ResetErrorCounters()
Definition: mountpoint.cc:602
Log2Histogram * hist_fs_lookup_
Definition: mountpoint.h:358
perf::Counter * n_eio_02()
Definition: mountpoint.h:240
static const unsigned kDefaultMemcacheSize
Definition: mountpoint.h:569
perf::Counter * n_eio_03()
Definition: mountpoint.h:241
perf::Counter * n_eio_04()
Definition: mountpoint.h:242
std::string repository_tag_
Definition: mountpoint.h:667
bool SetupOwnerMaps()
Definition: mountpoint.cc:2247
SimpleChunkTables * simple_chunk_tables()
Definition: mountpoint.h:533
bool CreateResolvConfWatcher()
Definition: mountpoint.cc:1532
perf::Counter * n_fs_lookup_negative()
Definition: mountpoint.h:225
Log2Histogram * hist_fs_read_
Definition: mountpoint.h:367
StatfsCache * statfs_cache()
Definition: mountpoint.h:542
bool SetupNfsMaps()
Definition: mountpoint.cc:896
bool CheckBlacklists()
Definition: mountpoint.cc:1191
std::vector< std::string > blacklist_paths_
Definition: mountpoint.h:668
cvmfs::Fetcher * fetcher_
Definition: mountpoint.h:642
Log2Histogram * hist_fs_forget()
Definition: mountpoint.h:210
file_watcher::FileWatcher * resolv_conf_watcher_
Definition: mountpoint.h:658
bool SetupExternalDownloadMgr(bool dogeosort)
Definition: mountpoint.cc:2124
CacheManager * SetupExternalCacheMgr(const std::string &instance)
Definition: mountpoint.cc:653
perf::Counter * n_fs_lookup_negative_
Definition: mountpoint.h:335
Log2Histogram * hist_fs_open_
Definition: mountpoint.h:366
std::string cache_mgr_instance_
Definition: mountpoint.h:406
std::string path_workspace_lock_
Definition: mountpoint.h:384
Log2Histogram * hist_fs_release_
Definition: mountpoint.h:368
static const int kDefaultTelemetrySendRateSec
Definition: mountpoint.h:594
OptionsManager * options_mgr_
Definition: mountpoint.h:328
perf::Counter * no_open_dirs_
Definition: mountpoint.h:345
glue::InodeTracker * inode_tracker_
Definition: mountpoint.h:652
bool fixed_catalog_
Definition: mountpoint.h:663
BackoffThrottle * backoff_throttle()
Definition: mountpoint.h:500
Log2Histogram * hist_fs_getattr()
Definition: mountpoint.h:212
gid_t talk_socket_gid()
Definition: mountpoint.h:538
static const int kMinimumTelemetrySendRateSec
Definition: mountpoint.h:595
glue::InodeTracker * inode_tracker()
Definition: mountpoint.h:524
perf::Counter * n_fs_stat()
Definition: mountpoint.h:229
CacheManager * SetupTieredCacheMgr(const std::string &instance)
Definition: mountpoint.cc:772
FRIEND_TEST(T_MountPoint, MkCacheParm)
std::string workspace()
Definition: mountpoint.h:251
std::string cache_mgr_instance()
Definition: mountpoint.h:206
uint64_t * expiry_deadline()
Definition: mountpoint.h:456
lru::PathCache * path_cache_
Definition: mountpoint.h:649
CacheManager * cache_mgr_
Definition: mountpoint.h:417
cvmfs::Uuid * uuid_cache()
Definition: mountpoint.h:250
Tracer * tracer()
Definition: mountpoint.h:540
cvmfs::Fetcher * external_fetcher_
Definition: mountpoint.h:643
perf::Counter * n_fs_statfs_cached()
Definition: mountpoint.h:232
perf::Counter * n_fs_dir_open_
Definition: mountpoint.h:333
std::string MkCacheParm(const std::string &generic_parameter, const std::string &instance)
Definition: mountpoint.cc:567
NfsMaps * nfs_maps_
Definition: mountpoint.h:428
download::DownloadManager * external_download_mgr()
Definition: mountpoint.h:504
void CreateFetchers()
Definition: mountpoint.cc:1555
perf::Counter * n_fs_statfs()
Definition: mountpoint.h:231
static MountPoint * Create(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr=NULL)
Definition: mountpoint.cc:1270
Log2Histogram * hist_fs_forget_
Definition: mountpoint.h:359
perf::Counter * n_eio_06()
Definition: mountpoint.h:244
OptionsManager * options_mgr
Definition: mountpoint.h:139