XRootD
XrdOssArcConfig Class Reference

#include <XrdOssArcConfig.hh>

+ Collaboration diagram for XrdOssArcConfig:

Public Member Functions

 XrdOssArcConfig ()
 
 ~XrdOssArcConfig ()
 
bool BuildPath (const char *what, const char *baseP, const char *addP, char *&destP, int mode=0)
 
bool Configure (const char *cfn, const char *parms, XrdOucEnv *envP)
 
int GenTapePath (const char *dsn, char *buff, int bSZ, bool addafn=false)
 

Public Attributes

char * admnPath
 
const char * ArchiverName
 
char * ArchiverPath
 
XrdOucProgArchiverProg
 
char * ArchiverSave
 
long long arcSZ_MaxV
 
long long arcSZ_MinV
 
bool arcSZ_Skip
 
long long arcSZ_Want
 
int arcvPathLEN
 
char * arcvPathLFN
 
char * arFName
 
char * arfSfx
 
int arfSfxLen
 
int bkpFSt
 
bool bkpLocal
 
int bkpMax
 
long long bkpMinF
 
int bkpPoll
 
const char * BkpUtilEOL
 
const char * BkpUtilName
 
char * BkpUtilPath
 
XrdOucProgBkpUtilProg
 
int bkupPathLEN
 
char * bkupPathLFN
 
char * doneBKP
 
char * dsetPathLFN
 
char * dsetRepoPFN
 
char * dstRSE
 
char * manCKS
 
int maxStage
 
const char * metaBKP
 
const char * metaIDX
 
char * MssComCmd
 
const char * MssComName
 
char * MssComPath
 
XrdOucProgMssComProg
 
char * MssComRoot
 
char * needBKP
 
const char * PostArcName
 
char * PostArcPath
 
XrdOucProgPostArcProg
 
const char * PrepArcName
 
char * PrepArcPath
 
XrdOucProgPrepArcProg
 
int r_maxItems
 
char * srcData
 
char * srcRSE
 
char * stagePath
 
int stopChk
 
XrdOssArcStopMonstopMon
 
char * stopPath
 
char * tapePath
 
int tapePathLEN
 
char * utilsPath
 
int wtpStage
 

Detailed Description

Definition at line 37 of file XrdOssArcConfig.hh.

Constructor & Destructor Documentation

◆ XrdOssArcConfig()

XrdOssArcConfig::XrdOssArcConfig ( )

Definition at line 99 of file XrdOssArcConfig.cc.

100 {
101 // Establish the defaults
102 //
103  BkpUtilPath = strdup("XrdOssArc_BkpUtils");
105 
106  PrepArcPath = 0;
107  PrepArcName = 0;
108 
109  PostArcPath = 0;
110  PostArcName = 0;
111 
112  ArchiverPath= strdup("XrdOssArc_Archiver");
114  ArchiverSave= 0;
115 
116  MssComPath = strdup("XrdOssArc_MssCom");
118  MssComCmd = 0;
119  MssComRoot = 0;
120 
121  arcvPathLFN = strdup("/archive/");
122  arcvPathLEN = strlen(arcvPathLFN);
123  bkupPathLFN = strdup("/backup/");
124  bkupPathLEN = strlen(bkupPathLFN);
125  dsetPathLFN = strdup("/dataset/");
126  dsetRepoPFN = 0;
127 
128  const char*atmp;
129  if ((atmp = getenv("XRDADMINPATH")))
130  {std::string as = atmp;
131  if (as.back() != '/') as.append("/");
132  as.append("OssArc/");
133  admnPath = strdup(as.c_str());
134  }
135  stopPath = 0;
136 
137  srcData = strdup("");
138  stagePath = strdup("/tmp/stage");
139  tapePath = strdup("/TapeBuffer");
140  tapePathLEN = strlen(tapePath);
141  utilsPath = strdup("/usr/local/etc");
142 
143  stopMon = 0;
144 
145  metaBKP = "arcBackup";
146  metaIDX = "arcIndex";
147  doneBKP = 0;
148  needBKP = 0;
149  dstRSE = 0;
150  srcRSE = 0;
151  manCKS = strdup("adler32");
152 
153  bkpMinF = -20;
154  bkpMax = 2;
155  bkpPoll = 15*60;
156  bkpFSt = -1; // Eventual default is bkpPoll/3
157  maxStage = 30;
158  wtpStage = 30;
159  r_maxItems = 1000;
160  arFName = strdup("Archive.zip");
161  arfSfx = strdup(".zip");
162  arfSfxLen = 4;
163  stopChk = 10;
164  bkpLocal = true;
165 
166  arcSZ_Skip = false;
167  arcSZ_Want = 0; // The XrdOssArc_BkpUtils defines the default
168  arcSZ_MinV = 0;
169  arcSZ_MaxV = 0;
170 
171  if (getenv("XRDOSSARC_DEBUG") || getenv("XRDDEBUG"))
173 }
#define TRACE_Debug
Definition: XrdCmsTrace.hh:37
const char * PostArcName
const char * metaBKP
const char * metaIDX
XrdOssArcStopMon * stopMon
const char * ArchiverName
const char * MssComName
const char * PrepArcName
const char * BkpUtilName
XrdSysTrace ArcTrace("OssArc")

References XrdOssArcGlobals::ArcTrace, TRACE_Debug, and XrdSysTrace::What.

◆ ~XrdOssArcConfig()

XrdOssArcConfig::~XrdOssArcConfig ( )
inline

Definition at line 49 of file XrdOssArcConfig.hh.

49 {} // Never gets deleted

Member Function Documentation

◆ BuildPath()

bool XrdOssArcConfig::BuildPath ( const char *  what,
const char *  baseP,
const char *  addP,
char *&  destP,
int  mode = 0 
)

Definition at line 179 of file XrdOssArcConfig.cc.

181 {
182  char lclPath[MAXPATHLEN];
183  int rc;
184 
185 // Get the local path to the base directory
186 //
187  if ((rc = GenLocalPath(baseP, lclPath, sizeof(lclPath))))
188  {Elog.Emsg("Config", rc, "configure", what);
189  return false;
190  }
191 
192 // Copy the path for further modification
193 //
194  std::string tmpStr(lclPath);
195 
196 // Trimp off trailing slashes
197 //
198  while(tmpStr.back() == '/') tmpStr.pop_back();
199 
200 // Add any additional element
201 //
202  if (addP) tmpStr.append(addP);
203 
204 // Create modifiable copy
205 //
206  char* modStr = strdup(tmpStr.c_str());
207 
208 // Check if we need to create the full path
209 //
210  if (mode)
211  {int rc = XrdOucUtils::makePath(modStr, mode);
212  if (rc)
213  {std::string msgT("create ");
214  msgT.append(what);
215  Elog.Emsg("Config", rc, msgT.c_str(), tmpStr.c_str());
216  free(modStr);
217  return false;
218  }
219  }
220 
221 // Set destination and return success
222 //
223  destP = modStr;
224  return true;
225 }
static int makePath(char *path, mode_t mode, bool reset=false)
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)
Definition: XrdSysError.cc:116
XrdSysError Elog(0, "OssArc_")

References XrdOssArcGlobals::Elog, XrdSysError::Emsg(), and XrdOucUtils::makePath().

+ Here is the call graph for this function:

◆ Configure()

bool XrdOssArcConfig::Configure ( const char *  cfn,
const char *  parms,
XrdOucEnv envP 
)

Definition at line 231 of file XrdOssArcConfig.cc.

233 {
234  TraceInfo("Configure", 0);
235  bool NoGo = false;
236 
237 // Read and process the config file
238 //
239  if (!ConfigXeq(cfn, parms, envP)) return false;
240 
241 // Set the external debug flag as needed
242 //
244  XrdOucEnv::Export("XRDOSSARC_DEBUG",ArcTrace.What & TRACE_Save ? "2":"1");
245 
246 // Make sure that the rse declarations have been specified
247 //
248  if (dstRSE && srcRSE)
249  {std::string tmp;
250  XrdOucEnv::Export("XRDOSSARC_DSTRSE", dstRSE);
251  DEBUG("exporting XRDOSSARC_DSTRSE="<<dstRSE);
252  XrdOucEnv::Export("XRDOSSARC_SRCRSE", srcRSE);
253  DEBUG("exporting XRDOSSARC_SRCRSE="<<srcRSE);
254 
255  tmp = dstRSE;
256  tmp += ":need";
257  needBKP = strdup(tmp.c_str());
258  tmp = dstRSE;
259  tmp += ":done";
260  doneBKP = strdup(tmp.c_str());
261  } else {
262  Elog.Say("Config mistake: required 'rsedcl' directive not specified!");
263  NoGo = true;
264  }
265 
266 // Export values needed by the metadata script
267 //
268  XrdOucEnv::Export("XRDOSSARC_MAXITEMS", r_maxItems);
269 
270 // Export manifest checksum, unless none wanted
271 //
272  if (strcmp(manCKS, "none")) XrdOucEnv::Export("XRDOSSARC_CKSUM", manCKS);
273 
274 // Export archive size parameters if specified
275 //
276  if (arcSZ_Want)
277  {char buff[1024];
278  snprintf(buff, sizeof(buff), "%lld %lld %lld %d", arcSZ_Want,
280  XrdOucEnv::Export("XRDOSSARC_SIZE", buff);
281  }
282 
283 // Handle the admin path
284 //
285  if (admnPath)
286  {int rc = XrdOucUtils::makePath(admnPath, S_IRWXU | S_IRGRP);
287  if (rc) {Elog.Emsg("Config", rc, "create admin path", admnPath);
288  NoGo = true;
289  }
290  else if (!Usable(admnPath, "admin path", false)) NoGo = true;
291  }
292 
293 // Handle the stop file path
294 //
295  if (!stopPath) stopPath = admnPath;
296  else {std::string ss = stopPath;
297  if (ss.back() != '/')
298  {ss.append("/");
299  free(stopPath);
300  stopPath = strdup(ss.c_str());
301  }
302  }
303 
304 // Create the stop monitor
305 //
306  if (!stopPath)
307  {Elog.Emsg("Config", "Unable to determine the stopfile path!");
308  NoGo = true;
309  } else {
310  if (!Usable(stopPath, "stopfile path", false)) NoGo = true;
311  else if (!NoGo)
312  {bool uOK;
314  if (!uOK)
315  {NoGo = true;
316  delete stopMon;
317  stopMon = 0;
318  }
319  }
320  }
321 
322 // Verify that the tape buffer is usable
323 //
324  if (!Usable(tapePath, "tape buffer path", false)) NoGo = true;
325  tapePathLEN = strlen(tapePath);
326 
327 // Initialize the tape buffer resourse monitor
328 //
329  if (bkpFSt < 0)
330  {bkpFSt = bkpPoll/3;
331  if (bkpFSt < 30) bkpFSt = 30;
332  }
333  if (!fsMon.Init(tapePath, bkpMinF, bkpFSt)) NoGo = true;
334 
335 // Verify that the data source mount point is usable
336 //
337  if (*srcData)
338  {struct stat Stat;
339  if (stat(srcData, &Stat))
340  {Elog.Emsg("Config", errno, "use srcdata path", srcData);
341  NoGo = true;
342  }
343  }
344 
345 // Create the backup staging path
346 //
347  if (!BuildPath("dataset backup arena", dsetPathLFN, "/4bkp/",
348  dsetRepoPFN, S_IRWXU|S_IRGRP|S_IXGRP))
349  NoGo = true;
350 
351 // Create the program that returns the datasets that need to be backed up.
352 // It also is the one that manipulates the backup status of a dataset.
353 //
354  BkpUtilProg = new XrdOucProg(&Elog);
355  ConfigPath(&BkpUtilPath, utilsPath);
356  if (BkpUtilProg->Setup(BkpUtilPath)) NoGo = true;
357  else {const char* rslash = rindex(BkpUtilPath, '/');
358  BkpUtilName = (rslash ? rslash+1 : BkpUtilPath);
359  }
360 
361 // Create program to communicate with the MSS
362 //
363  MssComProg = new XrdOucProg(&Elog);
364  ConfigPath(&MssComPath, utilsPath);
365  if (MssComProg->Setup(MssComPath)) NoGo = true;
366  else {const char* rslash = rindex(MssComPath, '/');
367  MssComName = (rslash ? rslash+1 : MssComPath);
368  }
369 
370 // Export envars that the programs needs
371 //
372  if (MssComCmd)
373  {XrdOucEnv::Export("XRDOSSARC_MSSCMD", MssComCmd);
374  DEBUG("Exporting XRDOSSARC_MSSCMD="<<MssComCmd);
375  }
376  if (MssComRoot)
377  {XrdOucEnv::Export("XRDOSSARC_MSSROOT", MssComRoot);
378  DEBUG("exporting XRDOSSARC_MSSROOT="<<MssComRoot);
379  } else MssComRoot = strdup("");
380 
381 // Create the pre archiver program if it has been specified
382 //
383  if (PrepArcPath)
384  {PrepArcProg = new XrdOucProg(&Elog);
385  ConfigPath(&PrepArcPath, utilsPath);
386  if (PrepArcProg->Setup(PrepArcPath)) NoGo = true;
387  else {const char* rslash = rindex(PrepArcPath, '/');
388  PrepArcName = (rslash ? rslash+1 : PrepArcPath);
389  }
390  } else PrepArcProg = 0;
391 
392 // Create the post archiver program if it has been specified
393 //
394  if (PostArcPath)
395  {PostArcProg = new XrdOucProg(&Elog);
396  ConfigPath(&PostArcPath, utilsPath);
397  if (PostArcProg->Setup(PostArcPath)) NoGo = true;
398  else {const char* rslash = rindex(PostArcPath, '/');
399  PostArcName = (rslash ? rslash+1 : PostArcPath);
400  }
401  } else {
402  PostArcProg = 0;
403  PostArcName = PostArcPath = strdup("");
404  }
405 
406 // Create the program to be used to create the archive
407 //
408  ArchiverProg = new XrdOucProg(&Elog);
409  ConfigPath(&ArchiverPath, utilsPath);
410  if (ArchiverProg->Setup(ArchiverPath)) NoGo = true;
411  else {const char* rslash = rindex(ArchiverPath, '/');
412  ArchiverName = (rslash ? rslash+1 : ArchiverPath);
413  }
414 
415 // Setup the remote copy command the archiver should use for backups
416 //
417  if (bkpLocal)
418  {if (ArchiverSave) free(ArchiverSave);
419  ArchiverSave = strdup("");
420  } else {
422  else ConfigPath(&ArchiverSave, utilsPath);
423  DEBUG("Archiver remote copycmd="<<ArchiverSave);
424  }
425 
426 // Make sure all the required metadata keys have been defined
427 //
428  DEBUG("Running "<<BkpUtilName<<" addkey "<<metaBKP<<' '<<metaIDX);
429  if (BkpUtilProg->Run("addkey", metaBKP, metaIDX))
430  Elog.Emsg("Config","Unable to create/verify metadata keys; continuing...");
431 
432 // Start the backup process.
433 //
434  std::vector<XrdOssArcBackup*> bkpVec;
435  XrdOssArcBackup* bkpP;
436  if (bkpScopes.empty())
437  {Elog.Emsg("Config", "No backup scopes specified!"); NoGo = true;
438  } else {
439  bool isOK;
440  for (auto it = bkpScopes.begin(); it != bkpScopes.end(); ++it)
441  {bkpP = new XrdOssArcBackup(it->c_str(), isOK);
442  if (!isOK)
443  {NoGo = true;
444  Elog.Emsg("Config", "Unable to start backing up scope",
445  it->c_str());
446  delete bkpP;
447  } else bkpVec.push_back(bkpP);
448  }
449  }
450 
451 // Start the configured number of backup workers The workers will wait for
452 // backup tasks which will come shortly as we will start them once we have
453 // dispatched workers. However, if we failed in any way, nothing is started.
454 //
455  if (!NoGo)
457  for (auto it = bkpVec.begin(); it != bkpVec.end(); it++)
458  {Elog.Say("Config process: scheduling backup for scope ",
459  (*it)->theScope());
460  schedP->Schedule(*it, time(0)+3);
461  }
462  }
463 
464 // All done
465 //
466  return !NoGo;
467 }
#define DEBUG(x)
Definition: XrdBwmTrace.hh:54
struct stat Stat
Definition: XrdCks.cc:49
#define TraceInfo(x, y)
#define TRACE_Save
#define stat(a, b)
Definition: XrdPosix.hh:105
static void StartWorkers(int maxw)
XrdOucProg * MssComProg
bool BuildPath(const char *what, const char *baseP, const char *addP, char *&destP, int mode=0)
XrdOucProg * ArchiverProg
XrdOucProg * PrepArcProg
XrdOucProg * PostArcProg
XrdOucProg * BkpUtilProg
bool Init(const char *path, long long fVal, int fsupdt)
static int Export(const char *Var, const char *Val)
Definition: XrdOucEnv.cc:188
int Run(XrdOucStream *Sp, const char *argV[], int argc=0, const char *envV[]=0) const
Definition: XrdOucProg.cc:108
int Setup(const char *prog, XrdSysError *errP=0, int(*Proc)(XrdOucStream *, char **, int)=0)
Definition: XrdOucProg.cc:296
void Schedule(XrdJob *jp)
void Say(const char *text1, const char *text2=0, const char *txt3=0, const char *text4=0, const char *text5=0, const char *txt6=0)
Definition: XrdSysError.cc:162
XrdScheduler * schedP
XrdOssArcFSMon fsMon
XrdOucEnv * envP
Definition: XrdPss.cc:110

References XrdOssArcGlobals::ArcTrace, BuildPath(), DEBUG, XrdOssArcGlobals::Elog, XrdSysError::Emsg(), XrdProxy::envP, XrdOucEnv::Export(), XrdOssArcGlobals::fsMon, XrdOssArcFSMon::Init(), XrdOucUtils::makePath(), XrdSysError::Say(), XrdOssArcGlobals::schedP, XrdScheduler::Schedule(), XrdOssArcBackup::StartWorkers(), Stat, stat, TRACE_Debug, TRACE_Save, TraceInfo, and XrdSysTrace::What.

Referenced by XrdOssArc::InitArc().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenTapePath()

int XrdOssArcConfig::GenTapePath ( const char *  dsn,
char *  buff,
int  bSZ,
bool  addafn = false 
)

Member Data Documentation

◆ admnPath

char* XrdOssArcConfig::admnPath

Definition at line 85 of file XrdOssArcConfig.hh.

◆ ArchiverName

const char* XrdOssArcConfig::ArchiverName

Definition at line 68 of file XrdOssArcConfig.hh.

◆ ArchiverPath

char* XrdOssArcConfig::ArchiverPath

Definition at line 67 of file XrdOssArcConfig.hh.

◆ ArchiverProg

XrdOucProg* XrdOssArcConfig::ArchiverProg

Definition at line 66 of file XrdOssArcConfig.hh.

◆ ArchiverSave

char* XrdOssArcConfig::ArchiverSave

Definition at line 69 of file XrdOssArcConfig.hh.

◆ arcSZ_MaxV

long long XrdOssArcConfig::arcSZ_MaxV

Definition at line 117 of file XrdOssArcConfig.hh.

◆ arcSZ_MinV

long long XrdOssArcConfig::arcSZ_MinV

Definition at line 116 of file XrdOssArcConfig.hh.

◆ arcSZ_Skip

bool XrdOssArcConfig::arcSZ_Skip

Definition at line 118 of file XrdOssArcConfig.hh.

◆ arcSZ_Want

long long XrdOssArcConfig::arcSZ_Want

Definition at line 115 of file XrdOssArcConfig.hh.

◆ arcvPathLEN

int XrdOssArcConfig::arcvPathLEN

◆ arcvPathLFN

char* XrdOssArcConfig::arcvPathLFN

◆ arFName

char* XrdOssArcConfig::arFName

Definition at line 111 of file XrdOssArcConfig.hh.

◆ arfSfx

char* XrdOssArcConfig::arfSfx

Definition at line 112 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcCompose::isArcFile().

◆ arfSfxLen

int XrdOssArcConfig::arfSfxLen

Definition at line 113 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcCompose::isArcFile().

◆ bkpFSt

int XrdOssArcConfig::bkpFSt

Definition at line 107 of file XrdOssArcConfig.hh.

◆ bkpLocal

bool XrdOssArcConfig::bkpLocal

Definition at line 119 of file XrdOssArcConfig.hh.

◆ bkpMax

int XrdOssArcConfig::bkpMax

Definition at line 105 of file XrdOssArcConfig.hh.

◆ bkpMinF

long long XrdOssArcConfig::bkpMinF

Definition at line 104 of file XrdOssArcConfig.hh.

◆ bkpPoll

int XrdOssArcConfig::bkpPoll

Definition at line 106 of file XrdOssArcConfig.hh.

◆ BkpUtilEOL

const char* XrdOssArcConfig::BkpUtilEOL

Definition at line 56 of file XrdOssArcConfig.hh.

◆ BkpUtilName

const char* XrdOssArcConfig::BkpUtilName

Definition at line 55 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcCompose::Stat().

◆ BkpUtilPath

char* XrdOssArcConfig::BkpUtilPath

Definition at line 54 of file XrdOssArcConfig.hh.

◆ BkpUtilProg

XrdOucProg* XrdOssArcConfig::BkpUtilProg

Definition at line 53 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcCompose::Stat().

◆ bkupPathLEN

int XrdOssArcConfig::bkupPathLEN

◆ bkupPathLFN

char* XrdOssArcConfig::bkupPathLFN

◆ doneBKP

char* XrdOssArcConfig::doneBKP

Definition at line 99 of file XrdOssArcConfig.hh.

◆ dsetPathLFN

char* XrdOssArcConfig::dsetPathLFN

Definition at line 83 of file XrdOssArcConfig.hh.

◆ dsetRepoPFN

char* XrdOssArcConfig::dsetRepoPFN

Definition at line 84 of file XrdOssArcConfig.hh.

◆ dstRSE

char* XrdOssArcConfig::dstRSE

Definition at line 101 of file XrdOssArcConfig.hh.

◆ manCKS

char* XrdOssArcConfig::manCKS

Definition at line 103 of file XrdOssArcConfig.hh.

◆ maxStage

int XrdOssArcConfig::maxStage

Definition at line 108 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcStage::DoIt(), and XrdOssArcStage::Stage().

◆ metaBKP

const char* XrdOssArcConfig::metaBKP

Definition at line 97 of file XrdOssArcConfig.hh.

◆ metaIDX

const char* XrdOssArcConfig::metaIDX

Definition at line 98 of file XrdOssArcConfig.hh.

◆ MssComCmd

char* XrdOssArcConfig::MssComCmd

Definition at line 74 of file XrdOssArcConfig.hh.

◆ MssComName

const char* XrdOssArcConfig::MssComName

Definition at line 73 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcStage::isOnline().

◆ MssComPath

char* XrdOssArcConfig::MssComPath

Definition at line 72 of file XrdOssArcConfig.hh.

◆ MssComProg

XrdOucProg* XrdOssArcConfig::MssComProg

Definition at line 71 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcStage::isOnline().

◆ MssComRoot

char* XrdOssArcConfig::MssComRoot

Definition at line 75 of file XrdOssArcConfig.hh.

◆ needBKP

char* XrdOssArcConfig::needBKP

Definition at line 100 of file XrdOssArcConfig.hh.

◆ PostArcName

const char* XrdOssArcConfig::PostArcName

Definition at line 64 of file XrdOssArcConfig.hh.

◆ PostArcPath

char* XrdOssArcConfig::PostArcPath

Definition at line 63 of file XrdOssArcConfig.hh.

◆ PostArcProg

XrdOucProg* XrdOssArcConfig::PostArcProg

Definition at line 62 of file XrdOssArcConfig.hh.

◆ PrepArcName

const char* XrdOssArcConfig::PrepArcName

Definition at line 60 of file XrdOssArcConfig.hh.

◆ PrepArcPath

char* XrdOssArcConfig::PrepArcPath

Definition at line 59 of file XrdOssArcConfig.hh.

◆ PrepArcProg

XrdOucProg* XrdOssArcConfig::PrepArcProg

Definition at line 58 of file XrdOssArcConfig.hh.

◆ r_maxItems

int XrdOssArcConfig::r_maxItems

Definition at line 110 of file XrdOssArcConfig.hh.

◆ srcData

char* XrdOssArcConfig::srcData

Definition at line 86 of file XrdOssArcConfig.hh.

◆ srcRSE

char* XrdOssArcConfig::srcRSE

Definition at line 102 of file XrdOssArcConfig.hh.

◆ stagePath

char* XrdOssArcConfig::stagePath

Definition at line 87 of file XrdOssArcConfig.hh.

◆ stopChk

int XrdOssArcConfig::stopChk

Definition at line 114 of file XrdOssArcConfig.hh.

◆ stopMon

XrdOssArcStopMon* XrdOssArcConfig::stopMon

Definition at line 95 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcFile::Open().

◆ stopPath

char* XrdOssArcConfig::stopPath

Definition at line 88 of file XrdOssArcConfig.hh.

◆ tapePath

char* XrdOssArcConfig::tapePath

Definition at line 89 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcCompose::ArcPath().

◆ tapePathLEN

int XrdOssArcConfig::tapePathLEN

Definition at line 90 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcFile::Open().

◆ utilsPath

char* XrdOssArcConfig::utilsPath

Definition at line 91 of file XrdOssArcConfig.hh.

◆ wtpStage

int XrdOssArcConfig::wtpStage

Definition at line 109 of file XrdOssArcConfig.hh.

Referenced by XrdOssArcFile::Open().


The documentation for this class was generated from the following files: