33 #include <sys/types.h>
54 int Close(
long long *retsz=0);
56 int Readdir(
char *buff,
int blen);
63 lclfd(dP), mssfd(0), Stat(0), ateof(false),
64 isopen(dP != 0), dOpts(0) {
if (dP)
fd =
dirfd(dP);}
74 static const int isStage = 0x01;
75 static const int noCheck = 0x02;
76 static const int noDread = 0x04;
95 virtual int Close(
long long *retsz=0);
99 int Fctl(
int cmd,
int alen,
const char *args,
char **resp=0);
108 ssize_t
Read( off_t,
size_t);
109 ssize_t
Read(
void *, off_t,
size_t);
112 ssize_t
ReadRaw(
void *, off_t,
size_t);
113 ssize_t
Write(
const void *, off_t,
size_t);
119 cxobj(0), cacheP(0), mmFile(0),
120 rawio(0), cxpgsz(0) {cxid[0] =
'\0';}
125 int Open_ufs(
const char *,
int,
int,
unsigned long long);
127 static int AioFailure;
151 struct XrdVersionInfo;
173 int Lfn2Pfn(
const char *
Path,
char *buff,
int blen);
174 const char *
Lfn2Pfn(
const char *
Path,
char *buff,
int blen,
int &rc);
175 int Mkdir(
const char *, mode_t mode,
int mkpath=0,
XrdOucEnv *eP=0);
176 int Mkpath(
const char *, mode_t mode);
179 const char *cgName,
const char *anchor=0);
181 int Rename(
const char *,
const char *,
184 int Stage(
const char *,
const char *,
XrdOucEnv &,
int, mode_t,
unsigned long long );
188 int StatFS(
const char *path,
unsigned long long &Opt,
189 long long &fSize,
long long &fSpace);
194 int StatXP(
const char *path,
unsigned long long &attr,
XrdOucEnv *Env=0);
198 int Stats(
char *bp,
int bl);
210 int MSS_Remdir(
const char *,
const char *) {
return -ENOTSUP;}
318 int BreakLink(
const char *local_path,
struct stat &statbuff);
324 int getCname(
const char *path,
struct stat *sbuff,
char *cgbuff);
328 time_t
HasFile(
const char *fn,
const char *sfx, time_t *mTime=0);
341 unsigned long long &Fv,
int noMSS);
361 const char *grp,
bool isAsgn);
373 const char *cmd,
const char *arg1=0,
const char *arg2=0);
377 int RenameLink(
char *old_path,
char *new_path);
378 int RenameLink3(
char *cPath,
char *old_path,
char *new_path);
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)
392 #define Check_RW(act, path, opname) \
393 if (PathOpts(path) & XRDEXP_NOTRW) \
394 return OssEroute.Emsg(#act, -XRDOSS_E8005, opname, path)
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)
int stat(const char *path, struct stat *buf)
static const uint16_t DF_isFile
Object is for a file.
static const uint16_t DF_isDir
Object is for a directory.
int StatRet(struct stat *buff)
int Opendir(const char *, XrdOucEnv &)
XrdOssDir(const char *tid, DIR *dP=0)
int Readdir(char *buff, int blen)
int Close(long long *retsz=0)
virtual int Close(long long *retsz=0)
int isCompressed(char *cxidp=0)
ssize_t Read(off_t, size_t)
int Fctl(int cmd, int alen, const char *args, char **resp=0)
virtual int Open(const char *, int, mode_t, XrdOucEnv &)
off_t getMmap(void **addr)
XrdOssFile(const char *tid, int fdnum=-1)
void Flush()
Flush filesystem cached pages for this file (used for checksums).
ssize_t ReadV(XrdOucIOVec *readV, int)
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 *)
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)
int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen)
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 *)
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)
int IsRemote(const char *path)
int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *Env=0)
int Init(XrdSysLogger *, const char *, XrdOucEnv *envP)
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 Unlink(const char *, int Opts=0, XrdOucEnv *eP=0)
int ConfigStage(XrdSysError &Eroute)
int xusage(XrdOucStream &Config, XrdSysError &Eroute)
int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *Env=0)
int xspace(XrdOucStream &Config, XrdSysError &Eroute, int *isCD=0)
void List_Path(const char *, const char *, unsigned long long, XrdSysError &)
int xmemf(XrdOucStream &Config, XrdSysError &Eroute)
int RenameLink3(char *cPath, char *old_path, char *new_path)
void * Stage_In(void *carg)
int Alloc_Cache(XrdOssCreateInfo &, XrdOucEnv &)
void ConfigMio(XrdSysError &Eroute)
void ConfigStats(XrdSysError &Eroute)
int xcachescan(XrdOucStream &Config, XrdSysError &Eroute)
int xfdlimit(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigN2N(XrdSysError &Eroute, XrdOucEnv *envP)
XrdOucName2Name * the_N2N
int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *Env=0)
virtual int Create(const char *, const char *, mode_t, XrdOucEnv &, int opts=0)
unsigned long long PathOpts(const char *path)
int Mkpath(const char *, mode_t mode)
int GetFile(XrdOssStage_Req *req)
int Init(XrdSysLogger *lP, const char *cP)
int Rename(const char *, const char *, XrdOucEnv *eP1=0, XrdOucEnv *eP2=0)
int GenLocalPath(const char *, char *)
int MSS_Unlink(const char *)
XrdOucName2Name * lcl_N2N
int xspaceBuild(OssSpaceConfig &sInfo, XrdSysError &Eroute)
int BreakLink(const char *local_path, struct stat &statbuff)
int xprerd(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigStatLib(XrdSysError &Eroute, XrdOucEnv *envP)
virtual XrdOssDF * newFile(const char *tident)
int xpath(XrdOucStream &Config, XrdSysError &Eroute)
int Lfn2Pfn(const char *Path, char *buff, int blen)
XrdVersionInfo * myVersion
int MSS_Stat(const char *, struct stat *buff=0)
int MSS_Remdir(const char *, const char *)
int xcache(XrdOucStream &Config, XrdSysError &Eroute)
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)
int ConfigStageC(XrdSysError &Eroute)
int xxfr(XrdOucStream &Config, XrdSysError &Eroute)
unsigned long long DirFlags
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 getID(const char *, XrdOucEnv &, char *, int)
int Stats(char *bp, int bl)
int ConfigProc(XrdSysError &Eroute)
int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0)
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)
int xmaxsz(XrdOucStream &Config, XrdSysError &Eroute)
int Alloc_Local(XrdOssCreateInfo &, XrdOucEnv &)
virtual XrdOssDF * newDir(const char *tident)
int xdefault(XrdOucStream &Config, XrdSysError &Eroute)
void * MSS_Opendir(const char *, int &rc)
int xnml(XrdOucStream &Config, XrdSysError &Eroute)
XrdOucName2Name * rmt_N2N
int xalloc(XrdOucStream &Config, XrdSysError &Eroute)
unsigned long long Find(const char *pathname)