CernVM-FS  2.13.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 } // namespace catalog
37 struct ChunkTables;
38 namespace cvmfs {
39 class Fetcher;
40 class Uuid;
41 } // namespace cvmfs
42 namespace download {
43 class DownloadManager;
44 }
45 namespace glue {
46 class InodeTracker;
47 class DentryTracker;
48 class PageCacheTracker;
49 } // namespace glue
50 namespace lru {
51 class InodeCache;
52 class Md5PathCache;
53 class PathCache;
54 } // namespace lru
55 class NfsMaps;
56 class OptionsManager;
57 namespace perf {
58 class Counter;
59 class Statistics;
60 class TelemetryAggregator;
61 } // namespace perf
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
193  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)
267  , is_alien(false)
268  , is_managed(false)
269  , avoid_rename(false)
270  , cache_base_defined(false)
271  , cache_dir_defined(false)
272  , quota_limit(0)
273  , do_refcount(true) { }
274  bool is_shared;
275  bool is_alien;
284  int64_t quota_limit;
286  std::string cache_path;
291  std::string workspace;
292  };
293 
294  static void LogSqliteError(void *user_data __attribute__((unused)),
295  int sqlite_extended_error,
296  const char *message);
297 
298  explicit FileSystem(const FileSystemInfo &fs_info);
299 
300  static void SetupGlobalEnvironmentParams();
301  void SetupLogging();
302  void CreateStatistics();
303  void SetupSqlite();
304  bool DetermineNfsMode();
305  bool SetupWorkspace();
306  bool SetupCwd();
307  bool LockWorkspace();
308  bool SetupCrashGuard();
309  bool SetupNfsMaps();
310  void SetupUuid();
311 
312  std::string MkCacheParm(const std::string &generic_parameter,
313  const std::string &instance);
314  bool CheckInstanceName(const std::string &instance);
315  bool TriageCacheMgr();
316  CacheManager *SetupCacheMgr(const std::string &instance);
317  CacheManager *SetupPosixCacheMgr(const std::string &instance);
318  CacheManager *SetupRamCacheMgr(const std::string &instance);
319  CacheManager *SetupTieredCacheMgr(const std::string &instance);
320  CacheManager *SetupExternalCacheMgr(const std::string &instance);
321  PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance);
325 
326  // See FileSystemInfo for the following fields
327  std::string name_;
328  std::string exe_path_;
336 
363 
375 
382  std::string workspace_;
388  std::string workspace_fullpath_;
390  std::string path_workspace_lock_;
391 
395  std::string path_crash_guard_;
396 
402 
407  std::string mountpoint_;
412  std::string cache_mgr_instance_;
417  std::set<std::string> constructed_instances_;
418  std::string nfs_maps_dir_;
422  unsigned nfs_mode_;
429 
440 };
441 
449  public:
450  explicit StatfsCache(uint64_t cacheValid)
451  : expiry_deadline_(0), cache_timeout_(cacheValid) {
452  memset(&info_, 0, sizeof(info_));
453  lock_ = reinterpret_cast<pthread_mutex_t *>(
454  smalloc(sizeof(pthread_mutex_t)));
455  int retval = pthread_mutex_init(lock_, NULL);
456  assert(retval == 0);
457  }
459  pthread_mutex_destroy(lock_);
460  free(lock_);
461  }
462  uint64_t *expiry_deadline() { return &expiry_deadline_; }
463  const uint64_t cache_timeout() { return cache_timeout_; }
464  struct statvfs *info() { return &info_; }
465  pthread_mutex_t *lock() { return lock_; }
466 
467  private:
468  pthread_mutex_t *lock_;
469  // Timestamp/deadline when the currently cached statvfs info_ becomes invalid
471  // Time in seconds how long statvfs info_ should be cached
472  uint64_t cache_timeout_;
473  struct statvfs info_;
474 };
475 
488  public:
492  static const unsigned kShortTermTTL = 180;
493  static const time_t kIndefiniteDeadline = time_t(-1);
494 
495  static MountPoint *Create(const std::string &fqrn,
497  OptionsManager *options_mgr = NULL);
498  ~MountPoint();
499 
500  unsigned GetMaxTtlMn();
501  unsigned GetEffectiveTtlSec();
502  void SetMaxTtlMn(unsigned value_minutes);
503  void ReEvaluateAuthz();
504 
511  return external_download_mgr_;
512  }
514  return resolv_conf_watcher_;
515  }
517  bool fixed_catalog() { return fixed_catalog_; }
518  std::string fqrn() const { return fqrn_; }
519  // TODO(jblomer): use only a singler fetcher object
524  bool enforce_acls() { return enforce_acls_; }
525  bool cache_symlinks() { return cache_symlinks_; }
532  std::string membership_req() { return membership_req_; }
536  std::string repository_tag() { return repository_tag_; }
541  uid_t talk_socket_uid() { return talk_socket_uid_; }
542  gid_t talk_socket_gid() { return talk_socket_gid_; }
543  std::string talk_socket_path() { return talk_socket_path_; }
544  Tracer *tracer() { return tracer_; }
545  cvmfs::Uuid *uuid() { return uuid_; }
547 
548  bool ReloadBlacklists();
549  void DisableCacheSymlinks();
550  void EnableFuseExpireEntry();
551 
552  private:
557  static const unsigned kDefaultMaxTtlSec = 0;
561  static const unsigned kDefaultKCacheTtlSec = 60;
565  static const unsigned kLibPathCacheSize = 32000;
569  static const unsigned kInodeCacheFactor = 7;
573  static const unsigned kDefaultMemcacheSize = 16 * 1024 * 1024;
577  static const char *kDefaultAuthzSearchPath; // "/usr/libexec/cvmfs/authz"
581  static const unsigned kDefaultNumConnections = 16;
585  static const unsigned kDefaultTimeoutSec = 5;
586  static const unsigned kDefaultRetries = 1;
587  static const unsigned kDefaultBackoffInitMs = 2000;
588  static const unsigned kDefaultBackoffMaxMs = 10000;
592  static const unsigned kTracerBufferSize = 8192;
593  static const unsigned kTracerFlushThreshold = 7000;
594  static const char *kDefaultBlacklist; // "/etc/cvmfs/blacklist"
598  static const int kDefaultTelemetrySendRateSec = 5 * 60; // 5min
599  static const int kMinimumTelemetrySendRateSec = 5; // 5sec
600 
601  MountPoint(const std::string &fqrn,
603  OptionsManager *options_mgr);
604 
605  void CreateStatistics();
606  void CreateAuthz();
607  bool CreateSignatureManager();
608  bool CheckBlacklists();
609  bool CreateDownloadManagers();
611  void CreateFetchers();
612  bool CreateCatalogManager();
613  void CreateTables();
614  bool CreateTracer();
615  bool SetupBehavior();
617  void SetupHttpTuning();
618  bool SetupExternalDownloadMgr(bool dogeosort);
619  void SetupInodeAnnotation();
620  bool SetupOwnerMaps();
621  bool DetermineRootHash(shash::Any *root_hash);
622  bool FetchHistory(std::string *history_path);
623  std::string ReplaceHosts(std::string hosts);
624  std::string GetUniqFileSuffix();
625 
626  std::string fqrn_;
636 
661 
663 
664  unsigned max_ttl_sec_;
665  pthread_mutex_t lock_max_ttl_;
671  std::string repository_tag_;
672  std::vector<std::string> blacklist_paths_;
673 
674  // TODO(jblomer): this should go in the catalog manager
675  std::string membership_req_;
677 
678  std::string talk_socket_path_;
681 }; // class MointPoint
682 
683 #endif // CVMFS_MOUNTPOINT_H_
perf::Counter * n_eio_total()
Definition: mountpoint.h:238
perf::Counter * n_eio_07_
Definition: mountpoint.h:358
bool cache_symlinks()
Definition: mountpoint.h:525
IoErrorInfo io_error_info_
Definition: mountpoint.h:361
OptionsManager * options_mgr()
Definition: mountpoint.h:248
std::string exe_path()
Definition: mountpoint.h:207
bool fixed_catalog()
Definition: mountpoint.h:517
FileSystem * file_system_
Definition: mountpoint.h:631
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:418
bool foreground_
Definition: mountpoint.h:335
static const time_t kIndefiniteDeadline
Definition: mountpoint.h:493
perf::Counter * n_fs_inode_replace()
Definition: mountpoint.h:223
perf::Counter * n_eio_08_
Definition: mountpoint.h:359
perf::Counter * n_emfile_
Definition: mountpoint.h:360
perf::Counter * n_eio_01()
Definition: mountpoint.h:239
FileSystem * file_system()
Definition: mountpoint.h:521
Log2Histogram * hist_fs_forget_multi_
Definition: mountpoint.h:366
Log2Histogram * hist_fs_opendir()
Definition: mountpoint.h:214
perf::Counter * n_fs_statfs_cached_
Definition: mountpoint.h:344
void SetupInodeAnnotation()
Definition: mountpoint.cc:2211
bool SetupCwd()
Definition: mountpoint.cc:816
catalog::InodeAnnotation * inode_annotation_
Definition: mountpoint.h:648
static const unsigned kDefaultKCacheTtlSec
Definition: mountpoint.h:561
loader::Failures boot_status()
Definition: mountpoint.h:77
std::string workspace_fullpath_
Definition: mountpoint.h:388
void set_boot_status(loader::Failures code)
Definition: mountpoint.h:84
bool DetermineNfsMode()
Definition: mountpoint.cc:375
cvmfs::Fetcher * fetcher()
Definition: mountpoint.h:516
static const unsigned kTracerFlushThreshold
Definition: mountpoint.h:593
perf::Statistics * statistics()
Definition: mountpoint.h:538
uid_t talk_socket_uid_
Definition: mountpoint.h:679
uid_t talk_socket_uid()
Definition: mountpoint.h:541
std::string talk_socket_path()
Definition: mountpoint.h:543
perf::Counter * n_fs_stat_stale_
Definition: mountpoint.h:342
Log2Histogram * hist_fs_opendir_
Definition: mountpoint.h:369
bool LockWorkspace()
Definition: mountpoint.cc:496
bool CreateTracer()
Definition: mountpoint.cc:1664
bool wait_workspace_
Definition: mountpoint.h:334
double kcache_timeout_sec_
Definition: mountpoint.h:666
signature::SignatureManager * signature_mgr_
Definition: mountpoint.h:643
perf::Counter * n_fs_lookup_
Definition: mountpoint.h:339
AuthzSessionManager * authz_session_mgr_
Definition: mountpoint.h:640
static const unsigned kDefaultRetries
Definition: mountpoint.h:586
bool fuse_expire_entry()
Definition: mountpoint.h:526
double kcache_timeout_sec()
Definition: mountpoint.h:530
perf::Statistics * statistics_
Definition: mountpoint.h:362
download::DownloadManager * download_mgr_
Definition: mountpoint.h:644
static const unsigned kDefaultTimeoutSec
Definition: mountpoint.h:585
std::string exe_path_
Definition: mountpoint.h:328
bool CheckInstanceName(const std::string &instance)
Definition: mountpoint.cc:108
perf::Statistics * statistics_
Definition: mountpoint.h:637
Log2Histogram * hist_fs_readlink_
Definition: mountpoint.h:368
static void SetupLoggingStandalone(const OptionsManager &options_mgr, const std::string &prefix)
Definition: mountpoint.cc:851
perf::Counter * n_fs_readlink()
Definition: mountpoint.h:228
std::string fqrn() const
Definition: mountpoint.h:518
gid_t talk_socket_gid_
Definition: mountpoint.h:680
void SetupSqlite()
Definition: mountpoint.cc:1028
perf::Counter * n_eio_total_
Definition: mountpoint.h:351
std::string GetUniqFileSuffix()
Definition: mountpoint.cc:1815
StatfsCache * statfs_cache_
Definition: mountpoint.h:660
download::DownloadManager * external_download_mgr_
Definition: mountpoint.h:645
MagicXattrManager * magic_xattr_mgr_
Definition: mountpoint.h:659
bool fuse_expire_entry_
Definition: mountpoint.h:670
lru::InodeCache * inode_cache()
Definition: mountpoint.h:529
CacheManager * SetupCacheMgr(const std::string &instance)
Definition: mountpoint.cc:607
const SettingsPublisher & settings() const
Definition: repository.h:316
void SetupHttpTuning()
Definition: mountpoint.cc:2164
static const char * kDefaultBlacklist
Definition: mountpoint.h:594
uint64_t cache_timeout_
Definition: mountpoint.h:472
unsigned max_ttl_sec_
Definition: mountpoint.h:664
bool CreateDownloadManagers()
Definition: mountpoint.cc:1365
std::string ReplaceHosts(std::string hosts)
std::string talk_socket_path_
Definition: mountpoint.h:678
perf::Counter * n_fs_stat_
Definition: mountpoint.h:341
perf::Counter * n_eio_05_
Definition: mountpoint.h:356
perf::Counter * no_open_files_
Definition: mountpoint.h:349
assert((mem||(size==0))&&"Out Of Memory")
static const unsigned kShortTermTTL
Definition: mountpoint.h:492
MagicXattrManager * magic_xattr_mgr()
Definition: mountpoint.h:522
void SetupLogging()
Definition: mountpoint.cc:872
static void SetupGlobalEnvironmentParams()
Definition: mountpoint.cc:846
int fd_workspace_lock_
Definition: mountpoint.h:389
Log2Histogram * hist_fs_read()
Definition: mountpoint.h:218
void CreateStatistics()
Definition: mountpoint.cc:1579
CacheManager * SetupRamCacheMgr(const std::string &instance)
Definition: mountpoint.cc:708
bool cache_symlinks_
Definition: mountpoint.h:669
static void LogSqliteError(void *user_data __attribute__((unused)), int sqlite_extended_error, const char *message)
Definition: mountpoint.cc:527
void EnableFuseExpireEntry()
Definition: mountpoint.cc:1236
static const unsigned kNfsMaps
Definition: mountpoint.h:182
std::string workspace_
Definition: mountpoint.h:382
perf::Counter * n_fs_read()
Definition: mountpoint.h:227
PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance)
Definition: mountpoint.cc:300
bool has_membership_req_
Definition: mountpoint.h:676
lru::Md5PathCache * md5path_cache()
Definition: mountpoint.h:531
perf::Counter * n_eio_01_
Definition: mountpoint.h:352
void ReEvaluateAuthz()
Definition: mountpoint.cc:1909
uint64_t expiry_deadline_
Definition: mountpoint.h:470
std::set< std::string > constructed_instances_
Definition: mountpoint.h:417
bool has_membership_req()
Definition: mountpoint.h:523
bool DetermineRootHash(shash::Any *root_hash)
Definition: mountpoint.cc:1695
perf::Counter * counter_
Definition: mountpoint.h:171
bool CreateCatalogManager()
Definition: mountpoint.cc:1310
struct cvmcache_object_info __attribute__
Definition: atomic.h:24
void RemapCatalogFd(int from, int to)
Definition: mountpoint.cc:1121
static const unsigned kNfsNone
Definition: mountpoint.h:178
std::string path_crash_guard_
Definition: mountpoint.h:395
cvmfs::Uuid * uuid()
Definition: mountpoint.h:545
bool SetupWorkspace()
Definition: mountpoint.cc:1045
perf::Counter * n_eio_08()
Definition: mountpoint.h:246
static const char * kDefaultAuthzSearchPath
Definition: mountpoint.h:577
perf::Counter * n_fs_open()
Definition: mountpoint.h:226
Type type()
Definition: mountpoint.h:250
FileSystem(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:396
std::string mountpoint_
Definition: mountpoint.h:407
std::string membership_req()
Definition: mountpoint.h:532
static const unsigned kDefaultMaxTtlSec
Definition: mountpoint.h:557
static const unsigned kLibPathCacheSize
Definition: mountpoint.h:565
std::string boot_error_
Definition: mountpoint.h:88
OptionsManager * options_mgr_
Definition: mountpoint.h:635
Log2Histogram * hist_fs_getattr_
Definition: mountpoint.h:367
Log2Histogram * hist_fs_releasedir_
Definition: mountpoint.h:370
Definition: tracer.h:35
const uint64_t cache_timeout()
Definition: mountpoint.h:463
void ReplaceCacheManager(CacheManager *new_cache_mgr)
Definition: mountpoint.cc:1125
void DisableCacheSymlinks()
Definition: mountpoint.cc:1230
glue::PageCacheTracker * page_cache_tracker()
Definition: mountpoint.h:534
perf::Counter * n_fs_readlink_
Definition: mountpoint.h:346
perf::Counter * n_eio_07()
Definition: mountpoint.h:245
void SetMaxTtlMn(unsigned value_minutes)
Definition: mountpoint.cc:1919
static const unsigned kDefaultBackoffInitMs
Definition: mountpoint.h:587
perf::Counter * n_fs_forget_
Definition: mountpoint.h:347
MountPoint(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr)
Definition: mountpoint.cc:1820
pthread_mutex_t * lock_
Definition: mountpoint.h:468
Tracer * tracer_
Definition: mountpoint.h:655
std::string repository_tag()
Definition: mountpoint.h:536
catalog::ClientCatalogManager * catalog_mgr()
Definition: mountpoint.h:507
static bool g_alive
Definition: mountpoint.h:258
static const unsigned kDefaultNumConnections
Definition: mountpoint.h:581
void TearDown2ReadOnly()
Definition: mountpoint.cc:1108
Log2Histogram * hist_fs_forget_multi()
Definition: mountpoint.h:211
static const unsigned kNfsMapsHa
Definition: mountpoint.h:186
lru::Md5PathCache * md5path_cache_
Definition: mountpoint.h:654
std::string name_
Definition: mountpoint.h:327
Log2Histogram * hist_fs_release()
Definition: mountpoint.h:219
std::string membership_req_
Definition: mountpoint.h:675
glue::DentryTracker * dentry_tracker_
Definition: mountpoint.h:657
perf::Counter * n_emfile()
Definition: mountpoint.h:247
perf::Counter * n_fs_read_
Definition: mountpoint.h:345
perf::Counter * no_open_dirs()
Definition: mountpoint.h:236
perf::Counter * n_eio_06_
Definition: mountpoint.h:357
catalog::InodeAnnotation * inode_annotation()
Definition: mountpoint.h:527
static const char * kDefaultCacheMgrInstance
Definition: mountpoint.h:262
glue::PageCacheTracker * page_cache_tracker_
Definition: mountpoint.h:658
Log2Histogram * hist_fs_releasedir()
Definition: mountpoint.h:215
bool found_previous_crash_
Definition: mountpoint.h:401
loader::Failures boot_status_
Definition: mountpoint.h:87
bool TriageCacheMgr()
Definition: mountpoint.cc:1131
StatfsCache(uint64_t cacheValid)
Definition: mountpoint.h:450
std::string boot_error()
Definition: mountpoint.h:78
lru::PathCache * path_cache()
Definition: mountpoint.h:535
struct statvfs * info()
Definition: mountpoint.h:464
bool CheckPosixCacheSettings(const PosixCacheSettings &settings)
Definition: mountpoint.cc:125
perf::TelemetryAggregator * telemetry_aggr_
Definition: mountpoint.h:638
perf::Counter * n_fs_inode_replace_
Definition: mountpoint.h:348
bool IsNfsSource()
Definition: mountpoint.h:195
ChunkTables * chunk_tables_
Definition: mountpoint.h:650
CacheManager * cache_mgr()
Definition: mountpoint.h:205
file_watcher::FileWatcher * resolv_conf_watcher()
Definition: mountpoint.h:513
void SetupDnsTuning(download::DownloadManager *manager)
Definition: mountpoint.cc:2058
cvmfs::Uuid * uuid_cache_
Definition: mountpoint.h:428
unsigned GetEffectiveTtlSec()
Definition: mountpoint.cc:1793
perf::TelemetryAggregator * telemetry_aggr()
Definition: mountpoint.h:539
perf::Counter * no_open_files()
Definition: mountpoint.h:237
AuthzSessionManager * authz_session_mgr()
Definition: mountpoint.h:505
static const unsigned kDefaultBackoffMaxMs
Definition: mountpoint.h:588
struct statvfs info_
Definition: mountpoint.h:473
lru::InodeCache * inode_cache_
Definition: mountpoint.h:652
CacheManager * SetupPosixCacheMgr(const std::string &instance)
Definition: mountpoint.cc:678
IoErrorInfo * io_error_info()
Definition: mountpoint.h:233
download::DownloadManager * download_mgr()
Definition: mountpoint.h:509
perf::Counter * n_fs_stat_stale()
Definition: mountpoint.h:230
perf::Counter * n_fs_open_
Definition: mountpoint.h:337
bool found_previous_crash()
Definition: mountpoint.h:208
bool SetupPosixQuotaMgr(const PosixCacheSettings &settings, CacheManager *cache_mgr)
Definition: mountpoint.cc:970
perf::Counter * n_fs_forget()
Definition: mountpoint.h:222
Log2Histogram * hist_fs_readlink()
Definition: mountpoint.h:213
unsigned nfs_mode_
Definition: mountpoint.h:422
Type type_
Definition: mountpoint.h:329
static const unsigned kInodeCacheFactor
Definition: mountpoint.h:569
Failures
Definition: loader.h:27
perf::Counter * n_eio_04_
Definition: mountpoint.h:355
Log2Histogram * hist_fs_readdir_
Definition: mountpoint.h:371
cvmfs::Uuid * uuid_
Definition: mountpoint.h:627
ChunkTables * chunk_tables()
Definition: mountpoint.h:508
glue::DentryTracker * dentry_tracker()
Definition: mountpoint.h:533
perf::Counter * n_fs_dir_open()
Definition: mountpoint.h:221
Log2Histogram * hist_fs_readdir()
Definition: mountpoint.h:216
BackoffThrottle * backoff_throttle_
Definition: mountpoint.h:642
AuthzAttachment * authz_attachment_
Definition: mountpoint.h:641
cvmfs::Fetcher * external_fetcher()
Definition: mountpoint.h:520
bool IsValid()
Definition: mountpoint.h:76
SimpleChunkTables * simple_chunk_tables_
Definition: mountpoint.h:651
bool enforce_acls()
Definition: mountpoint.h:524
perf::Counter * n_eio_03_
Definition: mountpoint.h:354
static const unsigned kDefaultNfiles
Definition: mountpoint.h:261
static FileSystem * Create(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:164
bool has_custom_sqlitevfs_
Definition: mountpoint.h:439
perf::Counter * n_fs_statfs_
Definition: mountpoint.h:343
bool ReloadBlacklists()
Definition: mountpoint.cc:1206
std::string name()
Definition: mountpoint.h:234
void CreateStatistics()
Definition: mountpoint.cc:206
signature::SignatureManager * signature_mgr()
Definition: mountpoint.h:540
pthread_mutex_t lock_max_ttl_
Definition: mountpoint.h:665
Log2Histogram * hist_fs_open()
Definition: mountpoint.h:217
void CreateAuthz()
Definition: mountpoint.cc:1289
pthread_mutex_t * lock()
Definition: mountpoint.h:465
static const char * kDefaultCacheBase
Definition: mountpoint.h:259
Log2Histogram * hist_fs_lookup()
Definition: mountpoint.h:209
static const unsigned kTracerBufferSize
Definition: mountpoint.h:592
void SetupUuid()
Definition: mountpoint.cc:1093
perf::Counter * n_eio_02_
Definition: mountpoint.h:353
catalog::ClientCatalogManager * catalog_mgr_
Definition: mountpoint.h:649
bool CreateSignatureManager()
Definition: mountpoint.cc:1546
std::string fqrn_
Definition: mountpoint.h:626
unsigned GetMaxTtlMn()
Definition: mountpoint.cc:1805
perf::Counter * n_fs_lookup()
Definition: mountpoint.h:224
bool SetupBehavior()
Definition: mountpoint.cc:1924
AuthzFetcher * authz_fetcher_
Definition: mountpoint.h:639
bool FetchHistory(std::string *history_path)
Definition: mountpoint.cc:1761
perf::Statistics * statistics()
Definition: mountpoint.h:249
bool enforce_acls_
Definition: mountpoint.h:668
bool IsHaNfsSource()
Definition: mountpoint.h:196
void CreateTables()
Definition: mountpoint.cc:1620
bool SetupCrashGuard()
Definition: mountpoint.cc:795
static const unsigned kDefaultQuotaLimit
Definition: mountpoint.h:260
void ResetErrorCounters()
Definition: mountpoint.cc:589
Log2Histogram * hist_fs_lookup_
Definition: mountpoint.h:364
perf::Counter * n_eio_02()
Definition: mountpoint.h:240
static const unsigned kDefaultMemcacheSize
Definition: mountpoint.h:573
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:671
bool SetupOwnerMaps()
Definition: mountpoint.cc:2229
SimpleChunkTables * simple_chunk_tables()
Definition: mountpoint.h:537
bool CreateResolvConfWatcher()
Definition: mountpoint.cc:1509
perf::Counter * n_fs_lookup_negative()
Definition: mountpoint.h:225
Log2Histogram * hist_fs_read_
Definition: mountpoint.h:373
StatfsCache * statfs_cache()
Definition: mountpoint.h:546
bool SetupNfsMaps()
Definition: mountpoint.cc:877
bool CheckBlacklists()
Definition: mountpoint.cc:1168
std::vector< std::string > blacklist_paths_
Definition: mountpoint.h:672
cvmfs::Fetcher * fetcher_
Definition: mountpoint.h:646
Log2Histogram * hist_fs_forget()
Definition: mountpoint.h:210
file_watcher::FileWatcher * resolv_conf_watcher_
Definition: mountpoint.h:662
bool SetupExternalDownloadMgr(bool dogeosort)
Definition: mountpoint.cc:2098
CacheManager * SetupExternalCacheMgr(const std::string &instance)
Definition: mountpoint.cc:641
perf::Counter * n_fs_lookup_negative_
Definition: mountpoint.h:340
Log2Histogram * hist_fs_open_
Definition: mountpoint.h:372
std::string cache_mgr_instance_
Definition: mountpoint.h:412
std::string path_workspace_lock_
Definition: mountpoint.h:390
Log2Histogram * hist_fs_release_
Definition: mountpoint.h:374
static const int kDefaultTelemetrySendRateSec
Definition: mountpoint.h:598
OptionsManager * options_mgr_
Definition: mountpoint.h:333
perf::Counter * no_open_dirs_
Definition: mountpoint.h:350
glue::InodeTracker * inode_tracker_
Definition: mountpoint.h:656
bool fixed_catalog_
Definition: mountpoint.h:667
BackoffThrottle * backoff_throttle()
Definition: mountpoint.h:506
Log2Histogram * hist_fs_getattr()
Definition: mountpoint.h:212
gid_t talk_socket_gid()
Definition: mountpoint.h:542
static const int kMinimumTelemetrySendRateSec
Definition: mountpoint.h:599
glue::InodeTracker * inode_tracker()
Definition: mountpoint.h:528
perf::Counter * n_fs_stat()
Definition: mountpoint.h:229
CacheManager * SetupTieredCacheMgr(const std::string &instance)
Definition: mountpoint.cc:757
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:462
lru::PathCache * path_cache_
Definition: mountpoint.h:653
CacheManager * cache_mgr_
Definition: mountpoint.h:423
cvmfs::Uuid * uuid_cache()
Definition: mountpoint.h:251
Tracer * tracer()
Definition: mountpoint.h:544
cvmfs::Fetcher * external_fetcher_
Definition: mountpoint.h:647
perf::Counter * n_fs_statfs_cached()
Definition: mountpoint.h:232
perf::Counter * n_fs_dir_open_
Definition: mountpoint.h:338
std::string MkCacheParm(const std::string &generic_parameter, const std::string &instance)
Definition: mountpoint.cc:560
NfsMaps * nfs_maps_
Definition: mountpoint.h:434
download::DownloadManager * external_download_mgr()
Definition: mountpoint.h:510
void CreateFetchers()
Definition: mountpoint.cc:1532
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:1243
Log2Histogram * hist_fs_forget_
Definition: mountpoint.h:365
perf::Counter * n_eio_06()
Definition: mountpoint.h:244
OptionsManager * options_mgr
Definition: mountpoint.h:139