XRootD
Loading...
Searching...
No Matches
XrdOssWrapper Class Reference

#include <XrdOssWrapper.hh>

Inheritance diagram for XrdOssWrapper:
Collaboration diagram for XrdOssWrapper:

Public Member Functions

 XrdOssWrapper (XrdOss &ossRef)
virtual ~XrdOssWrapper ()
virtual int Chmod (const char *path, mode_t mode, XrdOucEnv *envP=0)
virtual void Connect (XrdOucEnv &env)
virtual int Create (const char *tid, const char *path, mode_t mode, XrdOucEnv &env, int opts=0)
virtual void Disc (XrdOucEnv &env)
virtual void EnvInfo (XrdOucEnv *envP)
virtual uint64_t Features ()
virtual int FSctl (int cmd, int alen, const char *args, char **resp=0)
virtual bool getErrMsg (std::string &eText)
virtual int Init (XrdSysLogger *lp, const char *cfn)
virtual int Init (XrdSysLogger *lp, const char *cfn, XrdOucEnv *envP)
virtual int Lfn2Pfn (const char *Path, char *buff, int blen)
virtual const char * Lfn2Pfn (const char *Path, char *buff, int blen, int &rc)
virtual int Mkdir (const char *path, mode_t mode, int mkpath=0, XrdOucEnv *envP=0)
virtual XrdOssDFnewDir (const char *tident)
virtual XrdOssDFnewFile (const char *tident)
virtual int Remdir (const char *path, int Opts=0, XrdOucEnv *envP=0)
virtual int Rename (const char *oPath, const char *nPath, XrdOucEnv *oEnvP=0, XrdOucEnv *nEnvP=0)
virtual int Stat (const char *path, struct stat *buff, int opts=0, XrdOucEnv *envP=0)
virtual int StatFS (const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
virtual int StatLS (XrdOucEnv &env, const char *path, char *buff, int &blen)
virtual int StatPF (const char *path, struct stat *buff)
virtual int StatPF (const char *path, struct stat *buff, int opts)
virtual int Stats (char *buff, int blen)
virtual int StatVS (XrdOssVSInfo *vsP, const char *sname=0, int updt=0)
virtual int StatXA (const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
virtual int StatXP (const char *path, unsigned long long &attr, XrdOucEnv *envP=0)
virtual int Truncate (const char *path, unsigned long long fsize, XrdOucEnv *envP=0)
virtual int Unlink (const char *path, int Opts=0, XrdOucEnv *envP=0)
Public Member Functions inherited from XrdOss
 XrdOss ()
 Constructor and Destructor.
virtual ~XrdOss ()

Protected Attributes

XrdOsswrapPI

Additional Inherited Members

Static Public Attributes inherited from XrdOss
static const int PF_csVer = 0x00000001
 verified file checksums present
static const int PF_csVun = 0x00000002
 unverified file checksums present
static const int PF_dInfo = 0x00000001
static const int PF_dNums = 0x00000002
static const int PF_dStat = 0x00000008
static const int PF_isLFN = 0x00000004

Detailed Description

Definition at line 499 of file XrdOssWrapper.hh.

Constructor & Destructor Documentation

◆ XrdOssWrapper()

XrdOssWrapper::XrdOssWrapper ( XrdOss & ossRef)
inline

Constructor and Destructor.

Parameters
ossRef- Reference to the Oss object being wrapped.
Note
: The object creator is responsible for deleting the ossRef object. The ref to this object is stored here and is accessible.

Definition at line 925 of file XrdOssWrapper.hh.

925: wrapPI(ossRef) {}

References XrdOss::XrdOss(), and wrapPI.

Referenced by XrdOssStats::FileSystem::FileSystem(), and XrdOssArc::XrdOssArc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~XrdOssWrapper()

virtual XrdOssWrapper::~XrdOssWrapper ( )
inlinevirtual

Definition at line 926 of file XrdOssWrapper.hh.

926{}

Member Function Documentation

◆ Chmod()

virtual int XrdOssWrapper::Chmod ( const char * path,
mode_t mode,
XrdOucEnv * envP = 0 )
inlinevirtual

Change file mode settings.

Parameters
path- Pointer to the path of the file in question.
mode- The new file mode setting.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 537 of file XrdOssWrapper.hh.

538 {return wrapPI.Chmod(path, mode, envP);}

References wrapPI.

◆ Connect()

virtual void XrdOssWrapper::Connect ( XrdOucEnv & env)
inlinevirtual

Notify storage system that a client has connected.

Parameters
env- Reference to environmental information.

Reimplemented from XrdOss.

Definition at line 546 of file XrdOssWrapper.hh.

546{wrapPI.Connect(env);}

References wrapPI.

◆ Create()

virtual int XrdOssWrapper::Create ( const char * tid,
const char * path,
mode_t mode,
XrdOucEnv & env,
int opts = 0 )
inlinevirtual

Create file.

Parameters
tid- Pointer to the trace identifier.
path- Pointer to the path of the file to create.
mode- The new file mode setting.
env- Reference to environmental information.
opts- Create options: XRDOSS_mkpath - create dir path if it does not exist. XRDOSS_new - the file must not already exist. oflags<<8 - open flags shifted 8 bits to the left/
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc.

Definition at line 563 of file XrdOssWrapper.hh.

565 {return wrapPI.Create(tid, path, mode, env, opts);}
struct myOpts opts

References opts, and wrapPI.

◆ Disc()

virtual void XrdOssWrapper::Disc ( XrdOucEnv & env)
inlinevirtual

Notify storage system that a client has disconnected.

Parameters
env- Reference to environmental information.

Reimplemented from XrdOss.

Definition at line 573 of file XrdOssWrapper.hh.

573{wrapPI.Disc(env);}

References wrapPI.

◆ EnvInfo()

virtual void XrdOssWrapper::EnvInfo ( XrdOucEnv * envP)
inlinevirtual

Notify storage system of initialization information (deprecated).

Parameters
envP- Pointer to environmental information.

Reimplemented from XrdOss.

Definition at line 581 of file XrdOssWrapper.hh.

581{wrapPI.EnvInfo(envP);}

References wrapPI.

◆ Features()

virtual uint64_t XrdOssWrapper::Features ( )
inlinevirtual

Return storage system features.

Returns
Storage system features (see XRDOSS_HASxxx flags).

Reimplemented from XrdOss.

Reimplemented in XrdOssArc.

Definition at line 589 of file XrdOssWrapper.hh.

589{return wrapPI.Features();}

References wrapPI.

◆ FSctl()

virtual int XrdOssWrapper::FSctl ( int cmd,
int alen,
const char * args,
char ** resp = 0 )
inlinevirtual

Execute a special storage system operation.

Parameters
cmd- The operation to be performed: XRDOSS_FSCTLFA - Perform proxy file attribute operation
alen- Length of data pointed to by args.
args- Data sent with request, zero if alen is zero.
resp- Where the response is to be set, if any.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOss.

Reimplemented in XrdOssArc.

Definition at line 619 of file XrdOssWrapper.hh.

620 {return wrapPI.FSctl(cmd, alen, args, resp);}

References wrapPI.

◆ getErrMsg()

virtual bool XrdOssWrapper::getErrMsg ( std::string & eText)
inlinevirtual

Obtain detailed error message text for the immediately preceeding error returned by any method in this class.

Parameters
eText- Where the message text is to be returned.
Returns
True if message text is available, false otherwise.
Note
This method should be called using the same thread that encountered the error; otherwise, missleading error text may be returned.
Upon return, the internal error message text is cleared.

Reimplemented from XrdOss.

Reimplemented in XrdOssArc.

Definition at line 604 of file XrdOssWrapper.hh.

605 {return wrapPI.getErrMsg(eText);}

References wrapPI.

◆ Init() [1/2]

virtual int XrdOssWrapper::Init ( XrdSysLogger * lp,
const char * cfn )
inlinevirtual

Initialize the storage system V1 (deprecated).

Parameters
lp- Pointer to the message logging object.
cfn- Pointer to the configuration file.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Definition at line 631 of file XrdOssWrapper.hh.

632 {return wrapPI.Init(lp, cfn);}

References wrapPI.

◆ Init() [2/2]

virtual int XrdOssWrapper::Init ( XrdSysLogger * lp,
const char * cfn,
XrdOucEnv * envP )
inlinevirtual

Initialize the storage system V2.

Parameters
lp- Pointer to the message logging object.
cfn- Pointer to the configuration file.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOss.

Definition at line 644 of file XrdOssWrapper.hh.

645 {return wrapPI.Init(lp, cfn, envP);}

References wrapPI.

◆ Lfn2Pfn() [1/2]

virtual int XrdOssWrapper::Lfn2Pfn ( const char * Path,
char * buff,
int blen )
inlinevirtual

Translate logical name to physical name V1 (deprecated).

Parameters
Path- Path in whose information is wanted.
buff- Pointer to the buffer to hold the new path.
blen- Length of the buffer.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOss.

Reimplemented in XrdOssArc.

Definition at line 898 of file XrdOssWrapper.hh.

899 {return wrapPI.Lfn2Pfn(Path, buff, blen);}
XrdOucString Path

References Path, and wrapPI.

◆ Lfn2Pfn() [2/2]

virtual const char * XrdOssWrapper::Lfn2Pfn ( const char * Path,
char * buff,
int blen,
int & rc )
inlinevirtual

Translate logical name to physical name V2.

Parameters
Path- Path in whose information is wanted.
buff- Pointer to the buffer to hold the new path.
blen- Length of the buffer.
rc- Place where failure return code is to be returned: -errno or -osserr (see XrdOssError.hh).
Returns
Pointer to the translated path upon success or nil on failure.

Reimplemented from XrdOss.

Reimplemented in XrdOssArc.

Definition at line 913 of file XrdOssWrapper.hh.

914 {return wrapPI.Lfn2Pfn(Path, buff, blen, rc);}

References Path, and wrapPI.

◆ Mkdir()

virtual int XrdOssWrapper::Mkdir ( const char * path,
mode_t mode,
int mkpath = 0,
XrdOucEnv * envP = 0 )
inlinevirtual

Create a directory.

Parameters
path- Pointer to the path of the directory to be created.
mode- The directory mode setting.
mkpath- When true the path is created if it does not exist.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc.

Definition at line 658 of file XrdOssWrapper.hh.

660 {return wrapPI.Mkdir(path, mode, mkpath, envP);}

References wrapPI.

◆ newDir()

virtual XrdOssDF * XrdOssWrapper::newDir ( const char * tident)
inlinevirtual

Obtain a new director object to be used for future directory requests.

Parameters
tident- The trace identifier.
Returns
pointer- Pointer to a possibly wrapped XrdOssDF object.
nil - Insufficient memory to allocate an object.

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 512 of file XrdOssWrapper.hh.

513 {return wrapPI.newDir(tident);}
#define tident

References tident, and wrapPI.

◆ newFile()

virtual XrdOssDF * XrdOssWrapper::newFile ( const char * tident)
inlinevirtual

Obtain a new file object to be used for a future file requests.

Parameters
tident- The trace identifier.
Returns
pointer- Pointer to a possibly wrapped XrdOssDF object.
nil - Insufficient memory to allocate an object.

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 524 of file XrdOssWrapper.hh.

525 {return wrapPI.newFile(tident);}

References tident, and wrapPI.

◆ Remdir()

virtual int XrdOssWrapper::Remdir ( const char * path,
int Opts = 0,
XrdOucEnv * envP = 0 )
inlinevirtual

Relocate/Copy the file at `path' to a new location.

Parameters
tident- -> trace identifier for this operation.
path- -> fully qualified name of the file to relocate.
cgName- -> target space name[:path]
anchor- Processing directions (see XrdOssReloc.cc example).
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh). //--------------------------------------------------------------------------—

virtual int Reloc(const char *tident, const char *path, */ const char *cgName, const char *anchor=0) {return wrapPI.Reloc(tident,path,cgName,anchor);}


/*! Remove a directory.

Parameters
path- Pointer to the path of the directory to be removed.
Opts- The processing options: XRDOSS_Online - only remove online copy XRDOSS_isPFN - path is already translated.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc.

Definition at line 689 of file XrdOssWrapper.hh.

690 {return wrapPI.Remdir(path, Opts, envP);}

References wrapPI.

◆ Rename()

virtual int XrdOssWrapper::Rename ( const char * oPath,
const char * nPath,
XrdOucEnv * oEnvP = 0,
XrdOucEnv * nEnvP = 0 )
inlinevirtual

Rename a file or directory.

Parameters
oPath- Pointer to the path to be renamed.
nPath- Pointer to the path oPath is to have.
oEnvP- Environmental information for oPath.
nEnvP- Environmental information for nPath.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 703 of file XrdOssWrapper.hh.

705 {return wrapPI.Rename(oPath, nPath, oEnvP, nEnvP);}

References wrapPI.

◆ Stat()

virtual int XrdOssWrapper::Stat ( const char * path,
struct stat * buff,
int opts = 0,
XrdOucEnv * envP = 0 )
inlinevirtual

Return state information on a file or directory.

Parameters
path- Pointer to the path in question.
buff- Pointer to the structure where info it to be returned.
opts- Options: XRDOSS_preop - this is a stat prior to open. XRDOSS_resonly - only look for resident files. XRDOSS_updtatm - update file access time.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 721 of file XrdOssWrapper.hh.

723 {return wrapPI.Stat(path, buff, opts, envP);}

References opts, stat, and wrapPI.

◆ StatFS()

virtual int XrdOssWrapper::StatFS ( const char * path,
char * buff,
int & blen,
XrdOucEnv * envP = 0 )
inlinevirtual

Return filesystem physical space information associated with a path.

Parameters
path- Path in the partition in question.
buff- Pointer to the buffer to hold the information.
blen- Length of the buffer. This is updated with the actual number of bytes placed in the buffer as in snprintf().
envP- Pointer to environmental information.
Returns
"<wval> <fsp> <utl> <sval> <fsp> <utl>" where: <wval> is "0" if XRDEXP_NOTRW specified, otherwise "1" <fsp> is free space in megabytes. <utl> is percentage utilization (i.e. allocated space) <sval> is "1' if XRDEXP_STAGE specified, otherwise "0" Upon failure -errno or -osserr (see XrdOssError.hh) returned.

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 754 of file XrdOssWrapper.hh.

756 {return wrapPI.StatFS(path, buff, blen, envP);}

References wrapPI.

◆ StatLS()

virtual int XrdOssWrapper::StatLS ( XrdOucEnv & env,
const char * path,
char * buff,
int & blen )
inlinevirtual

Return filesystem physical space information associated with a space name.

Parameters
env- Ref to environmental information. If the environment has the key oss.cgroup defined, the associated value is used as the space name and the path is ignored.
path- Path in the name space in question. The space name associated with gthe path is used unless overridden.
buff- Pointer to the buffer to hold the information.
blen- Length of the buffer. This is updated with the actual number of bytes placed in the buffer as in snprintf().
Returns
"oss.cgroup=<name>&oss.space=<totbytes>&oss.free=<freebytes> &oss.maxf=<maxcontigbytes>&oss.used=<bytesused> &oss.quota=<quotabytes>" in buff upon success. Upon failure -errno or -osserr (see XrdOssError.hh) returned.

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 776 of file XrdOssWrapper.hh.

778 {return wrapPI.StatLS(env, path, buff, blen);}

References wrapPI.

◆ StatPF() [1/2]

virtual int XrdOssWrapper::StatPF ( const char * path,
struct stat * buff )
inlinevirtual

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 803 of file XrdOssWrapper.hh.

804 {return wrapPI.StatPF(path, buff);}

References stat, and wrapPI.

◆ StatPF() [2/2]

virtual int XrdOssWrapper::StatPF ( const char * path,
struct stat * buff,
int opts )
inlinevirtual

Return state information on a resident physical file or directory.

Parameters
path- Pointer to the path in question.
buff- Pointer to the structure where info it to be returned.
opts- Options: PF_dInfo - provide bdevID in st_rdev and partID in st_dev based on path. If path is nil then the contents of the of buff is used as the input source. PF_dNums - provide number of bdev's in st_rdev and the number of partitions in st_dev. The path argument is ignored. This superceeds PF_dInfo. PF_dStat - provide file state flags in st_rdev as shown below. Path may not be nil. This supercedes PF_dInfo and PF_dNums. PF_isLFN - Do N2N translation on path (default is none).
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 800 of file XrdOssWrapper.hh.

801 {return wrapPI.StatPF(path, buff, opts);}

References opts, stat, and wrapPI.

◆ Stats()

virtual int XrdOssWrapper::Stats ( char * buff,
int blen )
inlinevirtual

Return statistics.

Parameters
buff- Pointer to the buffer to hold statistics.
blen- Length of the buffer.
Returns
The number of bytes placed in the buffer excluding null byte.

Reimplemented from XrdOss.

Definition at line 734 of file XrdOssWrapper.hh.

735 {return wrapPI.Stats(buff, blen);}

References wrapPI.

◆ StatVS()

virtual int XrdOssWrapper::StatVS ( XrdOssVSInfo * vsP,
const char * sname = 0,
int updt = 0 )
inlinevirtual

Return space information for a space name.

Parameters
vsP- Pointer to the XrdOssVSInfo object to hold results. It should be fully initialized (i.e. a new copy).
sname- Pointer to the space name. If the name starts with a plus (e.g. "+public"), partition information is returned, should it exist. If nil, space information for all spaces is returned. See, XrdOssVS.hh for more info.
updt- When true, a space update occurrs prior to a query.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 820 of file XrdOssWrapper.hh.

821 {return wrapPI.StatVS(vsP, sname, updt);}

References wrapPI.

◆ StatXA()

virtual int XrdOssWrapper::StatXA ( const char * path,
char * buff,
int & blen,
XrdOucEnv * envP = 0 )
inlinevirtual

Return logical extended attributes associated with a path.

Parameters
path- Path in whose information is wanted.
buff- Pointer to the buffer to hold the information.
blen- Length of the buffer. This is updated with the actual number of bytes placed in the buffer as in snprintf().
envP- Pointer to environmental information.
Returns
"oss.cgroup=<name>&oss.type={'f'|'d'|'o'}&oss.used=<totbytes> &oss.mt=<mtime>&oss.ct=<ctime>&oss.at=<atime>&oss.u=*&oss.g=* &oss.fs={'w'|'r'}" Upon failure -errno or -osserr (see XrdOssError.hh) returned.

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 838 of file XrdOssWrapper.hh.

840 {return wrapPI.StatXA(path, buff, blen, envP);}

References wrapPI.

◆ StatXP()

virtual int XrdOssWrapper::StatXP ( const char * path,
unsigned long long & attr,
XrdOucEnv * envP = 0 )
inlinevirtual

Return export attributes associated with a path.

Parameters
path- Path in whose information is wanted.
attr- Reference to where the inforamation is to be stored.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOss.

Reimplemented in XrdOssStats::FileSystem.

Definition at line 852 of file XrdOssWrapper.hh.

854 {return wrapPI.StatXP(path, attr, envP);}

References wrapPI.

◆ Truncate()

virtual int XrdOssWrapper::Truncate ( const char * path,
unsigned long long fsize,
XrdOucEnv * envP = 0 )
inlinevirtual

Truncate a file.

Parameters
path- Pointer to the path of the file to be truncated.
fsize- The size that the file is to have.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 866 of file XrdOssWrapper.hh.

868 {return wrapPI.Truncate(path, fsize, envP);}

References wrapPI.

◆ Unlink()

virtual int XrdOssWrapper::Unlink ( const char * path,
int Opts = 0,
XrdOucEnv * envP = 0 )
inlinevirtual

Remove a file.

Parameters
path- Pointer to the path of the file to be removed.
Opts- Options: XRDOSS_isMIG - this is a migratable path. XRDOSS_isPFN - do not apply name2name to path. XRDOSS_Online - remove only the online copy.
envP- Pointer to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOss.

Reimplemented in XrdOssArc, and XrdOssStats::FileSystem.

Definition at line 883 of file XrdOssWrapper.hh.

884 {return wrapPI.Unlink(path, Opts, envP);}

References wrapPI.

Member Data Documentation

◆ wrapPI


The documentation for this class was generated from the following file: