39 #include <sys/types.h>
92 virtual int Readdir(
char *buff,
int blen) {
return -ENOTDIR;}
120 virtual int Fchmod(mode_t mode) {
return -EISDIR;}
144 virtual int Fsync() {
return -EISDIR;}
164 virtual int Ftruncate(
unsigned long long) {
return -EISDIR;}
176 virtual off_t
getMmap(
void **addr) {*addr = 0;
return 0;}
222 static const uint64_t
224 static const uint64_t
227 virtual ssize_t
pgRead (
void* buffer, off_t offset,
size_t rdlen,
228 uint32_t* csvec, uint64_t opts);
261 virtual ssize_t
pgWrite(
void* buffer, off_t offset,
size_t wrlen,
262 uint32_t* csvec, uint64_t opts);
285 virtual ssize_t
Read(off_t offset,
size_t size) {
return (ssize_t)-EISDIR;}
298 virtual ssize_t
Read(
void *buffer, off_t offset,
size_t size)
299 {
return (ssize_t)-EISDIR;}
323 virtual ssize_t
ReadRaw(
void *buffer, off_t offset,
size_t size)
324 {
return (ssize_t)-EISDIR;}
349 virtual ssize_t
Write(
const void *buffer, off_t offset,
size_t size)
350 {
return (ssize_t)-EISDIR;}
386 virtual int Close(
long long *retsz=0)=0;
422 virtual int Fctl(
int cmd,
int alen,
const char *args,
char **resp=0);
448 XrdOssDF(
const char *tid=
"", uint16_t dftype=0,
int fdnum=-1)
470 #define XRDOSS_mkpath 0x01
471 #define XRDOSS_new 0x02
472 #define XRDOSS_Online 0x04
473 #define XRDOSS_isPFN 0x10
474 #define XRDOSS_isMIG 0x20
475 #define XRDOSS_setnoxa 0x40
479 #define XRDOSS_HASPGRW 0x0000000000000001ULL
480 #define XRDOSS_HASFSCS 0x0000000000000002ULL
481 #define XRDOSS_HASPRXY 0x0000000000000004ULL
482 #define XRDOSS_HASNOSF 0x0000000000000008ULL
486 #define XRDOSS_resonly 0x0001
487 #define XRDOSS_updtatm 0x0002
488 #define XRDOSS_preop 0x0004
492 #define XRDOSS_FSCTLFA 0x0001
598 virtual int FSctl(
int cmd,
int alen,
const char *args,
char **resp=0);
622 {
return Init(lp, cfn);}
635 virtual int Mkdir(
const char *path, mode_t mode,
int mkpath=0,
649 virtual int Reloc(
const char *tident,
const char *path,
650 const char *cgName,
const char *anchor=0);
677 virtual int Rename(
const char *oPath,
const char *nPath,
694 virtual int Stat(
const char *path,
struct stat *buff,
706 virtual int Stats(
char *buff,
int blen) {(void)buff; (void)blen;
return 0;}
728 virtual int StatFS(
const char *path,
char *buff,
int &blen,
752 char *buff,
int &blen);
785 virtual int StatPF(
const char *path,
struct stat *buff,
int opts);
788 {
return StatPF(path, buff, 0);}
821 virtual int StatXA(
const char *path,
char *buff,
int &blen,
834 virtual int StatXP(
const char *path,
unsigned long long &attr,
847 virtual int Truncate(
const char *path,
unsigned long long fsize,
877 virtual int Lfn2Pfn(
const char *Path,
char *buff,
int blen)
878 {
if ((
int)strlen(Path) >= blen)
return -ENAMETOOLONG;
879 strcpy(buff, Path);
return 0;
894 const char *
Lfn2Pfn(
const char *Path,
char *buff,
int blen,
int &rc)
895 { (void)buff; (void)blen; rc = 0;
return Path;}
940 const char *config_fn,
945 const char *config_fn,
XrdOssGetStorageSystem2_t XrdOssAddStorageSystem2_t
Definition: XrdOss.hh:949
XrdOss *(* XrdOssGetStorageSystem2_t)(XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)
Definition: XrdOss.hh:943
#define stat(a, b)
Definition: XrdPosix.hh:96
uint16_t dfType
Definition: XrdOss.hh:460
virtual int Fsync()
Definition: XrdOss.hh:144
static const uint16_t DF_isFile
Object is for a file.
Definition: XrdOss.hh:397
static const uint64_t doCalc
pgw: Calculate checksums
Definition: XrdOss.hh:225
const char * tident
Definition: XrdOss.hh:457
virtual int pgWrite(XrdSfsAio *aoiparm, uint64_t opts)
virtual int Ftruncate(unsigned long long)
Definition: XrdOss.hh:164
virtual int isCompressed(char *cxidp=0)
Definition: XrdOss.hh:187
virtual int Opendir(const char *path, XrdOucEnv &env)
Definition: XrdOss.hh:79
virtual int Read(XrdSfsAio *aoip)
Definition: XrdOss.hh:310
virtual int Write(XrdSfsAio *aiop)
Definition: XrdOss.hh:361
XrdOssDF(const char *tid="", uint16_t dftype=0, int fdnum=-1)
Definition: XrdOss.hh:448
virtual const char * getTID()
Definition: XrdOss.hh:438
int fd
Definition: XrdOss.hh:459
static const int Fctl_utimes
Definition: XrdOss.hh:420
virtual int Readdir(char *buff, int blen)
Definition: XrdOss.hh:92
virtual int Fstat(struct stat *buf)
Definition: XrdOss.hh:136
off_t pgwEOF
Definition: XrdOss.hh:458
virtual ssize_t ReadV(XrdOucIOVec *readV, int rdvcnt)
static const uint64_t Verify
all: Verify checksums
Definition: XrdOss.hh:223
virtual ssize_t ReadRaw(void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:323
virtual ssize_t WriteV(XrdOucIOVec *writeV, int wrvcnt)
virtual int Close(long long *retsz=0)=0
virtual int getFD()
Definition: XrdOss.hh:430
static const uint16_t DF_isDir
Object is for a directory.
Definition: XrdOss.hh:396
virtual int Open(const char *path, int Oflag, mode_t Mode, XrdOucEnv &env)
Definition: XrdOss.hh:200
virtual ~XrdOssDF()
Definition: XrdOss.hh:452
virtual ssize_t Read(off_t offset, size_t size)
Definition: XrdOss.hh:285
virtual ssize_t pgWrite(void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts)
virtual ssize_t Read(void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:298
short rsvd
Definition: XrdOss.hh:461
virtual int Fchmod(mode_t mode)
Definition: XrdOss.hh:120
virtual int Fsync(XrdSfsAio *aiop)
Definition: XrdOss.hh:154
static const int Fctl_ckpObj
Definition: XrdOss.hh:419
virtual int Fctl(int cmd, int alen, const char *args, char **resp=0)
virtual ssize_t pgRead(void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts)
virtual int pgRead(XrdSfsAio *aioparm, uint64_t opts)
static const uint16_t DF_isProxy
Object is a proxy object.
Definition: XrdOss.hh:398
virtual void Flush()
Flush filesystem cached pages for this file (used for checksums).
Definition: XrdOss.hh:126
virtual off_t getMmap(void **addr)
Definition: XrdOss.hh:176
virtual int StatRet(struct stat *)
Definition: XrdOss.hh:107
uint16_t DFType()
Definition: XrdOss.hh:400
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:349
Definition: XrdOssVS.hh:88
Definition: XrdOss.hh:499
virtual int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0)
virtual int Mkdir(const char *path, mode_t mode, int mkpath=0, XrdOucEnv *envP=0)=0
virtual int StatPF(const char *path, struct stat *buff, int opts)
static const int PF_dStat
Definition: XrdOss.hh:777
virtual int StatVS(XrdOssVSInfo *vsP, const char *sname=0, int updt=0)
static const int PF_dNums
Definition: XrdOss.hh:775
static const int PF_csVer
verified file checksums present
Definition: XrdOss.hh:782
virtual void Connect(XrdOucEnv &env)
virtual int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *envP=0)
virtual XrdOssDF * newDir(const char *tident)=0
virtual void Disc(XrdOucEnv &env)
virtual int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
virtual int Chmod(const char *path, mode_t mode, XrdOucEnv *envP=0)=0
static const int PF_csVun
unverified file checksums present
Definition: XrdOss.hh:783
virtual int Lfn2Pfn(const char *Path, char *buff, int blen)
Definition: XrdOss.hh:877
virtual int Remdir(const char *path, int Opts=0, XrdOucEnv *envP=0)=0
virtual int Init(XrdSysLogger *lp, const char *cfn)=0
virtual int Init(XrdSysLogger *lp, const char *cfn, XrdOucEnv *envP)
Definition: XrdOss.hh:621
static const int PF_dInfo
Definition: XrdOss.hh:774
virtual int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
virtual int Rename(const char *oPath, const char *nPath, XrdOucEnv *oEnvP=0, XrdOucEnv *nEnvP=0)=0
virtual const char * Lfn2Pfn(const char *Path, char *buff, int blen, int &rc)
Definition: XrdOss.hh:894
virtual void EnvInfo(XrdOucEnv *envP)
virtual XrdOssDF * newFile(const char *tident)=0
XrdOss()
Constructor and Destructor.
Definition: XrdOss.hh:901
virtual int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen)
virtual int Truncate(const char *path, unsigned long long fsize, XrdOucEnv *envP=0)=0
virtual int Stats(char *buff, int blen)
Definition: XrdOss.hh:706
virtual int FSctl(int cmd, int alen, const char *args, char **resp=0)
virtual int Stat(const char *path, struct stat *buff, int opts=0, XrdOucEnv *envP=0)=0
virtual int Create(const char *, const char *, mode_t, XrdOucEnv &, int opts=0)=0
virtual int Unlink(const char *path, int Opts=0, XrdOucEnv *envP=0)=0
virtual ~XrdOss()
Definition: XrdOss.hh:902
virtual int StatPF(const char *path, struct stat *buff)
Definition: XrdOss.hh:787
static const int PF_isLFN
Definition: XrdOss.hh:776
virtual uint64_t Features()
Definition: XrdOucEnv.hh:42
Definition: XrdSfsAio.hh:59
Definition: XrdSysLogger.hh:53
Definition: XrdOucIOVec.hh:41