70 if (fsFile)
delete fsFile;
90 if (fsFile)
return fsFile->
close();
94 return fSessP->
close();
108 if (fsFile)
return fsFile->
fctl(cmd, args, out_error);
132 if (fsFile)
return fsFile->
fctl(cmd, alen, args, client);
136 return fSessP->
fctl(cmd, alen, args, client);
148 if (fsFile)
return fsFile->
FName();
152 return fSessP->
FName();
173 if (fsFile)
return fsFile->
getCXinfo(cxtype, cxrsz);
196 if (fsFile)
return fsFile->
getMmap(Addr, Size);
226 static const char *epname =
"open";
231 if (fsFile || fSessP)
239 return fsFile->
open(path, open_mode,
Mode, client, info);
249 eNum = fSessP->
open(path, Open_Env, open_mode);
250 if (eNum) {fSessP->
Recycle(); fSessP = 0;}
272 if (fsFile)
return fsFile->
read(offset, blen);
301 if (fsFile)
return fsFile->
read(offset, buff, blen);
305 return fSessP->
read(offset, buff, blen);
317 if (fsFile)
return fsFile->
read(aiop);
348 if (fsFile)
return fsFile->
readv(readV, readCount);
364 if (fsFile)
return fsFile->
SendData(sfDio, offset, size);
368 return fSessP->
SendData(sfDio, offset, size);
377 if (fSessP) fSessP->
setXio(xP);
378 if (fsFile) fsFile->
setXio(xP);
397 if (fsFile)
return fsFile->
stat(buf);
401 memset(buf, 0 ,
sizeof(
struct stat));
421 if (fsFile)
return fsFile->
sync();
437 if (fsFile)
return fsFile->
sync(aiop);
460 if (fsFile)
return fsFile->
truncate(flen);
492 if (fsFile)
return fsFile->
write(offset, buff, blen);
496 return fSessP->
write(offset, buff, blen);
508 if (fsFile)
return fsFile->
write(aiop);
long long XrdSfsFileOffset
const char * getErrUser()
unsigned long long Find(const char *pathname)
virtual void doneRead()=0
virtual void doneWrite()=0
virtual XrdSfsFile * newFile(char *user=0, int MonID=0)=0
virtual int SendData(XrdSfsDio *sfDio, XrdSfsFileOffset offset, XrdSfsXferSize size)
virtual int getMmap(void **Addr, off_t &Size)=0
virtual int open(const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual XrdSfsXferSize read(XrdSfsFileOffset offset, XrdSfsXferSize size)=0
virtual XrdSfsXferSize readv(XrdOucIOVec *readV, int rdvCnt)
virtual int truncate(XrdSfsFileOffset fsize)=0
virtual const char * FName()=0
virtual int getCXinfo(char cxtype[4], int &cxrsz)=0
virtual int stat(struct stat *buf)=0
virtual void setXio(XrdSfsXio *xioP)
virtual int fctl(const int cmd, const char *args, XrdOucErrInfo &eInfo)=0
virtual XrdSfsXferSize write(XrdSfsFileOffset offset, const char *buffer, XrdSfsXferSize size)=0
void setXio(XrdSfsXio *xP)
int fctl(const int cmd, int alen, const char *args, const XrdSecEntity *client)
int open(const char *fileName, XrdOucEnv &theEnv, XrdSfsFileOpenMode openMode)
int close(bool viaDel=false)
XrdSfsXferSize write(XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size)
XrdSfsXferSize read(XrdSfsFileOffset fileOffset, char *buffer, XrdSfsXferSize buffer_size)
int truncate(XrdSfsFileOffset fileOffset)
int SendData(XrdSfsDio *sfDio, XrdSfsFileOffset offset, XrdSfsXferSize size)
static XrdSsiFileSess * Alloc(XrdOucErrInfo &einfo, const char *user)
XrdSfsXferSize readv(XrdOucIOVec *readV, int readCount)
int fctl(const int cmd, const char *args, XrdOucErrInfo &out_error)
XrdSfsXferSize write(XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size)
int getCXinfo(char cxtype[4], int &cxrsz)
void setXio(XrdSfsXio *xP)
int getMmap(void **Addr, off_t &Size)
int stat(struct stat *buf)
int open(const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client=0, const char *opaque=0)
int truncate(XrdSfsFileOffset fileOffset)
int read(XrdSfsFileOffset fileOffset, XrdSfsXferSize preread_sz)
int SendData(XrdSfsDio *sfDio, XrdSfsFileOffset offset, XrdSfsXferSize size)
static int Emsg(const char *pfx, int ecode, const char *op, const char *path, XrdOucErrInfo &eDest)