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 }
61 namespace signature {
62 class SignatureManager;
63 }
64 class SimpleChunkTables;
65 class Tracer;
66 
67 
72 class BootFactory {
73  public:
75  bool IsValid() { return boot_status_ == loader::kFailOk; }
77  std::string boot_error() { return boot_error_; }
78 
84 
85  protected:
87  std::string boot_error_;
88 };
89 
90 
98  FRIEND_TEST(T_MountPoint, MkCacheParm);
99  FRIEND_TEST(T_MountPoint, CacheSettings);
100  FRIEND_TEST(T_MountPoint, CheckInstanceName);
101  FRIEND_TEST(T_MountPoint, CheckPosixCacheSettings);
102 
103  public:
104  enum Type {
105  kFsFuse = 0,
107  };
108 
109  struct FileSystemInfo {
111  : type(kFsFuse)
112  , options_mgr(NULL)
113  , wait_workspace(false)
114  , foreground(false) { }
122  std::string name;
123 
128  std::string exe_path;
129 
134 
139 
152  };
153 
159  class IoErrorInfo {
160  public:
161  IoErrorInfo();
162 
163  void Reset();
164  void AddIoError();
165  void SetCounter(perf::Counter *c);
166  int64_t count();
167  time_t timestamp_last();
168 
169  private:
172  };
173 
177  static const unsigned kNfsNone = 0x00;
181  static const unsigned kNfsMaps = 0x01;
185  static const unsigned kNfsMapsHa = 0x02;
186 
187  static FileSystem *Create(const FileSystemInfo &fs_info);
188  ~FileSystem();
189 
190  bool IsNfsSource() { return nfs_mode_ & kNfsMaps; }
191  bool IsHaNfsSource() { return nfs_mode_ & kNfsMapsHa; }
192  void ResetErrorCounters();
193  void TearDown2ReadOnly();
194  void RemapCatalogFd(int from, int to);
195 
197  std::string cache_mgr_instance() { return cache_mgr_instance_; }
198  std::string exe_path() { return exe_path_; }
211 
225  std::string name() { return name_; }
226  NfsMaps *nfs_maps() { return nfs_maps_; }
240  Type type() { return type_; }
242  std::string workspace() { return workspace_; }
243 
244  private:
248  static bool g_alive;
249  static const char *kDefaultCacheBase; // /var/lib/cvmfs
250  static const unsigned kDefaultQuotaLimit = 1024 * 1024 * 1024; // 1GB
251  static const unsigned kDefaultNfiles = 8192; // if CVMFS_NFILES is unset
252  static const char *kDefaultCacheMgrInstance; // "default"
253 
256  is_shared(false), is_alien(false), is_managed(false),
257  avoid_rename(false), cache_base_defined(false), cache_dir_defined(false),
258  quota_limit(0)
259  { }
260  bool is_shared;
261  bool is_alien;
270  int64_t quota_limit;
271  std::string cache_path;
276  std::string workspace;
277  };
278 
279  static void LogSqliteError(void *user_data __attribute__((unused)),
280  int sqlite_extended_error,
281  const char *message);
282 
283  explicit FileSystem(const FileSystemInfo &fs_info);
284 
286  void SetupLogging();
287  void CreateStatistics();
288  void SetupSqlite();
289  bool DetermineNfsMode();
290  bool SetupWorkspace();
291  bool SetupCwd();
292  bool LockWorkspace();
293  bool SetupCrashGuard();
294  bool SetupNfsMaps();
295  void SetupUuid();
296 
297  std::string MkCacheParm(const std::string &generic_parameter,
298  const std::string &instance);
299  bool CheckInstanceName(const std::string &instance);
300  bool TriageCacheMgr();
301  CacheManager *SetupCacheMgr(const std::string &instance);
302  CacheManager *SetupPosixCacheMgr(const std::string &instance);
303  CacheManager *SetupRamCacheMgr(const std::string &instance);
304  CacheManager *SetupTieredCacheMgr(const std::string &instance);
305  CacheManager *SetupExternalCacheMgr(const std::string &instance);
306  PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance);
310 
311  // See FileSystemInfo for the following fields
312  std::string name_;
313  std::string exe_path_;
321 
347 
359 
366  std::string workspace_;
372  std::string workspace_fullpath_;
374  std::string path_workspace_lock_;
375 
379  std::string path_crash_guard_;
380 
386 
391  std::string mountpoint_;
396  std::string cache_mgr_instance_;
401  std::set<std::string> constructed_instances_;
402  std::string nfs_maps_dir_;
406  unsigned nfs_mode_;
413 
424 };
425 
433  public:
434  explicit StatfsCache(uint64_t cacheValid) : expiry_deadline_(0),
435  cache_timeout_(cacheValid) {
436  memset(&info_, 0, sizeof(info_));
437  lock_ =
438  reinterpret_cast<pthread_mutex_t *>(smalloc(sizeof(pthread_mutex_t)));
439  int retval = pthread_mutex_init(lock_, NULL);
440  assert(retval == 0);
441  }
443  pthread_mutex_destroy(lock_);
444  free(lock_);
445  }
446  uint64_t *expiry_deadline() { return &expiry_deadline_; }
447  const uint64_t cache_timeout() { return cache_timeout_; }
448  struct statvfs *info() { return &info_; }
449  pthread_mutex_t *lock() { return lock_; }
450 
451  private:
452  pthread_mutex_t *lock_;
453  // Timestamp/deadline when the currently cached statvfs info_ becomes invalid
455  // Time in seconds how long statvfs info_ should be cached
456  uint64_t cache_timeout_;
457  struct statvfs info_;
458 };
459 
472  public:
476  static const unsigned kShortTermTTL = 180;
477  static const time_t kIndefiniteDeadline = time_t(-1);
478 
479  static MountPoint *Create(const std::string &fqrn,
481  OptionsManager *options_mgr = NULL);
482  ~MountPoint();
483 
484  unsigned GetMaxTtlMn();
485  unsigned GetEffectiveTtlSec();
486  void SetMaxTtlMn(unsigned value_minutes);
487  void ReEvaluateAuthz();
488 
495  return external_download_mgr_;
496  }
498  return resolv_conf_watcher_;
499  }
501  bool fixed_catalog() { return fixed_catalog_; }
502  std::string fqrn() const { return fqrn_; }
507  bool enforce_acls() { return enforce_acls_; }
508  bool cache_symlinks() { return cache_symlinks_; }
511  return inode_annotation_;
512  }
517  std::string membership_req() { return membership_req_; }
521  std::string repository_tag() { return repository_tag_; }
525  uid_t talk_socket_uid() { return talk_socket_uid_; }
526  gid_t talk_socket_gid() { return talk_socket_gid_; }
527  std::string talk_socket_path() { return talk_socket_path_; }
528  Tracer *tracer() { return tracer_; }
529  cvmfs::Uuid *uuid() { return uuid_; }
531 
532  bool ReloadBlacklists();
533  void DisableCacheSymlinks();
534  void EnableFuseExpireEntry();
535 
536  private:
541  static const unsigned kDefaultMaxTtlSec = 0;
545  static const unsigned kDefaultKCacheTtlSec = 60;
549  static const unsigned kLibPathCacheSize = 32000;
553  static const unsigned kInodeCacheFactor = 7;
557  static const unsigned kDefaultMemcacheSize = 16 * 1024 * 1024;
561  static const char *kDefaultAuthzSearchPath; // "/usr/libexec/cvmfs/authz"
565  static const unsigned kDefaultNumConnections = 16;
569  static const unsigned kDefaultTimeoutSec = 5;
570  static const unsigned kDefaultRetries = 1;
571  static const unsigned kDefaultBackoffInitMs = 2000;
572  static const unsigned kDefaultBackoffMaxMs = 10000;
576  static const unsigned kTracerBufferSize = 8192;
577  static const unsigned kTracerFlushThreshold = 7000;
578  static const char *kDefaultBlacklist; // "/etc/cvmfs/blacklist"
579 
580  MountPoint(const std::string &fqrn,
582  OptionsManager *options_mgr);
583 
584  void CreateStatistics();
585  void CreateAuthz();
586  bool CreateSignatureManager();
587  bool CheckBlacklists();
588  bool CreateDownloadManagers();
590  void CreateFetchers();
591  bool CreateCatalogManager();
592  void CreateTables();
593  bool CreateTracer();
594  bool SetupBehavior();
596  void SetupHttpTuning();
597  bool SetupExternalDownloadMgr(bool dogeosort);
598  void SetupInodeAnnotation();
599  bool SetupOwnerMaps();
600  bool DetermineRootHash(shash::Any *root_hash);
601  bool FetchHistory(std::string *history_path);
602  std::string ReplaceHosts(std::string hosts);
603  std::string GetUniqFileSuffix();
604 
605  std::string fqrn_;
615 
639 
641 
642  unsigned max_ttl_sec_;
643  pthread_mutex_t lock_max_ttl_;
649  std::string repository_tag_;
650  std::vector<std::string> blacklist_paths_;
651 
652  // TODO(jblomer): this should go in the catalog manager
653  std::string membership_req_;
655 
656  std::string talk_socket_path_;
659 }; // class MointPoint
660 
661 #endif // CVMFS_MOUNTPOINT_H_
perf::Counter * n_eio_total()
Definition: mountpoint.h:229
perf::Counter * n_eio_07_
Definition: mountpoint.h:343
bool cache_symlinks()
Definition: mountpoint.h:508
IoErrorInfo io_error_info_
Definition: mountpoint.h:345
OptionsManager * options_mgr()
Definition: mountpoint.h:238
std::string exe_path()
Definition: mountpoint.h:198
bool fixed_catalog()
Definition: mountpoint.h:501
FileSystem * file_system_
Definition: mountpoint.h:610
NfsMaps * nfs_maps()
Definition: mountpoint.h:226
void SetCounter(perf::Counter *c)
Definition: mountpoint.cc:95
perf::Counter * n_eio_05()
Definition: mountpoint.h:234
std::string nfs_maps_dir_
Definition: mountpoint.h:402
bool foreground_
Definition: mountpoint.h:320
static const time_t kIndefiniteDeadline
Definition: mountpoint.h:477
perf::Counter * n_fs_inode_replace()
Definition: mountpoint.h:214
perf::Counter * n_eio_08_
Definition: mountpoint.h:344
perf::Counter * n_eio_01()
Definition: mountpoint.h:230
FileSystem * file_system()
Definition: mountpoint.h:504
Log2Histogram * hist_fs_forget_multi_
Definition: mountpoint.h:350
Log2Histogram * hist_fs_opendir()
Definition: mountpoint.h:205
perf::Counter * n_fs_statfs_cached_
Definition: mountpoint.h:329
void SetupInodeAnnotation()
Definition: mountpoint.cc:2104
bool SetupCwd()
Definition: mountpoint.cc:825
catalog::InodeAnnotation * inode_annotation_
Definition: mountpoint.h:626
static const unsigned kDefaultKCacheTtlSec
Definition: mountpoint.h:545
loader::Failures boot_status()
Definition: mountpoint.h:76
std::string workspace_fullpath_
Definition: mountpoint.h:372
void set_boot_status(loader::Failures code)
Definition: mountpoint.h:83
bool DetermineNfsMode()
Definition: mountpoint.cc:369
cvmfs::Fetcher * fetcher()
Definition: mountpoint.h:500
static const unsigned kTracerFlushThreshold
Definition: mountpoint.h:577
perf::Statistics * statistics()
Definition: mountpoint.h:523
uid_t talk_socket_uid_
Definition: mountpoint.h:657
uid_t talk_socket_uid()
Definition: mountpoint.h:525
std::string talk_socket_path()
Definition: mountpoint.h:527
perf::Counter * n_fs_stat_stale_
Definition: mountpoint.h:327
Log2Histogram * hist_fs_opendir_
Definition: mountpoint.h:353
bool LockWorkspace()
Definition: mountpoint.cc:492
bool CreateTracer()
Definition: mountpoint.cc:1579
bool wait_workspace_
Definition: mountpoint.h:319
double kcache_timeout_sec_
Definition: mountpoint.h:644
signature::SignatureManager * signature_mgr_
Definition: mountpoint.h:621
perf::Counter * n_fs_lookup_
Definition: mountpoint.h:324
AuthzSessionManager * authz_session_mgr_
Definition: mountpoint.h:618
static const unsigned kDefaultRetries
Definition: mountpoint.h:570
bool fuse_expire_entry()
Definition: mountpoint.h:509
double kcache_timeout_sec()
Definition: mountpoint.h:515
perf::Statistics * statistics_
Definition: mountpoint.h:346
download::DownloadManager * download_mgr_
Definition: mountpoint.h:622
static const unsigned kDefaultTimeoutSec
Definition: mountpoint.h:569
std::string exe_path_
Definition: mountpoint.h:313
bool CheckInstanceName(const std::string &instance)
Definition: mountpoint.cc:107
perf::Statistics * statistics_
Definition: mountpoint.h:616
Log2Histogram * hist_fs_readlink_
Definition: mountpoint.h:352
perf::Counter * n_fs_readlink()
Definition: mountpoint.h:219
std::string fqrn() const
Definition: mountpoint.h:502
gid_t talk_socket_gid_
Definition: mountpoint.h:658
void SetupSqlite()
Definition: mountpoint.cc:1033
perf::Counter * n_eio_total_
Definition: mountpoint.h:336
std::string GetUniqFileSuffix()
Definition: mountpoint.cc:1735
StatfsCache * statfs_cache_
Definition: mountpoint.h:638
download::DownloadManager * external_download_mgr_
Definition: mountpoint.h:623
MagicXattrManager * magic_xattr_mgr_
Definition: mountpoint.h:637
bool fuse_expire_entry_
Definition: mountpoint.h:648
lru::InodeCache * inode_cache()
Definition: mountpoint.h:514
CacheManager * SetupCacheMgr(const std::string &instance)
Definition: mountpoint.cc:610
const SettingsPublisher & settings() const
Definition: repository.h:317
void SetupHttpTuning()
Definition: mountpoint.cc:2060
static const char * kDefaultBlacklist
Definition: mountpoint.h:578
uint64_t cache_timeout_
Definition: mountpoint.h:456
unsigned max_ttl_sec_
Definition: mountpoint.h:642
bool CreateDownloadManagers()
Definition: mountpoint.cc:1356
std::string ReplaceHosts(std::string hosts)
std::string talk_socket_path_
Definition: mountpoint.h:656
perf::Counter * n_fs_stat_
Definition: mountpoint.h:326
perf::Counter * n_eio_05_
Definition: mountpoint.h:341
perf::Counter * no_open_files_
Definition: mountpoint.h:334
assert((mem||(size==0))&&"Out Of Memory")
static const unsigned kShortTermTTL
Definition: mountpoint.h:476
MagicXattrManager * magic_xattr_mgr()
Definition: mountpoint.h:505
void SetupLogging()
Definition: mountpoint.cc:860
void SetupGlobalEnvironmentParams()
Definition: mountpoint.cc:855
int fd_workspace_lock_
Definition: mountpoint.h:373
Log2Histogram * hist_fs_read()
Definition: mountpoint.h:209
void CreateStatistics()
Definition: mountpoint.cc:1498
CacheManager * SetupRamCacheMgr(const std::string &instance)
Definition: mountpoint.cc:713
bool cache_symlinks_
Definition: mountpoint.h:647
static void LogSqliteError(void *user_data __attribute__((unused)), int sqlite_extended_error, const char *message)
Definition: mountpoint.cc:523
void EnableFuseExpireEntry()
Definition: mountpoint.cc:1224
static const unsigned kNfsMaps
Definition: mountpoint.h:181
std::string workspace_
Definition: mountpoint.h:366
perf::Counter * n_fs_read()
Definition: mountpoint.h:218
PosixCacheSettings DeterminePosixCacheSettings(const std::string &instance)
Definition: mountpoint.cc:292
bool has_membership_req_
Definition: mountpoint.h:654
lru::Md5PathCache * md5path_cache()
Definition: mountpoint.h:516
perf::Counter * n_eio_01_
Definition: mountpoint.h:337
void ReEvaluateAuthz()
Definition: mountpoint.cc:1833
uint64_t expiry_deadline_
Definition: mountpoint.h:454
std::set< std::string > constructed_instances_
Definition: mountpoint.h:401
bool has_membership_req()
Definition: mountpoint.h:506
bool DetermineRootHash(shash::Any *root_hash)
Definition: mountpoint.cc:1611
perf::Counter * counter_
Definition: mountpoint.h:170
bool CreateCatalogManager()
Definition: mountpoint.cc:1299
struct cvmcache_object_info __attribute__
Definition: atomic.h:24
void RemapCatalogFd(int from, int to)
Definition: mountpoint.cc:1127
static const unsigned kNfsNone
Definition: mountpoint.h:177
std::string path_crash_guard_
Definition: mountpoint.h:379
cvmfs::Uuid * uuid()
Definition: mountpoint.h:529
bool SetupWorkspace()
Definition: mountpoint.cc:1050
perf::Counter * n_eio_08()
Definition: mountpoint.h:237
static const char * kDefaultAuthzSearchPath
Definition: mountpoint.h:561
perf::Counter * n_fs_open()
Definition: mountpoint.h:217
Type type()
Definition: mountpoint.h:240
FileSystem(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:391
std::string mountpoint_
Definition: mountpoint.h:391
std::string membership_req()
Definition: mountpoint.h:517
static const unsigned kDefaultMaxTtlSec
Definition: mountpoint.h:541
static const unsigned kLibPathCacheSize
Definition: mountpoint.h:549
std::string boot_error_
Definition: mountpoint.h:87
OptionsManager * options_mgr_
Definition: mountpoint.h:614
Log2Histogram * hist_fs_getattr_
Definition: mountpoint.h:351
Log2Histogram * hist_fs_releasedir_
Definition: mountpoint.h:354
Definition: tracer.h:35
const uint64_t cache_timeout()
Definition: mountpoint.h:447
void DisableCacheSymlinks()
Definition: mountpoint.cc:1216
glue::PageCacheTracker * page_cache_tracker()
Definition: mountpoint.h:519
perf::Counter * n_fs_readlink_
Definition: mountpoint.h:331
perf::Counter * n_eio_07()
Definition: mountpoint.h:236
void SetMaxTtlMn(unsigned value_minutes)
Definition: mountpoint.cc:1843
static const unsigned kDefaultBackoffInitMs
Definition: mountpoint.h:571
perf::Counter * n_fs_forget_
Definition: mountpoint.h:332
MountPoint(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr)
Definition: mountpoint.cc:1740
pthread_mutex_t * lock_
Definition: mountpoint.h:452
Tracer * tracer_
Definition: mountpoint.h:633
std::string repository_tag()
Definition: mountpoint.h:521
catalog::ClientCatalogManager * catalog_mgr()
Definition: mountpoint.h:491
static bool g_alive
Definition: mountpoint.h:248
static const unsigned kDefaultNumConnections
Definition: mountpoint.h:565
void TearDown2ReadOnly()
Definition: mountpoint.cc:1114
Log2Histogram * hist_fs_forget_multi()
Definition: mountpoint.h:202
static const unsigned kNfsMapsHa
Definition: mountpoint.h:185
lru::Md5PathCache * md5path_cache_
Definition: mountpoint.h:632
std::string name_
Definition: mountpoint.h:312
Log2Histogram * hist_fs_release()
Definition: mountpoint.h:210
std::string membership_req_
Definition: mountpoint.h:653
glue::DentryTracker * dentry_tracker_
Definition: mountpoint.h:635
perf::Counter * n_fs_read_
Definition: mountpoint.h:330
perf::Counter * no_open_dirs()
Definition: mountpoint.h:227
perf::Counter * n_eio_06_
Definition: mountpoint.h:342
catalog::InodeAnnotation * inode_annotation()
Definition: mountpoint.h:510
static const char * kDefaultCacheMgrInstance
Definition: mountpoint.h:252
glue::PageCacheTracker * page_cache_tracker_
Definition: mountpoint.h:636
Log2Histogram * hist_fs_releasedir()
Definition: mountpoint.h:206
bool found_previous_crash_
Definition: mountpoint.h:385
loader::Failures boot_status_
Definition: mountpoint.h:86
bool TriageCacheMgr()
Definition: mountpoint.cc:1132
StatfsCache(uint64_t cacheValid)
Definition: mountpoint.h:434
std::string boot_error()
Definition: mountpoint.h:77
lru::PathCache * path_cache()
Definition: mountpoint.h:520
struct statvfs * info()
Definition: mountpoint.h:448
bool CheckPosixCacheSettings(const PosixCacheSettings &settings)
Definition: mountpoint.cc:124
perf::Counter * n_fs_inode_replace_
Definition: mountpoint.h:333
bool IsNfsSource()
Definition: mountpoint.h:190
ChunkTables * chunk_tables_
Definition: mountpoint.h:628
CacheManager * cache_mgr()
Definition: mountpoint.h:196
file_watcher::FileWatcher * resolv_conf_watcher()
Definition: mountpoint.h:497
void SetupDnsTuning(download::DownloadManager *manager)
Definition: mountpoint.cc:1959
cvmfs::Uuid * uuid_cache_
Definition: mountpoint.h:412
unsigned GetEffectiveTtlSec()
Definition: mountpoint.cc:1713
perf::Counter * no_open_files()
Definition: mountpoint.h:228
AuthzSessionManager * authz_session_mgr()
Definition: mountpoint.h:489
static const unsigned kDefaultBackoffMaxMs
Definition: mountpoint.h:572
struct statvfs info_
Definition: mountpoint.h:457
lru::InodeCache * inode_cache_
Definition: mountpoint.h:630
CacheManager * SetupPosixCacheMgr(const std::string &instance)
Definition: mountpoint.cc:683
IoErrorInfo * io_error_info()
Definition: mountpoint.h:224
download::DownloadManager * download_mgr()
Definition: mountpoint.h:493
perf::Counter * n_fs_stat_stale()
Definition: mountpoint.h:221
perf::Counter * n_fs_open_
Definition: mountpoint.h:322
bool found_previous_crash()
Definition: mountpoint.h:199
bool SetupPosixQuotaMgr(const PosixCacheSettings &settings, CacheManager *cache_mgr)
Definition: mountpoint.cc:971
perf::Counter * n_fs_forget()
Definition: mountpoint.h:213
Log2Histogram * hist_fs_readlink()
Definition: mountpoint.h:204
unsigned nfs_mode_
Definition: mountpoint.h:406
Type type_
Definition: mountpoint.h:314
static const unsigned kInodeCacheFactor
Definition: mountpoint.h:553
Failures
Definition: loader.h:27
perf::Counter * n_eio_04_
Definition: mountpoint.h:340
Log2Histogram * hist_fs_readdir_
Definition: mountpoint.h:355
cvmfs::Uuid * uuid_
Definition: mountpoint.h:606
ChunkTables * chunk_tables()
Definition: mountpoint.h:492
glue::DentryTracker * dentry_tracker()
Definition: mountpoint.h:518
perf::Counter * n_fs_dir_open()
Definition: mountpoint.h:212
Log2Histogram * hist_fs_readdir()
Definition: mountpoint.h:207
BackoffThrottle * backoff_throttle_
Definition: mountpoint.h:620
AuthzAttachment * authz_attachment_
Definition: mountpoint.h:619
cvmfs::Fetcher * external_fetcher()
Definition: mountpoint.h:503
bool IsValid()
Definition: mountpoint.h:75
SimpleChunkTables * simple_chunk_tables_
Definition: mountpoint.h:629
bool enforce_acls()
Definition: mountpoint.h:507
perf::Counter * n_eio_03_
Definition: mountpoint.h:339
static const unsigned kDefaultNfiles
Definition: mountpoint.h:251
static FileSystem * Create(const FileSystemInfo &fs_info)
Definition: mountpoint.cc:164
bool has_custom_sqlitevfs_
Definition: mountpoint.h:423
perf::Counter * n_fs_statfs_
Definition: mountpoint.h:328
bool ReloadBlacklists()
Definition: mountpoint.cc:1192
std::string name()
Definition: mountpoint.h:225
void CreateStatistics()
Definition: mountpoint.cc:208
signature::SignatureManager * signature_mgr()
Definition: mountpoint.h:524
pthread_mutex_t lock_max_ttl_
Definition: mountpoint.h:643
Log2Histogram * hist_fs_open()
Definition: mountpoint.h:208
void CreateAuthz()
Definition: mountpoint.cc:1273
pthread_mutex_t * lock()
Definition: mountpoint.h:449
static const char * kDefaultCacheBase
Definition: mountpoint.h:249
Log2Histogram * hist_fs_lookup()
Definition: mountpoint.h:200
static const unsigned kTracerBufferSize
Definition: mountpoint.h:576
void SetupUuid()
Definition: mountpoint.cc:1099
perf::Counter * n_eio_02_
Definition: mountpoint.h:338
catalog::ClientCatalogManager * catalog_mgr_
Definition: mountpoint.h:627
bool CreateSignatureManager()
Definition: mountpoint.cc:1462
std::string fqrn_
Definition: mountpoint.h:605
unsigned GetMaxTtlMn()
Definition: mountpoint.cc:1725
perf::Counter * n_fs_lookup()
Definition: mountpoint.h:215
bool SetupBehavior()
Definition: mountpoint.cc:1848
AuthzFetcher * authz_fetcher_
Definition: mountpoint.h:617
bool FetchHistory(std::string *history_path)
Definition: mountpoint.cc:1679
perf::Statistics * statistics()
Definition: mountpoint.h:239
bool enforce_acls_
Definition: mountpoint.h:646
bool IsHaNfsSource()
Definition: mountpoint.h:191
void CreateTables()
Definition: mountpoint.cc:1537
bool SetupCrashGuard()
Definition: mountpoint.cc:804
static const unsigned kDefaultQuotaLimit
Definition: mountpoint.h:250
void ResetErrorCounters()
Definition: mountpoint.cc:593
Log2Histogram * hist_fs_lookup_
Definition: mountpoint.h:348
perf::Counter * n_eio_02()
Definition: mountpoint.h:231
static const unsigned kDefaultMemcacheSize
Definition: mountpoint.h:557
perf::Counter * n_eio_03()
Definition: mountpoint.h:232
perf::Counter * n_eio_04()
Definition: mountpoint.h:233
std::string repository_tag_
Definition: mountpoint.h:649
bool SetupOwnerMaps()
Definition: mountpoint.cc:2122
SimpleChunkTables * simple_chunk_tables()
Definition: mountpoint.h:522
bool CreateResolvConfWatcher()
Definition: mountpoint.cc:1422
perf::Counter * n_fs_lookup_negative()
Definition: mountpoint.h:216
Log2Histogram * hist_fs_read_
Definition: mountpoint.h:357
StatfsCache * statfs_cache()
Definition: mountpoint.h:530
bool SetupNfsMaps()
Definition: mountpoint.cc:878
bool CheckBlacklists()
Definition: mountpoint.cc:1154
std::vector< std::string > blacklist_paths_
Definition: mountpoint.h:650
cvmfs::Fetcher * fetcher_
Definition: mountpoint.h:624
Log2Histogram * hist_fs_forget()
Definition: mountpoint.h:201
file_watcher::FileWatcher * resolv_conf_watcher_
Definition: mountpoint.h:640
bool SetupExternalDownloadMgr(bool dogeosort)
Definition: mountpoint.cc:1999
CacheManager * SetupExternalCacheMgr(const std::string &instance)
Definition: mountpoint.cc:644
perf::Counter * n_fs_lookup_negative_
Definition: mountpoint.h:325
Log2Histogram * hist_fs_open_
Definition: mountpoint.h:356
std::string cache_mgr_instance_
Definition: mountpoint.h:396
std::string path_workspace_lock_
Definition: mountpoint.h:374
Log2Histogram * hist_fs_release_
Definition: mountpoint.h:358
OptionsManager * options_mgr_
Definition: mountpoint.h:318
perf::Counter * no_open_dirs_
Definition: mountpoint.h:335
glue::InodeTracker * inode_tracker_
Definition: mountpoint.h:634
bool fixed_catalog_
Definition: mountpoint.h:645
BackoffThrottle * backoff_throttle()
Definition: mountpoint.h:490
Log2Histogram * hist_fs_getattr()
Definition: mountpoint.h:203
gid_t talk_socket_gid()
Definition: mountpoint.h:526
glue::InodeTracker * inode_tracker()
Definition: mountpoint.h:513
perf::Counter * n_fs_stat()
Definition: mountpoint.h:220
CacheManager * SetupTieredCacheMgr(const std::string &instance)
Definition: mountpoint.cc:763
FRIEND_TEST(T_MountPoint, MkCacheParm)
std::string workspace()
Definition: mountpoint.h:242
std::string cache_mgr_instance()
Definition: mountpoint.h:197
uint64_t * expiry_deadline()
Definition: mountpoint.h:446
lru::PathCache * path_cache_
Definition: mountpoint.h:631
CacheManager * cache_mgr_
Definition: mountpoint.h:407
cvmfs::Uuid * uuid_cache()
Definition: mountpoint.h:241
Tracer * tracer()
Definition: mountpoint.h:528
cvmfs::Fetcher * external_fetcher_
Definition: mountpoint.h:625
perf::Counter * n_fs_statfs_cached()
Definition: mountpoint.h:223
perf::Counter * n_fs_dir_open_
Definition: mountpoint.h:323
std::string MkCacheParm(const std::string &generic_parameter, const std::string &instance)
Definition: mountpoint.cc:558
NfsMaps * nfs_maps_
Definition: mountpoint.h:418
download::DownloadManager * external_download_mgr()
Definition: mountpoint.h:494
void CreateFetchers()
Definition: mountpoint.cc:1445
perf::Counter * n_fs_statfs()
Definition: mountpoint.h:222
static MountPoint * Create(const std::string &fqrn, FileSystem *file_system, OptionsManager *options_mgr=NULL)
Definition: mountpoint.cc:1233
Log2Histogram * hist_fs_forget_
Definition: mountpoint.h:349
perf::Counter * n_eio_06()
Definition: mountpoint.h:235
OptionsManager * options_mgr
Definition: mountpoint.h:138