![]() |
XRootD
|
#include <XrdPss.hh>
Public Types | |
enum | PolAct { PolPath = 0 , PolObj = 1 } |
Public Member Functions | |
XrdPssSys () | |
virtual | ~XrdPssSys () |
int | Chmod (const char *, mode_t mode, XrdOucEnv *eP=0) override |
bool | ConfigMapID () |
virtual void | Connect (XrdOucEnv &) override |
virtual int | Create (const char *, const char *, mode_t, XrdOucEnv &, int opts=0) override |
virtual void | Disc (XrdOucEnv &) override |
void | EnvInfo (XrdOucEnv *envP) override |
uint64_t | Features () override |
int | Init (XrdSysLogger *, const char *) override |
int | Init (XrdSysLogger *, const char *, XrdOucEnv *envP) override |
int | Lfn2Pfn (const char *Path, char *buff, int blen) override |
const char * | Lfn2Pfn (const char *Path, char *buff, int blen, int &rc) override |
int | Mkdir (const char *, mode_t mode, int mkpath=0, XrdOucEnv *eP=0) override |
virtual XrdOssDF * | newDir (const char *tident) override |
virtual XrdOssDF * | newFile (const char *tident) override |
int | Remdir (const char *, int Opts=0, XrdOucEnv *eP=0) override |
int | Rename (const char *, const char *, XrdOucEnv *eP1=0, XrdOucEnv *eP2=0) override |
int | Stat (const char *, struct stat *, int opts=0, XrdOucEnv *eP=0) override |
int | Stats (char *bp, int bl) override |
int | Truncate (const char *, unsigned long long, XrdOucEnv *eP=0) override |
int | Unlink (const char *, int Opts=0, XrdOucEnv *eP=0) override |
![]() | |
XrdOss () | |
Constructor and Destructor. More... | |
virtual | ~XrdOss () |
virtual int | FSctl (int cmd, int alen, const char *args, char **resp=0) |
virtual int | Reloc (const char *tident, const char *path, const char *cgName, const char *anchor=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 | 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) |
Static Public Member Functions | |
static int | Info (int rc) |
static int | P2DST (int &retc, char *hBuff, int hBlen, PolAct pType, const char *path) |
static int | P2OUT (char *pbuff, int pblen, XrdPssUrlInfo &uInfo) |
static int | P2URL (char *pbuff, int pblen, XrdPssUrlInfo &uInfo, bool doN2N=true) |
Static Public Attributes | |
static const char * | ConfigFN |
static bool | dcaCheck = false |
static int | dcaCTime = 0 |
static bool | dcaWorld = false |
static bool | deferID = false |
static char * | fileOrgn = 0 |
static const char * | hdrData = "" |
static int | hdrLen = 0 |
static XrdOucTList * | ManList = 0 |
static const char * | myHost |
static const char * | myName |
static XrdNetSecurity * | Police [PolNum] = {0, 0} |
static const int | PolNum = 2 |
static const char * | protName = "root:" |
static bool | reProxy = false |
static int | Streams =512 |
static int | Trace = 0 |
static int | Workers = 16 |
static bool | xLfn2Pfn = false |
static XrdOucPListAnchor | XPList |
![]() | |
static const int | PF_csVer = 0x00000001 |
verified file checksums present More... | |
static const int | PF_csVun = 0x00000002 |
unverified file checksums present More... | |
static const int | PF_dInfo = 0x00000001 |
static const int | PF_dNums = 0x00000002 |
static const int | PF_dStat = 0x00000008 |
static const int | PF_isLFN = 0x00000004 |
enum XrdPssSys::PolAct |
XrdPssSys::XrdPssSys | ( | ) |
Definition at line 165 of file XrdPss.cc.
|
overridevirtual |
Change file mode settings.
path | - Pointer to the path of the file in question. |
mode | - The new file mode setting. |
envP | - Pointer to environmental information. |
Implements XrdOss.
bool XrdPssSys::ConfigMapID | ( | ) |
Definition at line 375 of file XrdPssConfig.cc.
References XrdPosixConfig::conTracker(), Macaroons::Debug, XrdProxy::eDest, XrdSysError::Emsg(), XrdProxy::idMapper, XrdSecsssID::idStatic, XrdSecsssID::idStaticM, XrdProxy::outProxy, XrdSysError::Say(), XrdPssUrlInfo::setMapID(), XrdProxy::SysTrace, TRACEPSS_Debug, and XrdSysTrace::What.
|
overridevirtual |
Notify storage system that a client has connected.
env | - Reference to environmental information. |
Reimplemented from XrdOss.
Definition at line 234 of file XrdPss.cc.
References DEBUG, deferID, EPNAME, XrdSecsssID::Register(), XrdOucEnv::secEnv(), XrdCms::theEnv, XrdSecEntity::tident, and XrdSecEntity::ueid.
|
overridevirtual |
Create file.
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/ |
Implements XrdOss.
|
overridevirtual |
Notify storage system that a client has disconnected.
env | - Reference to environmental information. |
Reimplemented from XrdOss.
Definition at line 283 of file XrdPss.cc.
References DEBUG, EPNAME, XrdSecsssID::Register(), XrdOucEnv::secEnv(), XrdCms::theEnv, XrdSecEntity::tident, and XrdSecEntity::ueid.
|
overridevirtual |
Notify storage system of initialization information (deprecated).
envP | - Pointer to environmental information. |
Reimplemented from XrdOss.
Definition at line 303 of file XrdPss.cc.
References XrdPosixConfig::EnvInfo(), XrdProxy::envP, XrdOucEnv::GetPtr(), and XrdProxy::schedP.
|
inlineoverridevirtual |
|
static |
Definition at line 1301 of file XrdPss.cc.
References XrdProxy::ecMsg(), and XrdPosixXrootd::QueryError().
Referenced by Mkdir().
|
inlineoverridevirtual |
Initialize the storage system V1 (deprecated).
lp | - Pointer to the message logging object. |
cfn | - Pointer to the configuration file. |
Implements XrdOss.
Definition at line 163 of file XrdPss.hh.
Referenced by XrdOssGetStorageSystem2().
|
overridevirtual |
Initialize the storage system V2.
lp | - Pointer to the message logging object. |
cfn | - Pointer to the configuration file. |
envP | - Pointer to environmental information. |
Reimplemented from XrdOss.
Definition at line 181 of file XrdPss.cc.
References XrdProxy::cacheFSctl, XrdProxy::eDest, XrdProxy::envP, XrdOucEnv::GetPtr(), XrdSysError::logger(), XrdSysError::Say(), XrdSysTrace::SetLogger(), and XrdProxy::SysTrace.
|
overridevirtual |
Translate logical name to physical name V1 (deprecated).
Path | - Path in whose information is wanted. |
buff | - Pointer to the buffer to hold the new path. |
blen | - Length of the buffer. |
Reimplemented from XrdOss.
Definition at line 318 of file XrdPss.cc.
References XrdOucName2Name::lfn2pfn().
|
overridevirtual |
Translate logical name to physical name V2.
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). |
Reimplemented from XrdOss.
Definition at line 326 of file XrdPss.cc.
References XrdOucName2Name::lfn2pfn().
|
overridevirtual |
Create a directory.
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. |
Implements XrdOss.
Definition at line 350 of file XrdPss.cc.
References DEBUG, DEBUGON, EPNAME, Info(), isREADONLY, XrdPosixXrootd::Mkdir(), obfuscateAuth(), P2URL(), XrdProxy::PBsz, XrdPssUrlInfo::Tident(), xLfn2Pfn, and XrdOssOK.
|
inlineoverridevirtual |
Obtain a new director object to be used for future directory requests.
tident | - The trace identifier. |
Implements XrdOss.
Definition at line 148 of file XrdPss.hh.
References tident.
|
inlineoverridevirtual |
Obtain a new file object to be used for a future file requests.
tident | - The trace identifier. |
Implements XrdOss.
Definition at line 150 of file XrdPss.hh.
References tident.
|
static |
|
static |
Definition at line 1338 of file XrdPss.cc.
References XrdPssUrlInfo::addCGI(), XrdPssUrlInfo::getID(), hdrData, hdrLen, P2DST(), Police, PolObj, PolPath, XrdPssUrlInfo::thePath(), and XrdPssUtils::valProt().
Referenced by P2URL().
|
static |
Definition at line 1402 of file XrdPss.cc.
References XrdPssUrlInfo::addCGI(), fileOrgn, XrdPssUrlInfo::getID(), XrdPssUrlInfo::hasCGI(), hdrData, XrdOucName2Name::lfn2pfn(), XrdProxy::outProxy, P2OUT(), XrdPssUrlInfo::thePath(), and XrdProxy::XrdProxySS.
Referenced by XrdPssCks::Get(), Mkdir(), XrdPssFile::Open(), XrdPssDir::Opendir(), Remdir(), Rename(), Stat(), Truncate(), and Unlink().
|
overridevirtual |
Remove a directory.
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. |
Implements XrdOss.
Definition at line 389 of file XrdPss.cc.
References DEBUG, DEBUGON, EPNAME, isREADONLY, obfuscateAuth(), XrdProxy::ofslclCGI, XrdMpx::Opts, XrdProxy::outProxy, P2URL(), XrdProxy::PBsz, XrdPosixXrootd::Rmdir(), XrdPssUrlInfo::Tident(), xLfn2Pfn, XRDOSS_Online, and XrdOssOK.
|
overridevirtual |
Rename a file or directory.
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. |
Implements XrdOss.
Definition at line 437 of file XrdPss.cc.
References DEBUG, DEBUGON, EPNAME, isREADONLY, obfuscateAuth(), P2URL(), XrdProxy::PBsz, XrdPosixXrootd::Rename(), XrdPssUrlInfo::Tident(), xLfn2Pfn, and XrdOssOK.
|
overridevirtual |
Return state information on a file or directory.
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. |
Implements XrdOss.
Definition at line 490 of file XrdPss.cc.
References DEBUG, DEBUGON, EPNAME, XrdProxy::idMapAll, isNOSTAGE, obfuscateAuth(), XrdMpx::Opts, XrdProxy::osslclCGI, XrdProxy::outProxy, P2URL(), XrdProxy::PBsz, XrdPssUrlInfo::setID(), XrdProxy::sidP, XrdPosixXrootd::Stat(), XrdPssUrlInfo::Tident(), xLfn2Pfn, XRDOSS_resonly, and XrdOssOK.
Referenced by XrdPssFile::Fstat().
|
overridevirtual |
Return statistics.
buff | - Pointer to the buffer to hold statistics. |
blen | - Length of the buffer. |
Reimplemented from XrdOss.
Definition at line 541 of file XrdPss.cc.
References XrdPosixConfig::Stats().
|
overridevirtual |
Truncate a file.
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. |
Implements XrdOss.
Definition at line 559 of file XrdPss.cc.
References DEBUG, DEBUGON, XrdProxy::envP, EPNAME, isREADONLY, obfuscateAuth(), P2URL(), XrdProxy::PBsz, XrdPssUrlInfo::Tident(), XrdPosixXrootd::Truncate(), xLfn2Pfn, and XrdOssOK.
|
overridevirtual |
Remove a file.
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. |
Implements XrdOss.
Definition at line 600 of file XrdPss.cc.
References DEBUG, DEBUGON, XrdProxy::envP, EPNAME, isREADONLY, obfuscateAuth(), XrdProxy::ofslclCGI, XrdMpx::Opts, XrdProxy::outProxy, P2URL(), XrdProxy::PBsz, XrdPssUrlInfo::Tident(), XrdPosixXrootd::Unlink(), xLfn2Pfn, XRDOSS_Online, and XrdOssOK.
|
static |
Definition at line 205 of file XrdPss.hh.
Referenced by XrdPssFile::Open().
|
static |
Definition at line 206 of file XrdPss.hh.
Referenced by XrdPssFile::Open().
|
static |
|
static |
Definition at line 195 of file XrdPss.hh.
Referenced by XrdPssFile::Open(), and P2URL().
|
static |
|
static |
|
static |
|
static |
Definition at line 208 of file XrdPss.hh.
Referenced by XrdPssFile::Open().
|
static |
Definition at line 204 of file XrdPss.hh.
Referenced by Mkdir(), XrdPssFile::Open(), XrdPssDir::Opendir(), Remdir(), Rename(), Stat(), Truncate(), and Unlink().
|
static |
Definition at line 191 of file XrdPss.hh.
Referenced by XrdPssFile::Open().