xrootd
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
XrdOss Class Referenceabstract

#include <XrdOss.hh>

Inheritance diagram for XrdOss:
Inheritance graph
[legend]

Public Member Functions

virtual XrdOssDFnewDir (const char *tident)=0
 
virtual XrdOssDFnewFile (const char *tident)=0
 
virtual int Chmod (const char *path, mode_t mode, XrdOucEnv *envP=0)=0
 
virtual void Connect (XrdOucEnv &env)
 
virtual int Create (const char *tid, const char *path, mode_t mode, XrdOucEnv &env, int opts=0)=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 int Init (XrdSysLogger *lp, const char *cfn)=0
 
virtual int Init (XrdSysLogger *lp, const char *cfn, XrdOucEnv *envP)
 
virtual int Mkdir (const char *path, mode_t mode, int mkpath=0, XrdOucEnv *envP=0)=0
 
virtual int Reloc (const char *tident, const char *path, const char *cgName, const char *anchor=0)
 
virtual int Remdir (const char *path, int Opts=0, XrdOucEnv *envP=0)=0
 
virtual int Rename (const char *oPath, const char *nPath, XrdOucEnv *oEnvP=0, XrdOucEnv *nEnvP=0)=0
 
virtual int Stat (const char *path, struct stat *buff, int opts=0, XrdOucEnv *envP=0)=0
 
virtual int Stats (char *buff, int blen)
 
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, int opts)
 
virtual int StatPF (const char *path, struct stat *buff)
 
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)=0
 
virtual int Unlink (const char *path, int Opts=0, XrdOucEnv *envP=0)=0
 
virtual int Lfn2Pfn (const char *Path, char *buff, int blen)
 
virtual const char * Lfn2Pfn (const char *Path, char *buff, int blen, int &rc)
 
 XrdOss ()
 Constructor and Destructor.
 
virtual ~XrdOss ()
 

Static Public Attributes

static const int PF_dInfo = 0x00000001
 
static const int PF_dNums = 0x00000002
 
static const int PF_isLFN = 0x00000004
 
static const int PF_dStat = 0x00000008
 
static const int PF_csVer = 0x00000001
 verified file checksums present
 
static const int PF_csVun = 0x00000002
 unverified file checksums present
 

Constructor & Destructor Documentation

◆ XrdOss()

XrdOss::XrdOss ( )
inline

Constructor and Destructor.

◆ ~XrdOss()

virtual XrdOss::~XrdOss ( )
inlinevirtual

Member Function Documentation

◆ Chmod()

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

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).

Implemented in XrdCephOss, XrdOssSys, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Chmod(), and XrdOssHandler::Chmod().

◆ Connect()

virtual void XrdOss::Connect ( XrdOucEnv env)
virtual

Notify storage system that a client has connected.

Parameters
env- Reference to environmental information.

Reimplemented in XrdPssSys, XrdOssWrapper, and XrdOssHandler.

Referenced by XrdOssWrapper::Connect(), and XrdOssHandler::Connect().

◆ Create()

virtual int XrdOss::Create ( const char *  tid,
const char *  path,
mode_t  mode,
XrdOucEnv env,
int  opts = 0 
)
pure virtual

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).

Implemented in XrdCephOss, XrdOssSys, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Create(), and XrdOssHandler::Create().

◆ Disc()

virtual void XrdOss::Disc ( XrdOucEnv env)
virtual

Notify storage system that a client has disconnected.

Parameters
env- Reference to environmental information.

Reimplemented in XrdPssSys, XrdOssWrapper, and XrdOssHandler.

Referenced by XrdOssWrapper::Disc(), and XrdOssHandler::Disc().

◆ EnvInfo()

virtual void XrdOss::EnvInfo ( XrdOucEnv envP)
virtual

Notify storage system of initialization information (deprecated).

Parameters
envP- Pointer to environmental information.

Reimplemented in XrdOssWrapper, XrdOssHandler, and XrdPssSys.

Referenced by XrdOssWrapper::EnvInfo(), and XrdOssHandler::EnvInfo().

◆ Features()

virtual uint64_t XrdOss::Features ( )
virtual

Return storage system features.

Returns
Storage system features (see XRDOSS_HASxxx flags).

Reimplemented in XrdOssSys, XrdOssWrapper, XrdOssCsi, XrdOssHandler, and XrdPssSys.

Referenced by XrdOssWrapper::Features(), XrdOssCsi::Features(), and XrdOssHandler::Features().

◆ FSctl()

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

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 in XrdOssWrapper, and XrdOssHandler.

Referenced by XrdOssWrapper::FSctl(), and XrdOssHandler::FSctl().

◆ Init() [1/2]

virtual int XrdOss::Init ( XrdSysLogger lp,
const char *  cfn 
)
pure virtual

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).

Implemented in XrdCephOss, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssSys.

Referenced by XrdOssWrapper::Init(), Init(), and XrdOssWrapper::Init().

◆ Init() [2/2]

virtual int XrdOss::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 in XrdOssSys, XrdPssSys, XrdOssWrapper, and XrdOssCsi.

References Init().

◆ Lfn2Pfn() [1/2]

virtual int XrdOss::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 in XrdOssSys, XrdOssWrapper, XrdOssHandler, and XrdPssSys.

Referenced by XrdOssWrapper::Lfn2Pfn(), XrdOssHandler::Lfn2Pfn(), XrdOssWrapper::Lfn2Pfn(), and XrdOssHandler::Lfn2Pfn().

◆ Lfn2Pfn() [2/2]

virtual const char * XrdOss::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 in XrdOssSys, XrdOssWrapper, XrdOssHandler, and XrdPssSys.

◆ Mkdir()

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

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).

Implemented in XrdCephOss, XrdOssSys, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Mkdir(), and XrdOssHandler::Mkdir().

◆ newDir()

virtual XrdOssDF * XrdOss::newDir ( const char *  tident)
pure virtual

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

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

Implemented in XrdCephOss, XrdOssSys, XrdOssWrapper, XrdOssCsi, and XrdPssSys.

Referenced by XrdOssWrapper::newDir().

◆ newFile()

virtual XrdOssDF * XrdOss::newFile ( const char *  tident)
pure virtual

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

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

Implemented in XrdCephOss, XrdOssSys, XrdOssWrapper, XrdOssCsi, and XrdPssSys.

Referenced by XrdOssWrapper::newFile().

◆ Reloc()

virtual int XrdOss::Reloc ( const char *  tident,
const char *  path,
const char *  cgName,
const char *  anchor = 0 
)
virtual

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).

Reimplemented in XrdOssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Reloc(), and XrdOssHandler::Reloc().

◆ Remdir()

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

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).

Implemented in XrdCephOss, XrdOssSys, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Remdir(), and XrdOssHandler::Remdir().

◆ Rename()

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

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).

Implemented in XrdCephOss, XrdOssSys, XrdPssSys, XrdOssCsi, XrdOssHandler, and XrdOssWrapper.

Referenced by XrdOssHandler::Rename(), and XrdOssWrapper::Rename().

◆ Stat()

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

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).

Implemented in XrdOssSys, XrdCephOss, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Stat(), and XrdOssHandler::Stat().

◆ StatFS()

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

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 in XrdOssSys, XrdOssWrapper, XrdCephOss, and XrdOssHandler.

Referenced by XrdOssWrapper::StatFS(), and XrdOssHandler::StatFS().

◆ StatLS()

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

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 in XrdOssHandler, XrdOssSys, and XrdOssWrapper.

Referenced by XrdOssHandler::StatLS(), and XrdOssWrapper::StatLS().

◆ StatPF() [1/2]

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

Reimplemented in XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

References StatPF().

◆ StatPF() [2/2]

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

◆ Stats()

virtual int XrdOss::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 in XrdOssSys, XrdOssHandler, XrdPssSys, and XrdOssWrapper.

Referenced by XrdOssHandler::Stats(), and XrdOssWrapper::Stats().

◆ StatVS()

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

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 in XrdCephOss, XrdOssSys, XrdOssHandler, and XrdOssWrapper.

Referenced by XrdOssHandler::StatVS(), and XrdOssWrapper::StatVS().

◆ StatXA()

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

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 in XrdOssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::StatXA(), and XrdOssHandler::StatXA().

◆ StatXP()

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

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 in XrdOssSys, XrdOssWrapper, and XrdOssHandler.

Referenced by XrdOssWrapper::StatXP(), and XrdOssHandler::StatXP().

◆ Truncate()

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

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).

Implemented in XrdOssSys, XrdCephOss, XrdPssSys, XrdOssWrapper, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Truncate(), and XrdOssHandler::Truncate().

◆ Unlink()

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

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).

Implemented in XrdOssSys, XrdPssSys, XrdOssWrapper, XrdCephOss, XrdOssCsi, and XrdOssHandler.

Referenced by XrdOssWrapper::Unlink(), and XrdOssHandler::Unlink().

Member Data Documentation

◆ PF_csVer

const int XrdOss::PF_csVer = 0x00000001
static

verified file checksums present

◆ PF_csVun

const int XrdOss::PF_csVun = 0x00000002
static

unverified file checksums present

◆ PF_dInfo

const int XrdOss::PF_dInfo = 0x00000001
static

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).

◆ PF_dNums

const int XrdOss::PF_dNums = 0x00000002
static

◆ PF_dStat

const int XrdOss::PF_dStat = 0x00000008
static

◆ PF_isLFN

const int XrdOss::PF_isLFN = 0x00000004
static

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