xrootd
Loading...
Searching...
No Matches
XrdOssApi.hh
Go to the documentation of this file.
1#ifndef _XRDOSS_API_H
2#define _XRDOSS_API_H
3/******************************************************************************/
4/* */
5/* X r d O s s A p i . h h */
6/* */
7/* (c) 2003 by the Board of Trustees of the Leland Stanford, Jr., University */
8/* All Rights Reserved */
9/* Produced by Andrew Hanushevsky for Stanford University under contract */
10/* DE-AC02-76-SFO0515 with the Department of Energy */
11/* */
12/* This file is part of the XRootD software suite. */
13/* */
14/* XRootD is free software: you can redistribute it and/or modify it under */
15/* the terms of the GNU Lesser General Public License as published by the */
16/* Free Software Foundation, either version 3 of the License, or (at your */
17/* option) any later version. */
18/* */
19/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22/* License for more details. */
23/* */
24/* You should have received a copy of the GNU Lesser General Public License */
25/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27/* */
28/* The copyright holder's institutional names and contributor's names may not */
29/* be used to endorse or promote products derived from this software without */
30/* specific prior written permission of the institution or contributor. */
31/******************************************************************************/
32
33#include <sys/types.h>
34#include <cerrno>
36
37#include "XrdOss/XrdOss.hh"
39#include "XrdOss/XrdOssError.hh"
42#include "XrdOuc/XrdOucPList.hh"
44#include "XrdSys/XrdSysError.hh"
46
47/******************************************************************************/
48/* o o s s _ D i r */
49/******************************************************************************/
50
51class XrdOssDir : public XrdOssDF
52{
53public:
54int Close(long long *retsz=0);
55int Opendir(const char *, XrdOucEnv &);
56int Readdir(char *buff, int blen);
57int StatRet(struct stat *buff);
58int getFD() {return fd;}
59
60 // Constructor and destructor
61 XrdOssDir(const char *tid, DIR *dP=0)
62 : XrdOssDF(tid, DF_isDir),
63 lclfd(dP), mssfd(0), Stat(0), ateof(false),
64 isopen(dP != 0), dOpts(0) {if (dP) fd = dirfd(dP);}
65
67private:
68 DIR *lclfd;
69 void *mssfd;
70struct stat *Stat;
71 bool ateof;
72 bool isopen;
73unsigned char dOpts;
74static const int isStage = 0x01;
75static const int noCheck = 0x02;
76static const int noDread = 0x04;
77};
78
79/******************************************************************************/
80/* o o s s _ F i l e */
81/******************************************************************************/
82
83class oocx_CXFile;
84class XrdSfsAio;
85class XrdOssCache_FS;
86class XrdOssMioFile;
87
88class XrdOssFile : public XrdOssDF
89{
90public:
91
92// The following two are virtual functions to allow for upcasting derivations
93// of this implementation
94//
95virtual int Close(long long *retsz=0);
96virtual int Open(const char *, int, mode_t, XrdOucEnv &);
97
98int Fchmod(mode_t mode);
99int Fctl(int cmd, int alen, const char *args, char **resp=0);
100void Flush();
101int Fstat(struct stat *);
102int Fsync();
103int Fsync(XrdSfsAio *aiop);
104int Ftruncate(unsigned long long);
105int getFD() {return fd;}
106off_t getMmap(void **addr);
107int isCompressed(char *cxidp=0);
108ssize_t Read( off_t, size_t);
109ssize_t Read( void *, off_t, size_t);
110int Read(XrdSfsAio *aiop);
111ssize_t ReadV(XrdOucIOVec *readV, int);
112ssize_t ReadRaw( void *, off_t, size_t);
113ssize_t Write(const void *, off_t, size_t);
114int Write(XrdSfsAio *aiop);
115
116 // Constructor and destructor
117 XrdOssFile(const char *tid, int fdnum=-1)
118 : XrdOssDF(tid, DF_isFile, fdnum),
119 cxobj(0), cacheP(0), mmFile(0),
120 rawio(0), cxpgsz(0) {cxid[0] = '\0';}
121
122virtual ~XrdOssFile() {if (fd >= 0) Close();}
123
124private:
125int Open_ufs(const char *, int, int, unsigned long long);
126
127static int AioFailure;
128oocx_CXFile *cxobj;
131long long FSize;
134char cxid[4];
135};
136
137/******************************************************************************/
138/* o o s s _ S y s */
139/******************************************************************************/
140
141class XrdFrcProxy;
144class XrdOssCreateInfo;
145class XrdOucMsubs;
146class XrdOucName2Name;
147class XrdOucProg;
148class XrdOssSpace;
149class XrdOssStage_Req;
150
151struct XrdVersionInfo;
152
153class XrdOssSys : public XrdOss
154{
155public:
156virtual XrdOssDF *newDir(const char *tident)
157 {return (XrdOssDF *)new XrdOssDir(tident);}
158virtual XrdOssDF *newFile(const char *tident)
159 {return (XrdOssDF *)new XrdOssFile(tident);}
160
161int Chmod(const char *, mode_t mode, XrdOucEnv *eP=0);
162int Configure(const char *, XrdSysError &, XrdOucEnv *envP);
164virtual
165int Create(const char *, const char *, mode_t, XrdOucEnv &, int opts=0);
166uint64_t Features() {return XRDOSS_HASNAIO;} // Turn async I/O off for disk
167int GenLocalPath(const char *, char *);
168int GenRemotePath(const char *, char *);
169int Init(XrdSysLogger *, const char *, XrdOucEnv *envP);
170int Init(XrdSysLogger *lP, const char *cP) {return Init(lP, cP, 0);}
171int IsRemote(const char *path)
172 {return (RPList.Find(path) & XRDEXP_REMOTE) != 0;}
173int Lfn2Pfn(const char *Path, char *buff, int blen);
174const char *Lfn2Pfn(const char *Path, char *buff, int blen, int &rc);
175int Mkdir(const char *, mode_t mode, int mkpath=0, XrdOucEnv *eP=0);
176int Mkpath(const char *, mode_t mode);
177unsigned long long PathOpts(const char *path) {return RPList.Find(path);}
178int Reloc(const char *tident, const char *path,
179 const char *cgName, const char *anchor=0);
180int Remdir(const char *, int Opts=0, XrdOucEnv *eP=0); // In Unlink()
181int Rename(const char *, const char *,
182 XrdOucEnv *eP1=0, XrdOucEnv *eP2=0);
183virtual
184int Stage(const char *, const char *, XrdOucEnv &, int, mode_t, unsigned long long );
185void *Stage_In(void *carg);
186int Stat(const char *, struct stat *, int opts=0, XrdOucEnv *Env=0);
187int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *Env=0);
188int StatFS(const char *path, unsigned long long &Opt,
189 long long &fSize, long long &fSpace);
190int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen);
191int StatPF(const char *, struct stat *, int);
192int StatVS(XrdOssVSInfo *sP, const char *sname=0, int updt=0);
193int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *Env=0);
194int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *Env=0);
195int Truncate(const char *, unsigned long long Size, XrdOucEnv *eP=0);
196int Unlink(const char *, int Opts=0, XrdOucEnv *eP=0);
197
198int Stats(char *bp, int bl);
199
200static int AioInit();
201static int AioAllOk;
202
203static char tryMmap; // Memory mapped files enabled
204static char chkMmap; // Memory mapped files are selective
205
206int MSS_Closedir(void *);
207int MSS_Create(const char *path, mode_t, XrdOucEnv &);
208void *MSS_Opendir(const char *, int &rc);
209int MSS_Readdir(void *fd, char *buff, int blen);
210int MSS_Remdir(const char *, const char *) {return -ENOTSUP;}
211int MSS_Rename(const char *, const char *);
212int MSS_Stat(const char *, struct stat *buff=0);
213int MSS_Unlink(const char *);
214
215static const int MaxArgs = 15;
216
217char *ConfigFN; // -> Pointer to the config file name
218char *LocalRoot; // -> Path prefix for local filename
219char *RemoteRoot; // -> Path prefix for remote filename
220int MaxTwiddle; // Maximum seconds of internal wait
221int StageRealTime; // If 1, Invoke stage command on demand
222int StageAsync; // If 1, return EINPROGRESS to the caller
223int StageCreate; // If 1, use open path to create files
224int StageFormat; // Format for default stagecmd
225char *StageCmd; // -> Staging command to use
226char *StageMsg; // -> Staging message to be passed
227XrdOucMsubs *StageSnd; // -> Parsed Message
228XrdFrcProxy *StageFrm; // -> Built-in stagecmd or zero
229
230char *StageEvents; // -> file:////<adminpath> if async staging
231int StageEvSize; // Length of above
232int StageActLen; // Length of below
233char *StageAction; // -> "wq " if sync | "wfn " if async
234
237int StageAnum; // Count of valid Arg/Aln array elements
238char *RSSCmd; // -> Remote Storage Service Command
239int isMSSC; // RSSCmd is old-style msscmd
240int RSSTout; // RSSCmd response timeout
241long long MaxSize; // Maximum file size (*obsolete*)
242int FDFence; // Smallest file FD number allowed
243int FDLimit; // Largest file FD number allowed
244unsigned long long DirFlags;// Default directory settings
245int Trace; // Trace flags
246int Solitary; // True if running in stand-alone mode
247int OptFlags; // General option flags
248
249XrdOucPListAnchor SPList; // The path to space list
250#define spAssign 1
251
252char *N2N_Lib; // -> Name2Name Library Path
253char *N2N_Parms; // -> Name2Name Object Parameters
254XrdOucName2Name *lcl_N2N; // -> File mapper for local files
255XrdOucName2Name *rmt_N2N; // -> File mapper for remote files
256XrdOucName2Name *the_N2N; // -> File mapper object
257XrdOucPListAnchor RPList; // The real path list
258OssDPath *DPList; // The stat path list
260short numDP;
261short numCG;
262
263char *STT_Lib; // -> StatInfo Library Path
264char *STT_Parms; // -> StatInfo Library Paramaters
265union {
268 };
273
274long long prPBits; // Page lo order bit mask
275long long prPMask; // Page hi order bit mask
276int prPSize; // preread page size
277int prBytes; // preread byte limit
278int prActive; // preread activity count
279short prDepth; // preread depth
280short prQSize; // preread maximum allowed
281
282XrdVersionInfo *myVersion; // Compilation version set by constructor
283
285virtual ~XrdOssSys() {}
286
287protected:
288// Cache management related data and methods
289//
290long long minalloc; // Minimum allocation
291int ovhalloc; // Allocation overage
292int fuzalloc; // Allocation fuzz
293int cscanint; // Seconds between cache scans
294int xfrspeed; // Average transfer speed (bytes/second)
295int xfrovhd; // Minimum seconds to get a file
296int xfrhold; // Second hold limit on failing requests
297int xfrkeep; // Second keep queued requests
298int xfrthreads; // Number of threads for staging
299int xfrtcount; // Actual count of threads (used for dtr)
300long long pndbytes; // Total bytes to be staged (pending)
301long long stgbytes; // Total bytes being staged (active)
302long long totbytes; // Total bytes were staged (active+pending)
303int totreqs; // Total successful requests
304int badreqs; // Total unsuccessful requests
305
306XrdOucProg *StageProg; // Command or manager than handles staging
307XrdOucProg *RSSProg; // Command for Remote Storage Services
308
309char *UDir; // -> Usage logdir
310char *QFile; // -> Quota file
311char *xfrFdir; // -> Fail file base dir
312int xfrFdln; // strlen(xfrFDir)
313short USync; // Usage sync interval
314bool pfcMode; // Setup for Proxy File Cache
315
316int Alloc_Cache(XrdOssCreateInfo &, XrdOucEnv &);
317int Alloc_Local(XrdOssCreateInfo &, XrdOucEnv &);
318int BreakLink(const char *local_path, struct stat &statbuff);
321int SetFattr(XrdOssCreateInfo &crInfo, int datfd, time_t mtime);
322void doScrub();
323int Find(XrdOssStage_Req *req, void *carg);
324int getCname(const char *path, struct stat *sbuff, char *cgbuff);
325int getStats(char *buff, int blen);
327int getID(const char *, XrdOucEnv &, char *, int);
328time_t HasFile(const char *fn, const char *sfx, time_t *mTime=0);
329int Stage_QT(const char *, const char *, XrdOucEnv &, int, mode_t);
330int Stage_RT(const char *, const char *, XrdOucEnv &, unsigned long long);
331
332// Configuration related methods
333//
334void ConfigCache(XrdSysError &Eroute, bool pass2=false);
335void ConfigMio(XrdSysError &Eroute);
336int ConfigN2N(XrdSysError &Eroute, XrdOucEnv *envP);
339void ConfigSpace(const char *Lfn);
340void ConfigSpath(XrdSysError &Eroute, const char *Pn,
341 unsigned long long &Fv, int noMSS);
346void ConfigStats(dev_t Devnum, char *lP);
348void List_Path(const char *, const char *, unsigned long long, XrdSysError &);
349int xalloc(XrdOucStream &Config, XrdSysError &Eroute);
350int xcache(XrdOucStream &Config, XrdSysError &Eroute);
351int xcachescan(XrdOucStream &Config, XrdSysError &Eroute);
352int xdefault(XrdOucStream &Config, XrdSysError &Eroute);
353int xfdlimit(XrdOucStream &Config, XrdSysError &Eroute);
354int xmaxsz(XrdOucStream &Config, XrdSysError &Eroute);
355int xmemf(XrdOucStream &Config, XrdSysError &Eroute);
356int xnml(XrdOucStream &Config, XrdSysError &Eroute);
357int xpath(XrdOucStream &Config, XrdSysError &Eroute);
358int xprerd(XrdOucStream &Config, XrdSysError &Eroute);
359int xspace(XrdOucStream &Config, XrdSysError &Eroute, int *isCD=0);
360int xspace(XrdOucStream &Config, XrdSysError &Eroute,
361 const char *grp, bool isAsgn);
363int xstg(XrdOucStream &Config, XrdSysError &Eroute);
364int xstl(XrdOucStream &Config, XrdSysError &Eroute);
365int xusage(XrdOucStream &Config, XrdSysError &Eroute);
366int xtrace(XrdOucStream &Config, XrdSysError &Eroute);
367int xxfr(XrdOucStream &Config, XrdSysError &Eroute);
368
369// Mass storage related methods
370//
371int tranmode(char *);
372int MSS_Xeq(XrdOucStream **xfd, int okerr,
373 const char *cmd, const char *arg1=0, const char *arg2=0);
374
375// Other methods
376//
377int RenameLink(char *old_path, char *new_path);
378int RenameLink3(char *cPath, char *old_path, char *new_path);
379};
380
381/******************************************************************************/
382/* A P I S p e c i f i c D e f i n e s */
383/******************************************************************************/
384
385// The Check_RO macro is valid only for XrdOssSys objects.
386//
387#define Check_RO(act, flags, path, opname) \
388 XRDEXP_REMOTE & (flags = PathOpts(path)); \
389 if (flags & XRDEXP_NOTRW) \
390 return OssEroute.Emsg(#act, -XRDOSS_E8005, opname, path)
391
392#define Check_RW(act, path, opname) \
393 if (PathOpts(path) & XRDEXP_NOTRW) \
394 return OssEroute.Emsg(#act, -XRDOSS_E8005, opname, path)
395#endif
int(* XrdOssStatInfo2_t)(const char *path, struct stat *buff, int opts, XrdOucEnv *envP, const char *lfn)
Definition XrdOssStatInfo.hh:93
int(* XrdOssStatInfo_t)(const char *path, struct stat *buff, int opts, XrdOucEnv *envP)
Definition XrdOssStatInfo.hh:90
#define XRDOSS_HASNAIO
Definition XrdOss.hh:480
#define XRDEXP_REMOTE
Definition XrdOucExport.hh:85
#define stat(a, b)
Definition XrdPosix.hh:96
Definition XrdFrcProxy.hh:40
Definition XrdOssCache.hh:133
Definition XrdOssCache.hh:183
Definition XrdOssCache.hh:79
Definition XrdOss.hh:63
static const uint16_t DF_isFile
Object is for a file.
Definition XrdOss.hh:393
int fd
Definition XrdOss.hh:455
static const uint16_t DF_isDir
Object is for a directory.
Definition XrdOss.hh:392
Definition XrdOssApi.hh:52
void * mssfd
Definition XrdOssApi.hh:69
int StatRet(struct stat *buff)
int Opendir(const char *, XrdOucEnv &)
XrdOssDir(const char *tid, DIR *dP=0)
Definition XrdOssApi.hh:61
bool isopen
Definition XrdOssApi.hh:72
struct stat * Stat
Definition XrdOssApi.hh:70
DIR * lclfd
Definition XrdOssApi.hh:68
~XrdOssDir()
Definition XrdOssApi.hh:66
static const int noCheck
Definition XrdOssApi.hh:75
static const int noDread
Definition XrdOssApi.hh:76
int getFD()
Definition XrdOssApi.hh:58
int Readdir(char *buff, int blen)
bool ateof
Definition XrdOssApi.hh:71
int Close(long long *retsz=0)
unsigned char dOpts
Definition XrdOssApi.hh:73
static const int isStage
Definition XrdOssApi.hh:74
Definition XrdOssApi.hh:89
int Write(XrdSfsAio *aiop)
oocx_CXFile * cxobj
Definition XrdOssApi.hh:128
virtual ~XrdOssFile()
Definition XrdOssApi.hh:122
virtual int Close(long long *retsz=0)
int Open_ufs(const char *, int, int, unsigned long long)
int Fchmod(mode_t mode)
int isCompressed(char *cxidp=0)
virtual int Open(const char *, int, mode_t, XrdOucEnv &)
ssize_t Read(off_t, size_t)
int Fctl(int cmd, int alen, const char *args, char **resp=0)
int Read(XrdSfsAio *aiop)
long long FSize
Definition XrdOssApi.hh:131
off_t getMmap(void **addr)
ssize_t Read(void *, off_t, size_t)
XrdOssMioFile * mmFile
Definition XrdOssApi.hh:130
int Fstat(struct stat *)
int Fsync(XrdSfsAio *aiop)
int rawio
Definition XrdOssApi.hh:132
static int AioFailure
Definition XrdOssApi.hh:127
XrdOssFile(const char *tid, int fdnum=-1)
Definition XrdOssApi.hh:117
void Flush()
Flush filesystem cached pages for this file (used for checksums).
ssize_t ReadV(XrdOucIOVec *readV, int)
int cxpgsz
Definition XrdOssApi.hh:133
XrdOssCache_FS * cacheP
Definition XrdOssApi.hh:129
int getFD()
Definition XrdOssApi.hh:105
char cxid[4]
Definition XrdOssApi.hh:134
int Ftruncate(unsigned long long)
ssize_t Write(const void *, off_t, size_t)
ssize_t ReadRaw(void *, off_t, size_t)
Definition XrdOssMioFile.hh:37
Definition XrdOssSpace.hh:36
Definition XrdOssStage.hh:50
Definition XrdOssApi.hh:154
void Config_Display(XrdSysError &)
int xstg(XrdOucStream &Config, XrdSysError &Eroute)
int badreqs
Definition XrdOssApi.hh:304
int GenRemotePath(const char *, char *)
int StageCreate
Definition XrdOssApi.hh:223
XrdOucPListAnchor SPList
Definition XrdOssApi.hh:249
char STT_DoN2N
Definition XrdOssApi.hh:270
char STT_V2
Definition XrdOssApi.hh:271
int ConfigXeq(char *, XrdOucStream &, XrdSysError &)
int FDLimit
Definition XrdOssApi.hh:243
int totreqs
Definition XrdOssApi.hh:303
int Configure(const char *, XrdSysError &, XrdOucEnv *envP)
char * LocalRoot
Definition XrdOssApi.hh:218
OssDPath * DPList
Definition XrdOssApi.hh:258
int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen)
int STT_PreOp
Definition XrdOssApi.hh:269
int MSS_Readdir(void *fd, char *buff, int blen)
int SetFattr(XrdOssCreateInfo &crInfo, int datfd, time_t mtime)
int MSS_Rename(const char *, const char *)
char * N2N_Parms
Definition XrdOssApi.hh:253
void doScrub()
int xtrace(XrdOucStream &Config, XrdSysError &Eroute)
time_t HasFile(const char *fn, const char *sfx, time_t *mTime=0)
int StatVS(XrdOssVSInfo *sP, const char *sname=0, int updt=0)
short numCG
Definition XrdOssApi.hh:261
long long totbytes
Definition XrdOssApi.hh:302
long long minalloc
Definition XrdOssApi.hh:290
int StageAln[MaxArgs]
Definition XrdOssApi.hh:236
int IsRemote(const char *path)
Definition XrdOssApi.hh:171
int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *Env=0)
int Init(XrdSysLogger *, const char *, XrdOucEnv *envP)
int tranmode(char *)
char * StageEvents
Definition XrdOssApi.hh:230
int Stage_RT(const char *, const char *, XrdOucEnv &, unsigned long long)
int getStats(char *buff, int blen)
int xstl(XrdOucStream &Config, XrdSysError &Eroute)
void ConfigSpace(XrdSysError &Eroute)
int Mkdir(const char *, mode_t mode, int mkpath=0, XrdOucEnv *eP=0)
int getCname(const char *path, struct stat *sbuff, char *cgbuff)
int StageRealTime
Definition XrdOssApi.hh:221
short prDepth
Definition XrdOssApi.hh:279
int FDFence
Definition XrdOssApi.hh:242
int Unlink(const char *, int Opts=0, XrdOucEnv *eP=0)
int ConfigStage(XrdSysError &Eroute)
int xusage(XrdOucStream &Config, XrdSysError &Eroute)
static char chkMmap
Definition XrdOssApi.hh:204
int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *Env=0)
int xfrthreads
Definition XrdOssApi.hh:298
int OptFlags
Definition XrdOssApi.hh:247
int xspace(XrdOucStream &Config, XrdSysError &Eroute, int *isCD=0)
int StatFS(const char *path, unsigned long long &Opt, long long &fSize, long long &fSpace)
int isMSSC
Definition XrdOssApi.hh:239
void List_Path(const char *, const char *, unsigned long long, XrdSysError &)
char * QFile
Definition XrdOssApi.hh:310
int MSS_Closedir(void *)
int prBytes
Definition XrdOssApi.hh:277
int xmemf(XrdOucStream &Config, XrdSysError &Eroute)
int RenameLink3(char *cPath, char *old_path, char *new_path)
void * Stage_In(void *carg)
virtual int Stage(const char *, const char *, XrdOucEnv &, int, mode_t, unsigned long long)
int Alloc_Cache(XrdOssCreateInfo &, XrdOucEnv &)
char * ConfigFN
Definition XrdOssApi.hh:217
int StageFormat
Definition XrdOssApi.hh:224
int ovhalloc
Definition XrdOssApi.hh:291
void ConfigMio(XrdSysError &Eroute)
void ConfigStats(XrdSysError &Eroute)
virtual ~XrdOssSys()
Definition XrdOssApi.hh:285
char * StageAction
Definition XrdOssApi.hh:233
int xcachescan(XrdOucStream &Config, XrdSysError &Eroute)
char STT_DoARE
Definition XrdOssApi.hh:272
char * UDir
Definition XrdOssApi.hh:309
int StageActLen
Definition XrdOssApi.hh:232
short USync
Definition XrdOssApi.hh:313
int xfdlimit(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigN2N(XrdSysError &Eroute, XrdOucEnv *envP)
XrdOucProg * StageProg
Definition XrdOssApi.hh:306
XrdOucName2Name * the_N2N
Definition XrdOssApi.hh:256
void ConfigStats(dev_t Devnum, char *lP)
int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *Env=0)
short prQSize
Definition XrdOssApi.hh:280
const char * Lfn2Pfn(const char *Path, char *buff, int blen, int &rc)
char * StageArg[MaxArgs]
Definition XrdOssApi.hh:235
long long MaxSize
Definition XrdOssApi.hh:241
int StageAnum
Definition XrdOssApi.hh:237
unsigned long long PathOpts(const char *path)
Definition XrdOssApi.hh:177
int Mkpath(const char *, mode_t mode)
int prPSize
Definition XrdOssApi.hh:276
static int AioInit()
static const int MaxArgs
Definition XrdOssApi.hh:215
int GetFile(XrdOssStage_Req *req)
int Init(XrdSysLogger *lP, const char *cP)
Definition XrdOssApi.hh:170
int Trace
Definition XrdOssApi.hh:245
int Rename(const char *, const char *, XrdOucEnv *eP1=0, XrdOucEnv *eP2=0)
int GenLocalPath(const char *, char *)
int RSSTout
Definition XrdOssApi.hh:240
int prActive
Definition XrdOssApi.hh:278
int MSS_Unlink(const char *)
int xfrspeed
Definition XrdOssApi.hh:294
XrdOucName2Name * lcl_N2N
Definition XrdOssApi.hh:254
long long prPMask
Definition XrdOssApi.hh:275
long long prPBits
Definition XrdOssApi.hh:274
XrdOssStatInfo_t STT_Func
Definition XrdOssApi.hh:266
virtual XrdOssDF * newFile(const char *tident)
Definition XrdOssApi.hh:158
int xspaceBuild(OssSpaceConfig &sInfo, XrdSysError &Eroute)
int fuzalloc
Definition XrdOssApi.hh:292
int BreakLink(const char *local_path, struct stat &statbuff)
int cscanint
Definition XrdOssApi.hh:293
int StageAsync
Definition XrdOssApi.hh:222
int xprerd(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigStatLib(XrdSysError &Eroute, XrdOucEnv *envP)
void ConfigSpace(const char *Lfn)
XrdOucProg * RSSProg
Definition XrdOssApi.hh:307
char * STT_Parms
Definition XrdOssApi.hh:264
virtual XrdOssDF * newDir(const char *tident)
Definition XrdOssApi.hh:156
XrdOssStatInfo2_t STT_Fund
Definition XrdOssApi.hh:267
long long pndbytes
Definition XrdOssApi.hh:300
int xspace(XrdOucStream &Config, XrdSysError &Eroute, const char *grp, bool isAsgn)
int xpath(XrdOucStream &Config, XrdSysError &Eroute)
static char tryMmap
Definition XrdOssApi.hh:203
int Lfn2Pfn(const char *Path, char *buff, int blen)
XrdVersionInfo * myVersion
Definition XrdOssApi.hh:282
char * N2N_Lib
Definition XrdOssApi.hh:252
int xfrovhd
Definition XrdOssApi.hh:295
int MSS_Stat(const char *, struct stat *buff=0)
int MSS_Remdir(const char *, const char *)
Definition XrdOssApi.hh:210
int xcache(XrdOucStream &Config, XrdSysError &Eroute)
long long stgbytes
Definition XrdOssApi.hh:301
int Find(XrdOssStage_Req *req, void *carg)
void ConfigSpath(XrdSysError &Eroute, const char *Pn, unsigned long long &Fv, int noMSS)
int Stat(const char *, struct stat *, int opts=0, XrdOucEnv *Env=0)
char * STT_Lib
Definition XrdOssApi.hh:263
int ConfigStageC(XrdSysError &Eroute)
int CalcTime()
int xfrFdln
Definition XrdOssApi.hh:312
XrdOucMsubs * StageSnd
Definition XrdOssApi.hh:227
int xxfr(XrdOucStream &Config, XrdSysError &Eroute)
short numDP
Definition XrdOssApi.hh:260
XrdFrcProxy * StageFrm
Definition XrdOssApi.hh:228
unsigned long long DirFlags
Definition XrdOssApi.hh:244
int Remdir(const char *, int Opts=0, XrdOucEnv *eP=0)
int StatPF(const char *, struct stat *, int)
int Chmod(const char *, mode_t mode, XrdOucEnv *eP=0)
int MSS_Create(const char *path, mode_t, XrdOucEnv &)
int StageEvSize
Definition XrdOssApi.hh:231
int getID(const char *, XrdOucEnv &, char *, int)
int lenDP
Definition XrdOssApi.hh:259
XrdOucPListAnchor RPList
Definition XrdOssApi.hh:257
int Stats(char *bp, int bl)
int xfrhold
Definition XrdOssApi.hh:296
static int AioAllOk
Definition XrdOssApi.hh:201
int CalcTime(XrdOssStage_Req *req)
int ConfigProc(XrdSysError &Eroute)
bool pfcMode
Definition XrdOssApi.hh:314
int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0)
int xfrtcount
Definition XrdOssApi.hh:299
int RenameLink(char *old_path, char *new_path)
int Truncate(const char *, unsigned long long Size, XrdOucEnv *eP=0)
int Stage_QT(const char *, const char *, XrdOucEnv &, int, mode_t)
int MSS_Xeq(XrdOucStream **xfd, int okerr, const char *cmd, const char *arg1=0, const char *arg2=0)
void ConfigCache(XrdSysError &Eroute, bool pass2=false)
char * StageCmd
Definition XrdOssApi.hh:225
char * StageMsg
Definition XrdOssApi.hh:226
char * RemoteRoot
Definition XrdOssApi.hh:219
int xmaxsz(XrdOucStream &Config, XrdSysError &Eroute)
uint64_t Features()
Definition XrdOssApi.hh:166
int xfrkeep
Definition XrdOssApi.hh:297
int Alloc_Local(XrdOssCreateInfo &, XrdOucEnv &)
int Solitary
Definition XrdOssApi.hh:246
int MaxTwiddle
Definition XrdOssApi.hh:220
char * RSSCmd
Definition XrdOssApi.hh:238
int xdefault(XrdOucStream &Config, XrdSysError &Eroute)
void * MSS_Opendir(const char *, int &rc)
virtual int Create(const char *, const char *, mode_t, XrdOucEnv &, int opts=0)
int xnml(XrdOucStream &Config, XrdSysError &Eroute)
XrdOucName2Name * rmt_N2N
Definition XrdOssApi.hh:255
int xalloc(XrdOucStream &Config, XrdSysError &Eroute)
char * xfrFdir
Definition XrdOssApi.hh:311
Definition XrdOssVS.hh:88
Definition XrdOss.hh:498
Definition XrdOucEnv.hh:42
Definition XrdOucMsubs.hh:91
Definition XrdOucName2Name.hh:49
Definition XrdOucPList.hh:89
unsigned long long Find(const char *pathname)
Definition XrdOucPList.hh:112
Definition XrdOucProg.hh:38
Definition XrdOucStream.hh:47
Definition XrdSfsAio.hh:59
Definition XrdSysError.hh:90
Definition XrdSysLogger.hh:53
Definition XrdOssConfig.hh:49
Definition XrdOssConfig.hh:58
Definition XrdOucIOVec.hh:41