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_; }
250  Type type() { return type_; }
252  std::string workspace() { return workspace_; }
253 
254  private:
258  static bool g_alive;
259  static const char *kDefaultCacheBase; // /var/lib/cvmfs
260  static const unsigned kDefaultQuotaLimit = 1024 * 1024 * 1024; // 1GB
261  static const unsigned kDefaultNfiles = 8192; // if CVMFS_NFILES is unset
262  static const char *kDefaultCacheMgrInstance; // "default"
263 
266  is_shared(false), is_alien(false), is_managed(false),
267  avoid_rename(false), cache_base_defined(false), cache_dir_defined(false),
268  quota_limit(0), do_refcount(true)
269  { }
270  bool is_shared;
271  bool is_alien;
280  int64_t quota_limit;
282  std::string cache_path;
287  std::string workspace;
288  };
289 
290  static void LogSqliteError(void *user_data __attribute__((unused)),
291  int sqlite_extended_error,
292  const char *message);
293 
294  explicit FileSystem(const FileSystemInfo &fs_info);
295 
296  static void SetupGlobalEnvironmentParams();
297  void SetupLogging();
298  void CreateStatistics();
299  void SetupSqlite();
300  bool DetermineNfsMode();
301  bool SetupWorkspace();
302  bool SetupCwd();
303  bool LockWorkspace();
304  bool SetupCrashGuard();
305  bool SetupNfsMaps();
306  void SetupUuid();
307 
308  std::string MkCacheParm(const std::string &generic_parameter,
309  const std::string &instance);
310  bool CheckInstanceName(const std::string &instance);
311  bool TriageCacheMgr();
312  CacheManager *SetupCacheMgr(const std::string &instance);
313  CacheManager *SetupPosixCacheMgr(const std::string &instance);
314  CacheManager *SetupRamCacheMgr(const std::string &instance);
315  CacheManager *SetupTieredCacheMgr(const std::string &instance);
316  CacheManager *SetupExternalCacheMgr(const std::string &instance);
317  PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance);
321 
322  // See FileSystemInfo for the following fields
323  std::string name_;
324  std::string exe_path_;
332 
359 
371 
378  std::string workspace_;
384  std::string workspace_fullpath_;
386  std::string path_workspace_lock_;
387 
391  std::string path_crash_guard_;
392 
398 
403  std::string mountpoint_;
408  std::string cache_mgr_instance_;
413  std::set<std::string> constructed_instances_;
414  std::string nfs_maps_dir_;
418  unsigned nfs_mode_;
425 
436 };
437 
445  public:
446  explicit StatfsCache(uint64_t cacheValid) : expiry_deadline_(0),
447  cache_timeout_(cacheValid) {
448  memset(&info_, 0, sizeof(info_));
449  lock_ =
450  reinterpret_cast<pthread_mutex_t *>(smalloc(sizeof(pthread_mutex_t)));
451  int retval = pthread_mutex_init(lock_, NULL);
452  assert(retval == 0);
453  }
455  pthread_mutex_destroy(lock_);
456  free(lock_);
457  }
458  uint64_t *expiry_deadline() { return &expiry_deadline_; }
459  const uint64_t cache_timeout() { return cache_timeout_; }
460  struct statvfs *info() { return &info_; }
461  pthread_mutex_t *lock() { return lock_; }
462 
463  private:
464  pthread_mutex_t *lock_;
465  // Timestamp/deadline when the currently cached statvfs info_ becomes invalid
467  // Time in seconds how long statvfs info_ should be cached
468  uint64_t cache_timeout_;
469  struct statvfs info_;
470 };
471 
484  public:
488  static const unsigned kShortTermTTL = 180;
489  static const time_t kIndefiniteDeadline = time_t(-1);
490 
491  static MountPoint *Create(const std::string &fqrn,
493  OptionsManager *options_mgr = NULL);
494  ~MountPoint();
495 
496  unsigned GetMaxTtlMn();
497  unsigned GetEffectiveTtlSec();
498  void SetMaxTtlMn(unsigned value_minutes);
499  void ReEvaluateAuthz();
500 
507  return external_download_mgr_;
508  }
510  return resolv_conf_watcher_;
511  }
513  bool fixed_catalog() { return fixed_catalog_; }
514  std::string fqrn() const { return fqrn_; }
515  // TODO(jblomer): use only a singler fetcher object
520  bool enforce_acls() { return enforce_acls_; }
521  bool cache_symlinks() { return cache_symlinks_; }
524  return inode_annotation_;
525  }
530  std::string membership_req() { return membership_req_; }
534  std::string repository_tag() { return repository_tag_; }
539  uid_t talk_socket_uid() { return talk_socket_uid_; }
540  gid_t talk_socket_gid() { return talk_socket_gid_; }
541  std::string talk_socket_path() { return talk_socket_path_; }
542  Tracer *tracer() { return tracer_; }
543  cvmfs::Uuid *uuid() { return uuid_; }
545 
546  bool ReloadBlacklists();
547  void DisableCacheSymlinks();
548  void EnableFuseExpireEntry();
549 
550  private:
555  static const unsigned kDefaultMaxTtlSec = 0;
559  static const unsigned kDefaultKCacheTtlSec = 60;
563  static const unsigned kLibPathCacheSize = 32000;
567  static const unsigned kInodeCacheFactor = 7;
571  static const unsigned kDefaultMemcacheSize = 16 * 1024 * 1024;
575  static const char *kDefaultAuthzSearchPath; // "/usr/libexec/cvmfs/authz"
579  static const unsigned kDefaultNumConnections = 16;
583  static const unsigned kDefaultTimeoutSec = 5;
584  static const unsigned kDefaultRetries = 1;
585  static const unsigned kDefaultBackoffInitMs = 2000;
586  static const unsigned kDefaultBackoffMaxMs = 10000;
590  static const unsigned kTracerBufferSize = 8192;
591  static const unsigned kTracerFlushThreshold = 7000;
592  static const char *kDefaultBlacklist; // "/etc/cvmfs/blacklist"
596  static const int kDefaultTelemetrySendRateSec = 5 * 60; // 5min
597  static const int kMinimumTelemetrySendRateSec = 5; // 5sec
598 
599  MountPoint(const std::string &fqrn,
601  OptionsManager *options_mgr);
602 
603  void CreateStatistics();
604  void CreateAuthz();
605  bool CreateSignatureManager();
606  bool CheckBlacklists();
607  bool CreateDownloadManagers();
609  void CreateFetchers();
610  bool CreateCatalogManager();
611  void CreateTables();
612  bool CreateTracer();
613  bool SetupBehavior();
615  void SetupHttpTuning();
616  bool SetupExternalDownloadMgr(bool dogeosort);
617  void SetupInodeAnnotation();
618  bool SetupOwnerMaps();
619  bool DetermineRootHash(shash::Any *root_hash);
620  bool FetchHistory(std::string *history_path);
621  std::string ReplaceHosts(std::string hosts);
622  std::string GetUniqFileSuffix();
623 
624  std::string fqrn_;
634 
659 
661 
662  unsigned max_ttl_sec_;
663  pthread_mutex_t lock_max_ttl_;
669  std::string repository_tag_;
670  std::vector<std::string> blacklist_paths_;
671 
672  // TODO(jblomer): this should go in the catalog manager
673  std::string membership_req_;
675 
676  std::string talk_socket_path_;
679 }; // class MointPoint
680 
681 #endif // CVMFS_MOUNTPOINT_H_
perf::Counter * n_eio_total()
Definition: mountpoint.h:238
perf::Counter * n_eio_07_
Definition: mountpoint.h:354
bool cache_symlinks()
Definition: mountpoint.h:521
IoErrorInfo io_error_info_
Definition: mountpoint.h:357
OptionsManager * options_mgr()
Definition: mountpoint.h:248
std::string exe_path()
Definition: mountpoint.h:207
bool fixed_catalog()
Definition: mountpoint.h:513
FileSystem * file_system_
Definition: mountpoint.h:629
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:414
bool foreground_
Definition: mountpoint.h:331
static const time_t kIndefiniteDeadline
Definition: mountpoint.h:489
perf::Counter * n_fs_inode_replace()
Definition: mountpoint.h:223
perf::Counter * n_eio_08_
Definition: mountpoint.h:355
perf::Counter * n_emfile_
Definition: mountpoint.h:356
perf::Counter * n_eio_01()
Definition: mountpoint.h:239
FileSystem * file_system()
Definition: mountpoint.h:517
Log2Histogram * hist_fs_forget_multi_
Definition: mountpoint.h:362
Log2Histogram * hist_fs_opendir()
Definition: mountpoint.h:214
perf::Counter * n_fs_statfs_cached_
Definition: mountpoint.h:340
void SetupInodeAnnotation()
Definition: mountpoint.cc:2255
bool SetupCwd()
Definition: mountpoint.cc:838
catalog::InodeAnnotation * inode_annotation_
Definition: mountpoint.h:646
static const unsigned kDefaultKCacheTtlSec
Definition: mountpoint.h:559
loader::Failures boot_status()
Definition: mountpoint.h:77
std::string workspace_fullpath_
Definition: mountpoint.h:384
void set_boot_status(loader::Failures code)
Definition: mountpoint.h:84
bool DetermineNfsMode()
Definition: mountpoint.cc:380
cvmfs::Fetcher * fetcher()
Definition: mountpoint.h:512
static const unsigned kTracerFlushThreshold
Definition: mountpoint.h:591
perf::Statistics * statistics()
Definition: mountpoint.h:536
uid_t talk_socket_uid_
Definition: mountpoint.h:677
uid_t talk_socket_uid()
Definition: mountpoint.h:539
std::string talk_socket_path()
Definition: mountpoint.h:541
perf::Counter * n_fs_stat_stale_
Definition: mountpoint.h:338
Log2Histogram * hist_fs_opendir_
Definition: mountpoint.h:365
bool LockWorkspace()
Definition: mountpoint.cc:504
bool CreateTracer()
Definition: mountpoint.cc:1698
bool wait_workspace_
Definition: mountpoint.h:330
double kcache_timeout_sec_
Definition: mountpoint.h:664
signature::SignatureManager * signature_mgr_
Definition: mountpoint.h:641
perf::Counter * n_fs_lookup_
Definition: mountpoint.h:335
AuthzSessionManager * authz_session_mgr_
Definition: mountpoint.h:638
static const unsigned kDefaultRetries
Definition: mountpoint.h:584
bool fuse_expire_entry()
Definition: mountpoint.h:522
double kcache_timeout_sec()
Definition: mountpoint.h:528
perf::Statistics * statistics_
Definition: mountpoint.h:358
download::DownloadManager * download_mgr_
Definition: mountpoint.h:642
static const unsigned kDefaultTimeoutSec
Definition: mountpoint.h:583
std::string exe_path_
Definition: mountpoint.h:324
bool CheckInstanceName(const std::string &instance)
Definition: mountpoint.cc:109
perf::Statistics * statistics_
Definition: mountpoint.h:635
Log2Histogram * hist_fs_readlink_
Definition: mountpoint.h:364
static void SetupLoggingStandalone(const OptionsManager &options_mgr, const std::string &prefix)
Definition: mountpoint.cc:873
perf::Counter * n_fs_readlink()
Definition: mountpoint.h:228
std::string fqrn() const
Definition: mountpoint.h:514
gid_t talk_socket_gid_
Definition: mountpoint.h:678
void SetupSqlite()
Definition: mountpoint.cc:1055
perf::Counter * n_eio_total_
Definition: mountpoint.h:347
std::string GetUniqFileSuffix()
Definition: mountpoint.cc:1852
StatfsCache * statfs_cache_
Definition: mountpoint.h:658
download::DownloadManager * external_download_mgr_
Definition: mountpoint.h:643
MagicXattrManager * magic_xattr_mgr_
Definition: mountpoint.h:657
bool fuse_expire_entry_
Definition: mountpoint.h:668
lru::InodeCache * inode_cache()
Definition: mountpoint.h:527
CacheManager * SetupCacheMgr(const std::string &instance)
Definition: mountpoint.cc:623
const SettingsPublisher & settings() const
Definition: repository.h:317
void SetupHttpTuning()
Definition: mountpoint.cc:2206
static const char * kDefaultBlacklist
Definition: mountpoint.h:592
uint64_t cache_timeout_
Definition: mountpoint.h:468
unsigned max_ttl_sec_
Definition: mountpoint.h:662
bool CreateDownloadManagers()
Definition: mountpoint.cc:1408
std::string ReplaceHosts(std::string hosts)
std::string talk_socket_path_
Definition: mountpoint.h:676
perf::Counter * n_fs_stat_
Definition: mountpoint.h:337
perf::Counter * n_eio_05_
Definition: mountpoint.h:352
perf::Counter * no_open_files_
Definition: mountpoint.h:345
assert((mem||(size==0))&&"Out Of Memory")
static const unsigned kShortTermTTL
Definition: mountpoint.h:488
MagicXattrManager * magic_xattr_mgr()
Definition: mountpoint.h:518
void SetupLogging()
Definition: mountpoint.cc:895
static void SetupGlobalEnvironmentParams()
Definition: mountpoint.cc:868
int fd_workspace_lock_
Definition: mountpoint.h:385
Log2Histogram * hist_fs_read()
Definition: mountpoint.h:218
void CreateStatistics()
Definition: mountpoint.cc:1617
CacheManager * SetupRamCacheMgr(const std::string &instance)
Definition: mountpoint.cc:726
bool cache_symlinks_
Definition: mountpoint.h:667
static void LogSqliteError(void *user_data __attribute__((unused)), int sqlite_extended_error, const char *message)
Definition: mountpoint.cc:535
void EnableFuseExpireEntry()
Definition: mountpoint.cc:1269
static const unsigned kNfsMaps
Definition: mountpoint.h:182
std::string workspace_
Definition: mountpoint.h:378
perf::Counter * n_fs_read()
Definition: mountpoint.h:227
PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance)
Definition: mountpoint.cc:296
bool has_membership_req_
Definition: mountpoint.h:674
lru::Md5PathCache * md5path_cache()
Definition: mountpoint.h:529
perf::Counter * n_eio_01_
Definition: mountpoint.h:348
void ReEvaluateAuthz()
Definition: mountpoint.cc:1948
uint64_t expiry_deadline_
Definition: mountpoint.h:466
std::set< std::string > constructed_instances_
Definition: mountpoint.h:413
bool has_membership_req()
Definition: mountpoint.h:519
bool DetermineRootHash(shash::Any *root_hash)
Definition: mountpoint.cc:1730
perf::Counter * counter_
Definition: mountpoint.h:171
bool CreateCatalogManager()
Definition: mountpoint.cc:1351
struct cvmcache_object_info __attribute__
Definition: atomic.h:24
void RemapCatalogFd(int from, int to)
Definition: mountpoint.cc:1150
static const unsigned kNfsNone
Definition: mountpoint.h:178
std::string path_crash_guard_
Definition: mountpoint.h:391
cvmfs::Uuid * uuid()
Definition: mountpoint.h:543
bool SetupWorkspace()
Definition: mountpoint.cc:1072
perf::Counter * n_eio_08()
Definition: mountpoint.h:246
static const char * kDefaultAuthzSearchPath
Definition: mountpoint.h:575
perf::Counter * n_fs_open()
Definition: mountpoint.h:226
Type type()
Definition: mountpoint.h:250
FileSystem(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:402
std::string mountpoint_
Definition: mountpoint.h:403
std::string membership_req()
Definition: mountpoint.h:530
static const unsigned kDefaultMaxTtlSec
Definition: mountpoint.h:555
static const unsigned kLibPathCacheSize
Definition: mountpoint.h:563
std::string boot_error_
Definition: mountpoint.h:88
OptionsManager * options_mgr_
Definition: mountpoint.h:633
Log2Histogram * hist_fs_getattr_
Definition: mountpoint.h:363
Log2Histogram * hist_fs_releasedir_
Definition: mountpoint.h:366
Definition: tracer.h:35
const uint64_t cache_timeout()
Definition: mountpoint.h:459
void ReplaceCacheManager(CacheManager *new_cache_mgr)
Definition: mountpoint.cc:1154
void DisableCacheSymlinks()
Definition: mountpoint.cc:1261
glue::PageCacheTracker * page_cache_tracker()
Definition: mountpoint.h:532
perf::Counter * n_fs_readlink_
Definition: mountpoint.h:342
perf::Counter * n_eio_07()
Definition: mountpoint.h:245
void SetMaxTtlMn(unsigned value_minutes)
Definition: mountpoint.cc:1958
static const unsigned kDefaultBackoffInitMs
Definition: mountpoint.h:585
perf::Counter * n_fs_forget_
Definition: mountpoint.h:343
MountPoint(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr)
Definition: mountpoint.cc:1857
pthread_mutex_t * lock_
Definition: mountpoint.h:464
Tracer * tracer_
Definition: mountpoint.h:653
std::string repository_tag()
Definition: mountpoint.h:534
catalog::ClientCatalogManager * catalog_mgr()
Definition: mountpoint.h:503
static bool g_alive
Definition: mountpoint.h:258
static const unsigned kDefaultNumConnections
Definition: mountpoint.h:579
void TearDown2ReadOnly()
Definition: mountpoint.cc:1136
Log2Histogram * hist_fs_forget_multi()
Definition: mountpoint.h:211
static const unsigned kNfsMapsHa
Definition: mountpoint.h:186
lru::Md5PathCache * md5path_cache_
Definition: mountpoint.h:652
std::string name_
Definition: mountpoint.h:323
Log2Histogram * hist_fs_release()
Definition: mountpoint.h:219
std::string membership_req_
Definition: mountpoint.h:673
glue::DentryTracker * dentry_tracker_
Definition: mountpoint.h:655
perf::Counter * n_emfile()
Definition: mountpoint.h:247
perf::Counter * n_fs_read_
Definition: mountpoint.h:341
perf::Counter * no_open_dirs()
Definition: mountpoint.h:236
perf::Counter * n_eio_06_
Definition: mountpoint.h:353
catalog::InodeAnnotation * inode_annotation()
Definition: mountpoint.h:523
static const char * kDefaultCacheMgrInstance
Definition: mountpoint.h:262
glue::PageCacheTracker * page_cache_tracker_
Definition: mountpoint.h:656
Log2Histogram * hist_fs_releasedir()
Definition: mountpoint.h:215
bool found_previous_crash_
Definition: mountpoint.h:397
loader::Failures boot_status_
Definition: mountpoint.h:87
bool TriageCacheMgr()
Definition: mountpoint.cc:1160
StatfsCache(uint64_t cacheValid)
Definition: mountpoint.h:446
std::string boot_error()
Definition: mountpoint.h:78
lru::PathCache * path_cache()
Definition: mountpoint.h:533
struct statvfs * info()
Definition: mountpoint.h:460
bool CheckPosixCacheSettings(const PosixCacheSettings &settings)
Definition: mountpoint.cc:126
perf::TelemetryAggregator * telemetry_aggr_
Definition: mountpoint.h:636
perf::Counter * n_fs_inode_replace_
Definition: mountpoint.h:344
bool IsNfsSource()
Definition: mountpoint.h:195
ChunkTables * chunk_tables_
Definition: mountpoint.h:648
CacheManager * cache_mgr()
Definition: mountpoint.h:205
file_watcher::FileWatcher * resolv_conf_watcher()
Definition: mountpoint.h:509
void SetupDnsTuning(download::DownloadManager *manager)
Definition: mountpoint.cc:2099
cvmfs::Uuid * uuid_cache_
Definition: mountpoint.h:424
unsigned GetEffectiveTtlSec()
Definition: mountpoint.cc:1830
perf::TelemetryAggregator * telemetry_aggr()
Definition: mountpoint.h:537
perf::Counter * no_open_files()
Definition: mountpoint.h:237
AuthzSessionManager * authz_session_mgr()
Definition: mountpoint.h:501
static const unsigned kDefaultBackoffMaxMs
Definition: mountpoint.h:586
struct statvfs info_
Definition: mountpoint.h:469
lru::InodeCache * inode_cache_
Definition: mountpoint.h:650
CacheManager * SetupPosixCacheMgr(const std::string &instance)
Definition: mountpoint.cc:696
IoErrorInfo * io_error_info()
Definition: mountpoint.h:233
download::DownloadManager * download_mgr()
Definition: mountpoint.h:505
perf::Counter * n_fs_stat_stale()
Definition: mountpoint.h:230
perf::Counter * n_fs_open_
Definition: mountpoint.h:333
bool found_previous_crash()
Definition: mountpoint.h:208
bool SetupPosixQuotaMgr(const PosixCacheSettings &settings, CacheManager *cache_mgr)
Definition: mountpoint.cc:993
perf::Counter * n_fs_forget()
Definition: mountpoint.h:222
Log2Histogram * hist_fs_readlink()
Definition: mountpoint.h:213
unsigned nfs_mode_
Definition: mountpoint.h:418
Type type_
Definition: mountpoint.h:325
static const unsigned kInodeCacheFactor
Definition: mountpoint.h:567
Failures
Definition: loader.h:27
perf::Counter * n_eio_04_
Definition: mountpoint.h:351
Log2Histogram * hist_fs_readdir_
Definition: mountpoint.h:367
cvmfs::Uuid * uuid_
Definition: mountpoint.h:625
ChunkTables * chunk_tables()
Definition: mountpoint.h:504
glue::DentryTracker * dentry_tracker()
Definition: mountpoint.h:531
perf::Counter * n_fs_dir_open()
Definition: mountpoint.h:221
Log2Histogram * hist_fs_readdir()
Definition: mountpoint.h:216
BackoffThrottle * backoff_throttle_
Definition: mountpoint.h:640
AuthzAttachment * authz_attachment_
Definition: mountpoint.h:639
cvmfs::Fetcher * external_fetcher()
Definition: mountpoint.h:516
bool IsValid()
Definition: mountpoint.h:76
SimpleChunkTables * simple_chunk_tables_
Definition: mountpoint.h:649
bool enforce_acls()
Definition: mountpoint.h:520
perf::Counter * n_eio_03_
Definition: mountpoint.h:350
static const unsigned kDefaultNfiles
Definition: mountpoint.h:261
static FileSystem * Create(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:166
bool has_custom_sqlitevfs_
Definition: mountpoint.h:435
perf::Counter * n_fs_statfs_
Definition: mountpoint.h:339
bool ReloadBlacklists()
Definition: mountpoint.cc:1237
std::string name()
Definition: mountpoint.h:234
void CreateStatistics()
Definition: mountpoint.cc:210
signature::SignatureManager * signature_mgr()
Definition: mountpoint.h:538
pthread_mutex_t lock_max_ttl_
Definition: mountpoint.h:663
Log2Histogram * hist_fs_open()
Definition: mountpoint.h:217
void CreateAuthz()
Definition: mountpoint.cc:1325
pthread_mutex_t * lock()
Definition: mountpoint.h:461
static const char * kDefaultCacheBase
Definition: mountpoint.h:259
Log2Histogram * hist_fs_lookup()
Definition: mountpoint.h:209
static const unsigned kTracerBufferSize
Definition: mountpoint.h:590
void SetupUuid()
Definition: mountpoint.cc:1121
perf::Counter * n_eio_02_
Definition: mountpoint.h:349
catalog::ClientCatalogManager * catalog_mgr_
Definition: mountpoint.h:647
bool CreateSignatureManager()
Definition: mountpoint.cc:1584
std::string fqrn_
Definition: mountpoint.h:624
unsigned GetMaxTtlMn()
Definition: mountpoint.cc:1842
perf::Counter * n_fs_lookup()
Definition: mountpoint.h:224
bool SetupBehavior()
Definition: mountpoint.cc:1963
AuthzFetcher * authz_fetcher_
Definition: mountpoint.h:637
bool FetchHistory(std::string *history_path)
Definition: mountpoint.cc:1798
perf::Statistics * statistics()
Definition: mountpoint.h:249
bool enforce_acls_
Definition: mountpoint.h:666
bool IsHaNfsSource()
Definition: mountpoint.h:196
void CreateTables()
Definition: mountpoint.cc:1656
bool SetupCrashGuard()
Definition: mountpoint.cc:817
static const unsigned kDefaultQuotaLimit
Definition: mountpoint.h:260
void ResetErrorCounters()
Definition: mountpoint.cc:605
Log2Histogram * hist_fs_lookup_
Definition: mountpoint.h:360
perf::Counter * n_eio_02()
Definition: mountpoint.h:240
static const unsigned kDefaultMemcacheSize
Definition: mountpoint.h:571
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:669
bool SetupOwnerMaps()
Definition: mountpoint.cc:2273
SimpleChunkTables * simple_chunk_tables()
Definition: mountpoint.h:535
bool CreateResolvConfWatcher()
Definition: mountpoint.cc:1546
perf::Counter * n_fs_lookup_negative()
Definition: mountpoint.h:225
Log2Histogram * hist_fs_read_
Definition: mountpoint.h:369
StatfsCache * statfs_cache()
Definition: mountpoint.h:544
bool SetupNfsMaps()
Definition: mountpoint.cc:900
bool CheckBlacklists()
Definition: mountpoint.cc:1199
std::vector< std::string > blacklist_paths_
Definition: mountpoint.h:670
cvmfs::Fetcher * fetcher_
Definition: mountpoint.h:644
Log2Histogram * hist_fs_forget()
Definition: mountpoint.h:210
file_watcher::FileWatcher * resolv_conf_watcher_
Definition: mountpoint.h:660
bool SetupExternalDownloadMgr(bool dogeosort)
Definition: mountpoint.cc:2139
CacheManager * SetupExternalCacheMgr(const std::string &instance)
Definition: mountpoint.cc:657
perf::Counter * n_fs_lookup_negative_
Definition: mountpoint.h:336
Log2Histogram * hist_fs_open_
Definition: mountpoint.h:368
std::string cache_mgr_instance_
Definition: mountpoint.h:408
std::string path_workspace_lock_
Definition: mountpoint.h:386
Log2Histogram * hist_fs_release_
Definition: mountpoint.h:370
static const int kDefaultTelemetrySendRateSec
Definition: mountpoint.h:596
OptionsManager * options_mgr_
Definition: mountpoint.h:329
perf::Counter * no_open_dirs_
Definition: mountpoint.h:346
glue::InodeTracker * inode_tracker_
Definition: mountpoint.h:654
bool fixed_catalog_
Definition: mountpoint.h:665
BackoffThrottle * backoff_throttle()
Definition: mountpoint.h:502
Log2Histogram * hist_fs_getattr()
Definition: mountpoint.h:212
gid_t talk_socket_gid()
Definition: mountpoint.h:540
static const int kMinimumTelemetrySendRateSec
Definition: mountpoint.h:597
glue::InodeTracker * inode_tracker()
Definition: mountpoint.h:526
perf::Counter * n_fs_stat()
Definition: mountpoint.h:229
CacheManager * SetupTieredCacheMgr(const std::string &instance)
Definition: mountpoint.cc:776
FRIEND_TEST(T_MountPoint, MkCacheParm)
std::string workspace()
Definition: mountpoint.h:252
std::string cache_mgr_instance()
Definition: mountpoint.h:206
uint64_t * expiry_deadline()
Definition: mountpoint.h:458
lru::PathCache * path_cache_
Definition: mountpoint.h:651
CacheManager * cache_mgr_
Definition: mountpoint.h:419
cvmfs::Uuid * uuid_cache()
Definition: mountpoint.h:251
Tracer * tracer()
Definition: mountpoint.h:542
cvmfs::Fetcher * external_fetcher_
Definition: mountpoint.h:645
perf::Counter * n_fs_statfs_cached()
Definition: mountpoint.h:232
perf::Counter * n_fs_dir_open_
Definition: mountpoint.h:334
std::string MkCacheParm(const std::string &generic_parameter, const std::string &instance)
Definition: mountpoint.cc:570
NfsMaps * nfs_maps_
Definition: mountpoint.h:430
download::DownloadManager * external_download_mgr()
Definition: mountpoint.h:506
void CreateFetchers()
Definition: mountpoint.cc:1569
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:1278
Log2Histogram * hist_fs_forget_
Definition: mountpoint.h:361
perf::Counter * n_eio_06()
Definition: mountpoint.h:244
OptionsManager * options_mgr
Definition: mountpoint.h:139