XRootD
Loading...
Searching...
No Matches
XrdOss.hh File Reference
#include <dirent.h>
#include <cerrno>
#include <cstdint>
#include <string>
#include <strings.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <cstring>
#include <vector>
#include "XrdOss/XrdOssVS.hh"
#include "XrdOuc/XrdOucIOVec.hh"
#include "XrdOuc/XrdOucRange.hh"
Include dependency graph for XrdOss.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  XrdOss
class  XrdOssDF

Macros

#define XRDOSS_coloc   0x08
#define XRDOSS_FSCTLFA   0x0001
#define XRDOSS_FSCTLFS   0x0002
#define XRDOSS_HASCACH   0x0000000000000010ULL
#define XRDOSS_HASFICL   0x0000000000000100ULL
#define XRDOSS_HASFSCS   0x0000000000000002ULL
#define XRDOSS_HASNAIO   0x0000000000000020ULL
#define XRDOSS_HASNOSF   0x0000000000000008ULL
#define XRDOSS_HASPGRW   0x0000000000000001ULL
#define XRDOSS_HASPRXY   0x0000000000000004ULL
#define XRDOSS_HASRPXY   0x0000000000000040ULL
#define XRDOSS_HASXERT   0x0000000000000080ULL
#define XRDOSS_isMIG   0x20
#define XRDOSS_isPFN   0x10
#define XRDOSS_mkpath   0x01
#define XRDOSS_new   0x02
#define XRDOSS_Online   0x04
#define XRDOSS_preop   0x0004
#define XRDOSS_resonly   0x0001
#define XRDOSS_setnoxa   0x40
#define XRDOSS_updtatm   0x0002
#define XrdOssOK   0

Typedefs

typedef XrdOssGetStorageSystem2_t XrdOssAddStorageSystem2_t
typedef XrdOss *(* XrdOssGetStorageSystem2_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)
typedef XrdOss *(* XrdOssGetStorageSystem_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms)
 The typedef that describes the XRdOssStatInfoInit external.

Macro Definition Documentation

◆ XRDOSS_coloc

#define XRDOSS_coloc   0x08

Definition at line 529 of file XrdOss.hh.

Referenced by XrdOssSys::Create(), and XrdOfsFile::open().

◆ XRDOSS_FSCTLFA

#define XRDOSS_FSCTLFA   0x0001

Definition at line 554 of file XrdOss.hh.

Referenced by XrdOfs::FAttr().

◆ XRDOSS_FSCTLFS

#define XRDOSS_FSCTLFS   0x0002

Definition at line 555 of file XrdOss.hh.

Referenced by XrdOfs::FSctl(), and XrdPssSys::FSctl().

◆ XRDOSS_HASCACH

#define XRDOSS_HASCACH   0x0000000000000010ULL

Definition at line 540 of file XrdOss.hh.

Referenced by XrdOfs::Configure().

◆ XRDOSS_HASFICL

#define XRDOSS_HASFICL   0x0000000000000100ULL

Definition at line 544 of file XrdOss.hh.

Referenced by XrdOfs::Configure(), XrdOssCsi::Features(), and XrdOssSys::Features().

◆ XRDOSS_HASFSCS

#define XRDOSS_HASFSCS   0x0000000000000002ULL

Definition at line 537 of file XrdOss.hh.

Referenced by XrdOssCsi::Features().

◆ XRDOSS_HASNAIO

#define XRDOSS_HASNAIO   0x0000000000000020ULL

Definition at line 541 of file XrdOss.hh.

Referenced by XrdOfs::Configure(), and XrdOssSys::Features().

◆ XRDOSS_HASNOSF

#define XRDOSS_HASNOSF   0x0000000000000008ULL

Definition at line 539 of file XrdOss.hh.

Referenced by XrdPssSys::XrdPssSys(), XrdOfs::Configure(), and XrdOssCsi::Features().

◆ XRDOSS_HASPGRW

#define XRDOSS_HASPGRW   0x0000000000000001ULL

Definition at line 536 of file XrdOss.hh.

Referenced by XrdPssSys::XrdPssSys(), XrdOfs::Configure(), and XrdOssCsi::Features().

◆ XRDOSS_HASPRXY

#define XRDOSS_HASPRXY   0x0000000000000004ULL

Definition at line 538 of file XrdOss.hh.

Referenced by XrdPssSys::XrdPssSys(), and XrdOfs::Configure().

◆ XRDOSS_HASRPXY

#define XRDOSS_HASRPXY   0x0000000000000040ULL

Definition at line 542 of file XrdOss.hh.

◆ XRDOSS_HASXERT

#define XRDOSS_HASXERT   0x0000000000000080ULL

Definition at line 543 of file XrdOss.hh.

Referenced by XrdPssSys::XrdPssSys(), XrdOfs::Configure(), and XrdOssArc::Features().

◆ XRDOSS_isMIG

#define XRDOSS_isMIG   0x20

Definition at line 531 of file XrdOss.hh.

◆ XRDOSS_isPFN

#define XRDOSS_isPFN   0x10

Definition at line 530 of file XrdOss.hh.

Referenced by XrdFrmPurgeDir::isEmpty(), XrdOssSys::Remdir(), and XrdOssSys::Unlink().

◆ XRDOSS_mkpath

◆ XRDOSS_new

#define XRDOSS_new   0x02

Definition at line 527 of file XrdOss.hh.

Referenced by XrdOssCsi::Create(), XrdOssSys::Create(), and XrdOfsFile::open().

◆ XRDOSS_Online

#define XRDOSS_Online   0x04

Definition at line 528 of file XrdOss.hh.

Referenced by XrdPssSys::Remdir(), XrdOssSys::Unlink(), and XrdPssSys::Unlink().

◆ XRDOSS_preop

#define XRDOSS_preop   0x0004

Definition at line 550 of file XrdOss.hh.

◆ XRDOSS_resonly

◆ XRDOSS_setnoxa

#define XRDOSS_setnoxa   0x40

Definition at line 532 of file XrdOss.hh.

Referenced by XrdOssSys::Create(), and XrdOssSys::SetFattr().

◆ XRDOSS_updtatm

#define XRDOSS_updtatm   0x0002

Definition at line 549 of file XrdOss.hh.

Referenced by XrdCmsBaseFS::Exists(), and XrdOssSys::Stat().

◆ XrdOssOK

#define XrdOssOK   0

Definition at line 54 of file XrdOss.hh.

Referenced by XrdOssSys::Alloc_Local(), XrdPfc::FsTraversal::begin_traversal(), XrdPfc::FsTraversal::cd_down(), ceph_posix_stat_pool(), XrdOssSys::Chmod(), XrdOssFile::Clone(), XrdOssFile::Clone(), XrdCephOssDir::Close(), XrdOssFile::Close(), XrdPssDir::Close(), XrdPssFile::Close(), XrdOssSys::ConfigProc(), XrdOssSys::Configure(), XrdPfc::Cache::ConsiderCached(), XrdOssCsi::Create(), XrdOssSys::Create(), XrdPfc::Cache::ExecuteCommandUrl(), XrdOssFile::Fchmod(), XrdPssFile::Fchmod(), XrdOssDir::Fctl(), XrdOssFile::Fctl(), XrdPssFile::Fctl(), XrdPssSys::FSctl(), XrdOssFile::Fstat(), XrdPssFile::Fstat(), XrdOssFile::Fsync(), XrdPssFile::Fsync(), XrdOssFile::Ftruncate(), XrdPssFile::Ftruncate(), XrdOssCsi::Init(), XrdOssCsiConfig::Init(), XrdOssSys::Init(), XrdOssArc::InitArc(), XrdPfc::Cache::LocalFilePath(), XrdOssSys::Mkdir(), XrdPssSys::Mkdir(), XrdOssSys::Mkpath(), XrdOssSys::MSS_Closedir(), XrdOssSys::MSS_Readdir(), XrdCephOssFile::Open(), XrdOssArcFile::Open(), XrdOssCsiFile::Open(), XrdOssFile::Open(), XrdPssFile::Open(), XrdCephOssDir::Opendir(), XrdOssArcDir::Opendir(), XrdOssDir::Opendir(), XrdPssDir::Opendir(), XrdPfc::Cache::Prepare(), XrdCephOssFile::Read(), XrdOssDir::Readdir(), XrdPssDir::Readdir(), XrdOssSys::Reloc(), XrdOssCsi::Remdir(), XrdPssSys::Remdir(), XrdOssCsi::Rename(), XrdOssSys::Rename(), XrdPssSys::Rename(), TagPath::SetPrefix(), XrdPfc::FsTraversal::slurp_dir_ll(), XrdCephOss::Stat(), XrdOssArc::Stat(), XrdOssSys::Stat(), XrdPfc::Cache::Stat(), XrdPssSys::Stat(), XrdCephOss::StatFS(), XrdOssSys::StatFS(), XrdOssSys::StatFS(), XrdCephOss::StatLS(), XrdOssSys::StatLS(), XrdOssCsi::StatPF(), XrdOssSys::StatPF(), XrdPssDir::StatRet(), XrdCephOss::StatVS(), XrdOssSys::StatVS(), XrdOssSys::StatXA(), XrdOssSys::StatXP(), XrdPfc::File::Sync(), XrdOssCsi::Truncate(), XrdOssCsiTagstoreFile::Truncate(), XrdOssSys::Truncate(), XrdPssSys::Truncate(), XrdOssCsi::Unlink(), XrdOssSys::Unlink(), XrdPssSys::Unlink(), XrdPfc::Cache::UnlinkFile(), XrdPfc::UnlinkPurgeStateFilesInMap(), XrdPfc::DataFsSnapshot::write_json_file(), XrdOssAddStorageSystem2(), and XrdVERSIONINFO().

Typedef Documentation

◆ XrdOssAddStorageSystem2_t

◆ XrdOssGetStorageSystem2_t

typedef XrdOss *(* XrdOssGetStorageSystem2_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)

Definition at line 1020 of file XrdOss.hh.

◆ XrdOssGetStorageSystem_t

typedef XrdOss *(* XrdOssGetStorageSystem_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms)

The typedef that describes the XRdOssStatInfoInit external.

Get an instance of a configured XrdOss object.

Parameters
native_oss-> object that would have been used as the storage system. The object is not initialized (i.e., Init() has not yet been called). This allows one to easily wrap the native implementation or to completely replace it, as needed.
Logger-> The message routing object to be used in conjunction with an XrdSysError object for error messages.
config_fn-> The name of the config file.
parms-> Any parameters specified after the path on the ofs.osslib directive. If there are no parameters, the pointer may be zero.
envP-> Version2 Only pointer to environmental info. This pointer may be nil if no such information exists.
Returns
Success: -> an instance of the XrdOss object to be used as the underlying storage system. Failure: Null pointer which causes initialization to fail.

The object creation function must be declared as an extern "C" function in the plug-in shared library as follows:

Definition at line 1015 of file XrdOss.hh.