XRootD
XrdThrottleFileSystemConfig.cc File Reference
+ Include dependency graph for XrdThrottleFileSystemConfig.cc:

Go to the source code of this file.

Namespaces

 XrdThrottle
 

Macros

#define OFS_NAME   "libXrdOfs.so"
 
#define TS_Xeq(key, func)   NoGo = (strcmp(key, var) == 0) ? func(Config) : 0
 

Functions

static XrdSfsFileSystemLoadFS (const std::string &fslib, XrdSysError &eDest, const std::string &config_file)
 
XrdSfsFileSystemXrdSfsGetFileSystem (XrdSfsFileSystem *native_fs, XrdSysLogger *lp, const char *configfn)
 
XrdSfsFileSystemXrdSfsGetFileSystem2 (XrdSfsFileSystem *native_fs, XrdSysLogger *lp, const char *configfn, XrdOucEnv *envP)
 
XrdSfsFileSystemXrdThrottle::XrdSfsGetFileSystem_Internal (XrdSfsFileSystem *native_fs, XrdSysLogger *lp, const char *configfn, XrdOucEnv *envP)
 
 XrdVERSIONINFO (XrdSfsGetFileSystem, FileSystem)
 
 XrdVERSIONINFO (XrdSfsGetFileSystem2, FileSystem)
 

Macro Definition Documentation

◆ OFS_NAME

#define OFS_NAME   "libXrdOfs.so"

Definition at line 16 of file XrdThrottleFileSystemConfig.cc.

◆ TS_Xeq

#define TS_Xeq (   key,
  func 
)    NoGo = (strcmp(key, var) == 0) ? func(Config) : 0

Definition at line 138 of file XrdThrottleFileSystemConfig.cc.

Function Documentation

◆ LoadFS()

static XrdSfsFileSystem* LoadFS ( const std::string &  fslib,
XrdSysError eDest,
const std::string &  config_file 
)
static

Definition at line 23 of file XrdThrottleFileSystemConfig.cc.

23  {
24  // Load the library
25  XrdSysPlugin ofsLib(&eDest, fslib.c_str(), "fslib", NULL);
26  XrdSfsFileSystem *fs;
27  if (fslib == OFS_NAME)
28  {
30  XrdSysLogger *lp,
31  const char *configfn,
32  XrdOucEnv *EnvInfo);
33 
34  if (!(fs = XrdSfsGetDefaultFileSystem(0, eDest.logger(), config_file.c_str(), 0)))
35  {
36  eDest.Emsg("Config", "Unable to load OFS filesystem.");
37  }
38  }
39  else
40  {
41  XrdSfsFileSystem *(*ep)(XrdSfsFileSystem *, XrdSysLogger *, const char *);
42  if (!(ep = (XrdSfsFileSystem *(*)(XrdSfsFileSystem *,XrdSysLogger *,const char *))
43  ofsLib.getPlugin("XrdSfsGetFileSystem")))
44  return NULL;
45  if (!(fs = (*ep)(0, eDest.logger(), config_file.c_str())))
46  {
47  eDest.Emsg("Config", "Unable to create file system object via", fslib.c_str());
48  return NULL;
49  }
50  }
51  ofsLib.Persist();
52 
53  return fs;
54 }
static XrdSysError eDest(0,"crypto_")
XrdSfsFileSystem * XrdSfsGetDefaultFileSystem(XrdSfsFileSystem *native_fs, XrdSysLogger *lp, const char *configfn, XrdOucEnv *EnvInfo)
Definition: XrdOfsFS.cc:49
#define OFS_NAME
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)
Definition: XrdSysError.cc:95
XrdSysLogger * logger(XrdSysLogger *lp=0)
Definition: XrdSysError.hh:141

References eDest, XrdSysError::Emsg(), XrdSysPlugin::getPlugin(), XrdSysError::logger(), OFS_NAME, XrdSysPlugin::Persist(), and XrdSfsGetDefaultFileSystem().

+ Here is the call graph for this function:

◆ XrdSfsGetFileSystem()

XrdSfsFileSystem* XrdSfsGetFileSystem ( XrdSfsFileSystem native_fs,
XrdSysLogger lp,
const char *  configfn 
)

Definition at line 79 of file XrdThrottleFileSystemConfig.cc.

82 {
83  return XrdSfsGetFileSystem_Internal(native_fs, lp, configfn, nullptr);
84 }
XrdSfsFileSystem * XrdSfsGetFileSystem_Internal(XrdSfsFileSystem *native_fs, XrdSysLogger *lp, const char *configfn, XrdOucEnv *envP)

References XrdThrottle::XrdSfsGetFileSystem_Internal().

+ Here is the call graph for this function:

◆ XrdSfsGetFileSystem2()

XrdSfsFileSystem* XrdSfsGetFileSystem2 ( XrdSfsFileSystem native_fs,
XrdSysLogger lp,
const char *  configfn,
XrdOucEnv envP 
)

Definition at line 87 of file XrdThrottleFileSystemConfig.cc.

91 {
92  return XrdSfsGetFileSystem_Internal(native_fs, lp, configfn, envP);
93 }
XrdOucEnv * envP
Definition: XrdPss.cc:109

References XrdProxy::envP, and XrdThrottle::XrdSfsGetFileSystem_Internal().

+ Here is the call graph for this function:

◆ XrdVERSIONINFO() [1/2]

XrdVERSIONINFO ( XrdSfsGetFileSystem  ,
FileSystem   
)

◆ XrdVERSIONINFO() [2/2]

XrdVERSIONINFO ( XrdSfsGetFileSystem2  ,
FileSystem   
)