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 Fctl(int cmd, int alen, const char *args, char **resp=0);
56int Opendir(const char *, XrdOucEnv &);
57int Readdir(char *buff, int blen);
58int StatRet(struct stat *buff);
59int getFD() {return fd;}
60
61 // Constructor and destructor
62 XrdOssDir(const char *tid, DIR *dP=0)
63 : XrdOssDF(tid, DF_isDir),
64 lclfd(dP), mssfd(0), Stat(0), ateof(false),
65 isopen(dP != 0), dOpts(0) {if (dP) fd = dirfd(dP);}
66
67 ~XrdOssDir() {if (isopen) Close();}
68private:
69 DIR *lclfd;
70 void *mssfd;
71struct stat *Stat;
72 bool ateof;
73 bool isopen;
74unsigned char dOpts;
75static const int isStage = 0x01;
76static const int noCheck = 0x02;
77static const int noDread = 0x04;
78};
79
80/******************************************************************************/
81/* o o s s _ F i l e */
82/******************************************************************************/
83
84class oocx_CXFile;
85class XrdSfsAio;
86class XrdOssCache_FS;
87class XrdOssMioFile;
88
89class XrdOssFile : public XrdOssDF
90{
91public:
92
93int Clone(XrdOssDF& srcFile);
94
95int Clone(const std::vector<XrdOucCloneSeg> &cVec);
96
97// The following two are virtual functions to allow for upcasting derivations
98// of this implementation
99//
100virtual int Close(long long *retsz=0);
101virtual int Open(const char *, int, mode_t, XrdOucEnv &);
102
103int Fchmod(mode_t mode);
104int Fctl(int cmd, int alen, const char *args, char **resp=0);
105void Flush();
106int Fstat(struct stat *);
107int Fsync();
108int Fsync(XrdSfsAio *aiop);
109int Ftruncate(unsigned long long);
110int getFD() {return fd;}
111off_t getMmap(void **addr);
112int isCompressed(char *cxidp=0);
113ssize_t Read( off_t, size_t);
114ssize_t Read( void *, off_t, size_t);
115int Read(XrdSfsAio *aiop);
116ssize_t ReadV(XrdOucIOVec *readV, int);
117ssize_t ReadRaw( void *, off_t, size_t);
118ssize_t Write(const void *, off_t, size_t);
119int Write(XrdSfsAio *aiop);
120
121 // Constructor and destructor
122 XrdOssFile(const char *tid, int fdnum=-1)
123 : XrdOssDF(tid, DF_isFile, fdnum),
124 cxobj(0), cacheP(0), mmFile(0),
125 rawio(0), cxpgsz(0),
126 canClone(false) {cxid[0] = '\0';}
127
128virtual ~XrdOssFile() {if (fd >= 0) Close();}
129
130private:
131int Open_ufs(const char *, int, int, unsigned long long);
132
133static int AioFailure;
134oocx_CXFile *cxobj;
135XrdOssCache_FS *cacheP;
136XrdOssMioFile *mmFile;
137long long FSize;
138int rawio;
139int cxpgsz;
140char cxid[4];
141bool canClone;
142};
143
144/******************************************************************************/
145/* o o s s _ S y s */
146/******************************************************************************/
147
148class XrdFrcProxy;
151class XrdOssCreateInfo;
152class XrdOucMsubs;
153class XrdOucName2Name;
154class XrdOucProg;
155class XrdOssSpace;
156class XrdOssStage_Req;
157
158struct XrdVersionInfo;
159
160class XrdOssSys : public XrdOss
161{
162public:
163virtual XrdOssDF *newDir(const char *tident)
164 {return (XrdOssDF *)new XrdOssDir(tident);}
165virtual XrdOssDF *newFile(const char *tident)
166 {return (XrdOssDF *)new XrdOssFile(tident);}
167
168int Chmod(const char *, mode_t mode, XrdOucEnv *eP=0);
169int Configure(const char *, XrdSysError &, XrdOucEnv *envP);
171virtual
172int Create(const char *, const char *, mode_t, XrdOucEnv &, int opts=0);
173uint64_t Features() {return XRDOSS_HASNAIO|XRDOSS_HASFICL;} // Turn async I/O off for disk and clone aware
174int GenLocalPath(const char *, char *);
175int GenRemotePath(const char *, char *);
176int Init(XrdSysLogger *, const char *, XrdOucEnv *envP);
177int Init(XrdSysLogger *lP, const char *cP) {return Init(lP, cP, 0);}
178int IsRemote(const char *path)
179 {return (RPList.Find(path) & XRDEXP_REMOTE) != 0;}
180int Lfn2Pfn(const char *Path, char *buff, int blen);
181const char *Lfn2Pfn(const char *Path, char *buff, int blen, int &rc);
182int Mkdir(const char *, mode_t mode, int mkpath=0, XrdOucEnv *eP=0);
183int Mkpath(const char *, mode_t mode);
184unsigned long long PathOpts(const char *path) {return RPList.Find(path);}
185int Reloc(const char *tident, const char *path,
186 const char *cgName, const char *anchor=0);
187int Remdir(const char *, int Opts=0, XrdOucEnv *eP=0); // In Unlink()
188int Rename(const char *, const char *,
189 XrdOucEnv *eP1=0, XrdOucEnv *eP2=0);
190virtual
191int Stage(const char *, const char *, XrdOucEnv &, int, mode_t, unsigned long long );
192void *Stage_In(void *carg);
193int Stat(const char *, struct stat *, int opts=0, XrdOucEnv *Env=0);
194int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *Env=0);
195int StatFS(const char *path, unsigned long long &Opt,
196 long long &fSize, long long &fSpace);
197int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen);
198int StatPF(const char *, struct stat *, int);
199int StatVS(XrdOssVSInfo *sP, const char *sname=0, int updt=0);
200int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *Env=0);
201int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *Env=0);
202int Truncate(const char *, unsigned long long Size, XrdOucEnv *eP=0);
203int Unlink(const char *, int Opts=0, XrdOucEnv *eP=0);
204
205int Stats(char *bp, int bl);
206
207static int AioInit();
208static int AioAllOk;
209
210static char tryMmap; // Memory mapped files enabled
211static char chkMmap; // Memory mapped files are selective
212
213int MSS_Closedir(void *);
214int MSS_Create(const char *path, mode_t, XrdOucEnv &);
215void *MSS_Opendir(const char *, int &rc);
216int MSS_Readdir(void *fd, char *buff, int blen);
217int MSS_Remdir(const char *, const char *) {return -ENOTSUP;}
218int MSS_Rename(const char *, const char *);
219int MSS_Stat(const char *, struct stat *buff=0);
220int MSS_Unlink(const char *);
221
222static const int MaxArgs = 15;
223
224char *ConfigFN; // -> Pointer to the config file name
225char *LocalRoot; // -> Path prefix for local filename
226char *RemoteRoot; // -> Path prefix for remote filename
227int MaxTwiddle; // Maximum seconds of internal wait
228int StageRealTime; // If 1, Invoke stage command on demand
229int StageAsync; // If 1, return EINPROGRESS to the caller
230int StageCreate; // If 1, use open path to create files
231int StageFormat; // Format for default stagecmd
232char *StageCmd; // -> Staging command to use
233char *StageMsg; // -> Staging message to be passed
234XrdOucMsubs *StageSnd; // -> Parsed Message
235XrdFrcProxy *StageFrm; // -> Built-in stagecmd or zero
236
237char *StageEvents; // -> file:////<adminpath> if async staging
238int StageEvSize; // Length of above
239int StageActLen; // Length of below
240char *StageAction; // -> "wq " if sync | "wfn " if async
241
244int StageAnum; // Count of valid Arg/Aln array elements
245char *RSSCmd; // -> Remote Storage Service Command
246int isMSSC; // RSSCmd is old-style msscmd
247int RSSTout; // RSSCmd response timeout
248long long MaxSize; // Maximum file size (*obsolete*)
249int FDFence; // Smallest file FD number allowed
250int FDLimit; // Largest file FD number allowed
251unsigned long long DirFlags;// Default directory settings
252int Trace; // Trace flags
253int Solitary; // True if running in stand-alone mode
254int OptFlags; // General option flags
255
256XrdOucPListAnchor SPList; // The path to space list
257#define spAssign 1
258
259char *N2N_Lib; // -> Name2Name Library Path
260char *N2N_Parms; // -> Name2Name Object Parameters
261XrdOucName2Name *lcl_N2N; // -> File mapper for local files
262XrdOucName2Name *rmt_N2N; // -> File mapper for remote files
263XrdOucName2Name *the_N2N; // -> File mapper object
264XrdOucPListAnchor RPList; // The real path list
265OssDPath *DPList; // The stat path list
267short numDP;
268short numCG;
269
270char *STT_Lib; // -> StatInfo Library Path
271char *STT_Parms; // -> StatInfo Library Paramaters
280
281long long prPBits; // Page lo order bit mask
282long long prPMask; // Page hi order bit mask
283int prPSize; // preread page size
284int prBytes; // preread byte limit
285int prActive; // preread activity count
286short prDepth; // preread depth
287short prQSize; // preread maximum allowed
288
289XrdVersionInfo *myVersion; // Compilation version set by constructor
290
291 XrdOssSys();
292virtual ~XrdOssSys() {}
293
294protected:
295// Cache management related data and methods
296//
297long long minalloc; // Minimum allocation
298int ovhalloc; // Allocation overage
299int fuzalloc; // Allocation fuzz
300int cscanint; // Seconds between cache scans
301int xfrspeed; // Average transfer speed (bytes/second)
302int xfrovhd; // Minimum seconds to get a file
303int xfrhold; // Second hold limit on failing requests
304int xfrkeep; // Second keep queued requests
305int xfrthreads; // Number of threads for staging
306int xfrtcount; // Actual count of threads (used for dtr)
307long long pndbytes; // Total bytes to be staged (pending)
308long long stgbytes; // Total bytes being staged (active)
309long long totbytes; // Total bytes were staged (active+pending)
310int totreqs; // Total successful requests
311int badreqs; // Total unsuccessful requests
312
313XrdOucProg *StageProg; // Command or manager than handles staging
314XrdOucProg *RSSProg; // Command for Remote Storage Services
315
316char *UDir; // -> Usage logdir
317char *QFile; // -> Quota file
318char *xfrFdir; // -> Fail file base dir
319int xfrFdln; // strlen(xfrFDir)
320short USync; // Usage sync interval
321bool pfcMode; // Setup for Proxy File Cache
322
325int BreakLink(const char *local_path, struct stat &statbuff);
326int CalcTime();
327int CalcTime(XrdOssStage_Req *req);
328int SetFattr(XrdOssCreateInfo &crInfo, int datfd, time_t mtime);
329void doScrub();
330int Find(XrdOssStage_Req *req, void *carg);
331int getCname(const char *path, struct stat *sbuff, char *cgbuff);
332int getStats(char *buff, int blen);
333int GetFile(XrdOssStage_Req *req);
334int getID(const char *, XrdOucEnv &, char *, int);
335time_t HasFile(const char *fn, const char *sfx, time_t *mTime=0);
336int Stage_QT(const char *, const char *, XrdOucEnv &, int, mode_t);
337int Stage_RT(const char *, const char *, XrdOucEnv &, unsigned long long);
338
339// Configuration related methods
340//
341void ConfigCache(XrdSysError &Eroute, bool pass2=false);
342void ConfigMio(XrdSysError &Eroute);
343int ConfigN2N(XrdSysError &Eroute, XrdOucEnv *envP);
344int ConfigProc(XrdSysError &Eroute);
345void ConfigSpace(XrdSysError &Eroute);
346void ConfigSpace(const char *Lfn);
347void ConfigSpath(XrdSysError &Eroute, const char *Pn,
348 unsigned long long &Fv, int noMSS);
349int ConfigStage(XrdSysError &Eroute);
350int ConfigStageC(XrdSysError &Eroute);
351int ConfigStatLib(XrdSysError &Eroute, XrdOucEnv *envP);
352void ConfigStats(XrdSysError &Eroute);
353void ConfigStats(dev_t Devnum, char *lP);
354int ConfigXeq(char *, XrdOucStream &, XrdSysError &);
355void List_Path(const char *, const char *, unsigned long long, XrdSysError &);
356int xalloc(XrdOucStream &Config, XrdSysError &Eroute);
357int xcache(XrdOucStream &Config, XrdSysError &Eroute);
358int xcachescan(XrdOucStream &Config, XrdSysError &Eroute);
359int xdefault(XrdOucStream &Config, XrdSysError &Eroute);
360int xfdlimit(XrdOucStream &Config, XrdSysError &Eroute);
361int xmaxsz(XrdOucStream &Config, XrdSysError &Eroute);
362int xmemf(XrdOucStream &Config, XrdSysError &Eroute);
363int xnml(XrdOucStream &Config, XrdSysError &Eroute);
364int xpath(XrdOucStream &Config, XrdSysError &Eroute);
365int xprerd(XrdOucStream &Config, XrdSysError &Eroute);
366int xspace(XrdOucStream &Config, XrdSysError &Eroute, int *isCD=0);
367int xspace(XrdOucStream &Config, XrdSysError &Eroute,
368 const char *grp, bool isAsgn);
369int xspaceBuild(OssSpaceConfig &sInfo, XrdSysError &Eroute);
370int xstg(XrdOucStream &Config, XrdSysError &Eroute);
371int xstl(XrdOucStream &Config, XrdSysError &Eroute);
372int xusage(XrdOucStream &Config, XrdSysError &Eroute);
373int xtrace(XrdOucStream &Config, XrdSysError &Eroute);
374int xxfr(XrdOucStream &Config, XrdSysError &Eroute);
375
376// Mass storage related methods
377//
378int tranmode(char *);
379int MSS_Xeq(XrdOucStream **xfd, int okerr,
380 const char *cmd, const char *arg1=0, const char *arg2=0);
381
382// Other methods
383//
384int RenameLink(char *old_path, char *new_path);
385int RenameLink3(char *cPath, char *old_path, char *new_path);
386};
387
388/******************************************************************************/
389/* A P I S p e c i f i c D e f i n e s */
390/******************************************************************************/
391
392// The Check_RO macro is valid only for XrdOssSys objects.
393//
394#define Check_RO(act, flags, path, opname) \
395 XRDEXP_REMOTE & (flags = PathOpts(path)); \
396 if (flags & XRDEXP_NOTRW) \
397 return OssEroute.Emsg(#act, -XRDOSS_E8005, opname, path)
398
399#define Check_RW(act, path, opname) \
400 if (PathOpts(path) & XRDEXP_NOTRW) \
401 return OssEroute.Emsg(#act, -XRDOSS_E8005, opname, path)
402#endif
#define tident
struct stat Stat
Definition XrdCks.cc:49
XrdOssStatInfo_t STT_Func
XrdOssStatInfo2_t STT_Fund
int(* XrdOssStatInfo2_t)(const char *path, struct stat *buff, int opts, XrdOucEnv *envP, const char *lfn)
int(* XrdOssStatInfo_t)(const char *path, struct stat *buff, int opts, XrdOucEnv *envP)
#define XRDOSS_HASFICL
Definition XrdOss.hh:544
#define XRDOSS_HASNAIO
Definition XrdOss.hh:541
#define XRDEXP_REMOTE
#define stat(a, b)
Definition XrdPosix.hh:101
XrdOucString Path
bool Create
struct myOpts opts
#define dirfd(x)
static const uint16_t DF_isFile
Object is for a file.
Definition XrdOss.hh:433
XrdOssDF(const char *tid="", uint16_t dftype=0, int fdnum=-1)
Definition XrdOss.hh:504
int fd
Definition XrdOss.hh:515
static const uint16_t DF_isDir
Object is for a directory.
Definition XrdOss.hh:432
int StatRet(struct stat *buff)
Definition XrdOssApi.cc:697
int Opendir(const char *, XrdOucEnv &)
Definition XrdOssApi.cc:557
XrdOssDir(const char *tid, DIR *dP=0)
Definition XrdOssApi.hh:62
int getFD()
Definition XrdOssApi.hh:59
int Readdir(char *buff, int blen)
Definition XrdOssApi.cc:643
int Close(long long *retsz=0)
Definition XrdOssApi.cc:731
int Fctl(int cmd, int alen, const char *args, char **resp=0)
Definition XrdOssApi.cc:774
virtual int Close(long long *retsz=0)
Definition XrdOssApi.cc:912
virtual ~XrdOssFile()
Definition XrdOssApi.hh:128
int Clone(XrdOssDF &srcFile)
Definition XrdOssApi.cc:273
int Fchmod(mode_t mode)
int isCompressed(char *cxidp=0)
ssize_t Read(off_t, size_t)
Definition XrdOssApi.cc:945
int Fctl(int cmd, int alen, const char *args, char **resp=0)
virtual int Open(const char *, int, mode_t, XrdOucEnv &)
Definition XrdOssApi.cc:816
off_t getMmap(void **addr)
int Fstat(struct stat *)
XrdOssFile(const char *tid, int fdnum=-1)
Definition XrdOssApi.hh:122
void Flush()
Flush filesystem cached pages for this file (used for checksums).
ssize_t ReadV(XrdOucIOVec *readV, int)
int getFD()
Definition XrdOssApi.hh:110
int Ftruncate(unsigned long long)
ssize_t Write(const void *, off_t, size_t)
ssize_t ReadRaw(void *, off_t, size_t)
void Config_Display(XrdSysError &)
int xstg(XrdOucStream &Config, XrdSysError &Eroute)
int GenRemotePath(const char *, char *)
Definition XrdOssApi.cc:254
int StageCreate
Definition XrdOssApi.hh:230
XrdOucPListAnchor SPList
Definition XrdOssApi.hh:256
char STT_DoN2N
Definition XrdOssApi.hh:277
char STT_V2
Definition XrdOssApi.hh:278
int ConfigXeq(char *, XrdOucStream &, XrdSysError &)
virtual int Stage(const char *, const char *, XrdOucEnv &, int, mode_t, unsigned long long)
int Configure(const char *, XrdSysError &, XrdOucEnv *envP)
char * LocalRoot
Definition XrdOssApi.hh:225
OssDPath * DPList
Definition XrdOssApi.hh:265
int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen)
int STT_PreOp
Definition XrdOssApi.hh:276
int MSS_Readdir(void *fd, char *buff, int blen)
Definition XrdOssMSS.cc:140
int SetFattr(XrdOssCreateInfo &crInfo, int datfd, time_t mtime)
int MSS_Rename(const char *, const char *)
Definition XrdOssMSS.cc:360
char * N2N_Parms
Definition XrdOssApi.hh:260
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:268
long long totbytes
Definition XrdOssApi.hh:309
long long minalloc
Definition XrdOssApi.hh:297
int StageAln[MaxArgs]
Definition XrdOssApi.hh:243
int IsRemote(const char *path)
Definition XrdOssApi.hh:178
int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *Env=0)
int Init(XrdSysLogger *, const char *, XrdOucEnv *envP)
Definition XrdOssApi.cc:191
int tranmode(char *)
Definition XrdOssMSS.cc:314
char * StageEvents
Definition XrdOssApi.hh:237
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)
Definition XrdOssApi.cc:366
int getCname(const char *path, struct stat *sbuff, char *cgbuff)
int StageRealTime
Definition XrdOssApi.hh:228
short prDepth
Definition XrdOssApi.hh:286
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:211
int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *Env=0)
int xfrthreads
Definition XrdOssApi.hh:305
int xspace(XrdOucStream &Config, XrdSysError &Eroute, int *isCD=0)
void List_Path(const char *, const char *, unsigned long long, XrdSysError &)
char * QFile
Definition XrdOssApi.hh:317
int MSS_Closedir(void *)
Definition XrdOssMSS.cc:185
int xmemf(XrdOucStream &Config, XrdSysError &Eroute)
int RenameLink3(char *cPath, char *old_path, char *new_path)
static int AioInit()
Definition XrdOssAio.cc:281
void * Stage_In(void *carg)
char * ConfigFN
Definition XrdOssApi.hh:224
int StageFormat
Definition XrdOssApi.hh:231
void ConfigMio(XrdSysError &Eroute)
void ConfigStats(XrdSysError &Eroute)
virtual ~XrdOssSys()
Definition XrdOssApi.hh:292
char * StageAction
Definition XrdOssApi.hh:240
int xcachescan(XrdOucStream &Config, XrdSysError &Eroute)
char STT_DoARE
Definition XrdOssApi.hh:279
char * UDir
Definition XrdOssApi.hh:316
int StageActLen
Definition XrdOssApi.hh:239
short USync
Definition XrdOssApi.hh:320
int xfdlimit(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigN2N(XrdSysError &Eroute, XrdOucEnv *envP)
XrdOucProg * StageProg
Definition XrdOssApi.hh:313
XrdOucName2Name * the_N2N
Definition XrdOssApi.hh:263
int Alloc_Cache(XrdOssCreateInfo &, XrdOucEnv &, bool)
int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *Env=0)
short prQSize
Definition XrdOssApi.hh:287
char * StageArg[MaxArgs]
Definition XrdOssApi.hh:242
long long MaxSize
Definition XrdOssApi.hh:248
int StageAnum
Definition XrdOssApi.hh:244
unsigned long long PathOpts(const char *path)
Definition XrdOssApi.hh:184
int Mkpath(const char *, mode_t mode)
Definition XrdOssApi.cc:413
static const int MaxArgs
Definition XrdOssApi.hh:222
int GetFile(XrdOssStage_Req *req)
int Init(XrdSysLogger *lP, const char *cP)
Definition XrdOssApi.hh:177
int Rename(const char *, const char *, XrdOucEnv *eP1=0, XrdOucEnv *eP2=0)
int GenLocalPath(const char *, char *)
Definition XrdOssApi.cc:237
int MSS_Unlink(const char *)
Definition XrdOssMSS.cc:333
XrdOucName2Name * lcl_N2N
Definition XrdOssApi.hh:261
long long prPMask
Definition XrdOssApi.hh:282
long long prPBits
Definition XrdOssApi.hh:281
virtual XrdOssDF * newFile(const char *tident)
Definition XrdOssApi.hh:165
int xspaceBuild(OssSpaceConfig &sInfo, XrdSysError &Eroute)
int BreakLink(const char *local_path, struct stat &statbuff)
int StageAsync
Definition XrdOssApi.hh:229
int xprerd(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigStatLib(XrdSysError &Eroute, XrdOucEnv *envP)
XrdOucProg * RSSProg
Definition XrdOssApi.hh:314
char * STT_Parms
Definition XrdOssApi.hh:271
virtual XrdOssDF * newDir(const char *tident)
Definition XrdOssApi.hh:163
long long pndbytes
Definition XrdOssApi.hh:307
int xpath(XrdOucStream &Config, XrdSysError &Eroute)
static char tryMmap
Definition XrdOssApi.hh:210
int Lfn2Pfn(const char *Path, char *buff, int blen)
Definition XrdOssApi.cc:213
XrdVersionInfo * myVersion
Definition XrdOssApi.hh:289
char * N2N_Lib
Definition XrdOssApi.hh:259
int MSS_Stat(const char *, struct stat *buff=0)
Definition XrdOssMSS.cc:253
int MSS_Remdir(const char *, const char *)
Definition XrdOssApi.hh:217
int xcache(XrdOucStream &Config, XrdSysError &Eroute)
long long stgbytes
Definition XrdOssApi.hh:308
int Find(XrdOssStage_Req *req, void *carg)
void ConfigSpath(XrdSysError &Eroute, const char *Pn, unsigned long long &Fv, int noMSS)
char * STT_Lib
Definition XrdOssApi.hh:270
int ConfigStageC(XrdSysError &Eroute)
int CalcTime()
XrdOucMsubs * StageSnd
Definition XrdOssApi.hh:234
int xxfr(XrdOucStream &Config, XrdSysError &Eroute)
short numDP
Definition XrdOssApi.hh:267
XrdFrcProxy * StageFrm
Definition XrdOssApi.hh:235
unsigned long long DirFlags
Definition XrdOssApi.hh:251
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)
Definition XrdOssApi.cc:332
int MSS_Create(const char *path, mode_t, XrdOucEnv &)
Definition XrdOssMSS.cc:206
int StageEvSize
Definition XrdOssApi.hh:238
int getID(const char *, XrdOucEnv &, char *, int)
XrdOucPListAnchor RPList
Definition XrdOssApi.hh:264
int Stats(char *bp, int bl)
Definition XrdOssApi.cc:456
static int AioAllOk
Definition XrdOssApi.hh:208
int ConfigProc(XrdSysError &Eroute)
bool pfcMode
Definition XrdOssApi.hh:321
int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0)
int xfrtcount
Definition XrdOssApi.hh:306
int RenameLink(char *old_path, char *new_path)
int Truncate(const char *, unsigned long long Size, XrdOucEnv *eP=0)
Definition XrdOssApi.cc:502
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)
Definition XrdOssMSS.cc:383
void ConfigCache(XrdSysError &Eroute, bool pass2=false)
char * StageCmd
Definition XrdOssApi.hh:232
char * StageMsg
Definition XrdOssApi.hh:233
char * RemoteRoot
Definition XrdOssApi.hh:226
int xmaxsz(XrdOucStream &Config, XrdSysError &Eroute)
uint64_t Features()
Definition XrdOssApi.hh:173
int Alloc_Local(XrdOssCreateInfo &, XrdOucEnv &)
int MaxTwiddle
Definition XrdOssApi.hh:227
char * RSSCmd
Definition XrdOssApi.hh:245
int xdefault(XrdOucStream &Config, XrdSysError &Eroute)
void * MSS_Opendir(const char *, int &rc)
Definition XrdOssMSS.cc:102
int xnml(XrdOucStream &Config, XrdSysError &Eroute)
XrdOucName2Name * rmt_N2N
Definition XrdOssApi.hh:262
int xalloc(XrdOucStream &Config, XrdSysError &Eroute)
char * xfrFdir
Definition XrdOssApi.hh:318
XrdOss()
Constructor and Destructor.
Definition XrdOss.hh:978