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 flen) {
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);
257 virtual ssize_t
pgWrite(
void* buffer, off_t offset,
size_t wrlen,
258 uint32_t* csvec, uint64_t
opts);
281 virtual ssize_t
Read(off_t offset,
size_t size) {
return (ssize_t)-EISDIR;}
294 virtual ssize_t
Read(
void *buffer, off_t offset,
size_t size)
295 {
return (ssize_t)-EISDIR;}
319 virtual ssize_t
ReadRaw(
void *buffer, off_t offset,
size_t size)
320 {
return (ssize_t)-EISDIR;}
345 virtual ssize_t
Write(
const void *buffer, off_t offset,
size_t size)
346 {
return (ssize_t)-EISDIR;}
382 virtual int Close(
long long *retsz=0)=0;
418 virtual int Fctl(
int cmd,
int alen,
const char *args,
char **resp=0);
444 XrdOssDF(
const char *tid=
"", uint16_t dftype=0,
int fdnum=-1)
466 #define XRDOSS_mkpath 0x01
467 #define XRDOSS_new 0x02
468 #define XRDOSS_Online 0x04
469 #define XRDOSS_isPFN 0x10
470 #define XRDOSS_isMIG 0x20
471 #define XRDOSS_setnoxa 0x40
475 #define XRDOSS_HASPGRW 0x0000000000000001ULL
476 #define XRDOSS_HASFSCS 0x0000000000000002ULL
477 #define XRDOSS_HASPRXY 0x0000000000000004ULL
478 #define XRDOSS_HASNOSF 0x0000000000000008ULL
479 #define XRDOSS_HASCACH 0x0000000000000010ULL
480 #define XRDOSS_HASNAIO 0x0000000000000020ULL
481 #define XRDOSS_HASRPXY 0x0000000000000040ULL
482 #define XRDOSS_HASXERT 0x0000000000000080ULL
486 #define XRDOSS_resonly 0x0001
487 #define XRDOSS_updtatm 0x0002
488 #define XRDOSS_preop 0x0004
492 #define XRDOSS_FSCTLFA 0x0001
559 virtual int Create(
const char *tid,
const char *path,
599 virtual int FSctl(
int cmd,
int alen,
const char *args,
char **resp=0);
623 {
return Init(lp, cfn);}
636 virtual int Mkdir(
const char *path, mode_t mode,
int mkpath=0,
650 virtual int Reloc(
const char *
tident,
const char *path,
651 const char *cgName,
const char *anchor=0);
678 virtual int Rename(
const char *oPath,
const char *nPath,
695 virtual int Stat(
const char *path,
struct stat *buff,
707 virtual int Stats(
char *buff,
int blen) {(void)buff; (void)blen;
return 0;}
726 virtual int StatFS(
const char *path,
char *buff,
int &blen,
748 char *buff,
int &blen);
781 virtual int StatPF(
const char *path,
struct stat *buff,
int opts);
784 {
return StatPF(path, buff, 0);}
817 virtual int StatXA(
const char *path,
char *buff,
int &blen,
830 virtual int StatXP(
const char *path,
unsigned long long &attr,
843 virtual int Truncate(
const char *path,
unsigned long long fsize,
874 {
if ((
int)strlen(
Path) >= blen)
return -ENAMETOOLONG;
875 strcpy(buff,
Path);
return 0;
890 const char *
Lfn2Pfn(
const char *
Path,
char *buff,
int blen,
int &rc)
891 { (void)buff; (void)blen; rc = 0;
return Path;}
936 const char *config_fn,
941 const char *config_fn,
XrdOssGetStorageSystem2_t XrdOssAddStorageSystem2_t
XrdOss *(* XrdOssGetStorageSystem2_t)(XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)
int stat(const char *path, struct stat *buf)
virtual int Read(XrdSfsAio *aiop)
static const uint16_t DF_isFile
Object is for a file.
static const uint64_t doCalc
pgw: Calculate checksums
virtual int StatRet(struct stat *buff)
virtual ssize_t WriteV(XrdOucIOVec *writeV, int wrvcnt)
virtual int isCompressed(char *cxidp=0)
virtual int Opendir(const char *path, XrdOucEnv &env)
virtual int Write(XrdSfsAio *aiop)
virtual int Ftruncate(unsigned long long flen)
XrdOssDF(const char *tid="", uint16_t dftype=0, int fdnum=-1)
virtual const char * getTID()
static const int Fctl_utimes
virtual int Readdir(char *buff, int blen)
virtual int Fstat(struct stat *buf)
static const uint64_t Verify
all: Verify checksums
virtual ssize_t ReadRaw(void *buffer, off_t offset, size_t size)
virtual int Close(long long *retsz=0)=0
static const uint16_t DF_isDir
Object is for a directory.
virtual int Open(const char *path, int Oflag, mode_t Mode, XrdOucEnv &env)
virtual ssize_t Read(off_t offset, size_t size)
virtual ssize_t Read(void *buffer, off_t offset, size_t size)
virtual int Fctl(int cmd, int alen, const char *args, char **resp=0)
virtual int Fchmod(mode_t mode)
virtual int Fsync(XrdSfsAio *aiop)
static const int Fctl_ckpObj
virtual ssize_t pgWrite(void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts)
virtual ssize_t pgRead(void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts)
static const uint16_t DF_isProxy
Object is a proxy object.
virtual void Flush()
Flush filesystem cached pages for this file (used for checksums).
virtual off_t getMmap(void **addr)
virtual ssize_t ReadV(XrdOucIOVec *readV, int rdvcnt)
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)
virtual int Mkdir(const char *path, mode_t mode, int mkpath=0, XrdOucEnv *envP=0)=0
virtual int FSctl(int cmd, int alen, const char *args, char **resp=0)
static const int PF_dStat
virtual int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen)
static const int PF_dNums
virtual int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
static const int PF_csVer
verified file checksums present
virtual int Create(const char *tid, const char *path, mode_t mode, XrdOucEnv &env, int opts=0)=0
virtual int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *envP=0)
virtual XrdOssDF * newDir(const char *tident)=0
virtual void Connect(XrdOucEnv &env)
virtual int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0)
virtual int Chmod(const char *path, mode_t mode, XrdOucEnv *envP=0)=0
virtual uint64_t Features()
virtual int StatPF(const char *path, struct stat *buff, int opts)
virtual void Disc(XrdOucEnv &env)
static const int PF_csVun
unverified file checksums present
virtual int Lfn2Pfn(const char *Path, char *buff, int blen)
virtual int Remdir(const char *path, int Opts=0, XrdOucEnv *envP=0)=0
virtual int Init(XrdSysLogger *lp, const char *cfn)=0
virtual int StatVS(XrdOssVSInfo *vsP, const char *sname=0, int updt=0)
virtual int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
virtual int Init(XrdSysLogger *lp, const char *cfn, XrdOucEnv *envP)
static const int PF_dInfo
virtual void EnvInfo(XrdOucEnv *envP)
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)
virtual XrdOssDF * newFile(const char *tident)=0
XrdOss()
Constructor and Destructor.
virtual int Truncate(const char *path, unsigned long long fsize, XrdOucEnv *envP=0)=0
virtual int Stats(char *buff, int blen)
virtual int Stat(const char *path, struct stat *buff, int opts=0, XrdOucEnv *envP=0)=0
virtual int Unlink(const char *path, int Opts=0, XrdOucEnv *envP=0)=0
virtual int StatPF(const char *path, struct stat *buff)
static const int PF_isLFN