![]() |
XRootD
|
#include <XrdPss.hh>
Public Member Functions | |
XrdPssFile (const char *tid) | |
virtual | ~XrdPssFile () |
virtual int | Close (long long *retsz=0) |
int | Fchmod (mode_t mode) |
int | Fstat (struct stat *) |
int | Fsync () |
int | Fsync (XrdSfsAio *aiop) |
int | Ftruncate (unsigned long long) |
virtual int | Open (const char *, int, mode_t, XrdOucEnv &) |
ssize_t | pgRead (void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts) |
int | pgRead (XrdSfsAio *aioparm, uint64_t opts) |
ssize_t | pgWrite (void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts) |
int | pgWrite (XrdSfsAio *aioparm, uint64_t opts) |
ssize_t | Read (off_t, size_t) |
ssize_t | Read (void *, off_t, size_t) |
int | Read (XrdSfsAio *aiop) |
ssize_t | ReadRaw (void *, off_t, size_t) |
ssize_t | ReadV (XrdOucIOVec *readV, int n) |
ssize_t | Write (const void *, off_t, size_t) |
int | Write (XrdSfsAio *aiop) |
![]() | |
XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1) | |
virtual | ~XrdOssDF () |
uint16_t | DFType () |
virtual int | Fctl (int cmd, int alen, const char *args, char **resp=0) |
virtual void | Flush () |
Flush filesystem cached pages for this file (used for checksums). More... | |
virtual int | getFD () |
virtual off_t | getMmap (void **addr) |
virtual const char * | getTID () |
virtual int | isCompressed (char *cxidp=0) |
virtual int | Opendir (const char *path, XrdOucEnv &env) |
virtual int | Readdir (char *buff, int blen) |
virtual int | StatRet (struct stat *buff) |
virtual ssize_t | WriteV (XrdOucIOVec *writeV, int wrvcnt) |
Additional Inherited Members | |
![]() | |
static const uint16_t | DF_isDir = 0x0001 |
Object is for a directory. More... | |
static const uint16_t | DF_isFile = 0x0002 |
Object is for a file. More... | |
static const uint16_t | DF_isProxy = 0x0010 |
Object is a proxy object. More... | |
static const uint64_t | doCalc = 0x4000000000000000ULL |
pgw: Calculate checksums More... | |
static const int | Fctl_ckpObj = 0 |
static const int | Fctl_utimes = 1 |
static const uint64_t | Verify = 0x8000000000000000ULL |
all: Verify checksums More... | |
![]() | |
uint16_t | dfType |
int | fd |
off_t | pgwEOF |
short | rsvd |
const char * | tident |
|
inline |
Definition at line 104 of file XrdPss.hh.
|
inlinevirtual |
Definition at line 108 of file XrdPss.hh.
References Close(), and XrdOssDF::fd.
|
virtual |
Close a directory or file.
retsz | If not nil, where the size of the file is to be returned. |
Implements XrdOssDF.
Definition at line 907 of file XrdPss.cc.
References XrdPosixXrootd::Close(), XrdOssDF::fd, XRDOSS_E8004, and XrdOssOK.
Referenced by ~XrdPssFile().
|
inlinevirtual |
|
virtual |
Return state information for this file.
buf | - Pointer to the structure where info it to be returned. |
Reimplemented from XrdOssDF.
Definition at line 1175 of file XrdPss.cc.
References DEBUG, EPNAME, XrdOssDF::fd, XrdPosixXrootd::Fstat(), XrdProxy::rpFD, Stat, XrdPssSys::Stat(), stat(), XrdPosixXrootd::Stat(), XrdOssDF::tident, XRDOSS_E8004, XrdOssOK, and XrdProxy::XrdProxySS.
|
virtual |
Synchronize associated file with media (synchronous).
Reimplemented from XrdOssDF.
Definition at line 1261 of file XrdPss.cc.
References XrdOssDF::fd, XrdPosixXrootd::Fsync(), XRDOSS_E8004, and XrdOssOK.
|
virtual |
Synchronize associated file with media (asynchronous).
aiop | - Pointer to async I/O request object. |
Reimplemented from XrdOssDF.
Definition at line 53 of file XrdPssAio.cc.
References XrdPssAioCB::Alloc(), XrdOssDF::fd, and XrdPosixXrootd::Fsync().
|
virtual |
Set the size of the associated file.
flen | - The new size of the file. |
Reimplemented from XrdOssDF.
Definition at line 1290 of file XrdPss.cc.
References XrdOssDF::fd, XrdPosixXrootd::Ftruncate(), XRDOSS_E8004, and XrdOssOK.
|
virtual |
Open a file.
path | - Pointer to the path of the file to be opened. |
Oflag | - Standard open flags. |
Mode | - File open mode (ignored unless creating a file). |
env | - Reference to environmental information. |
Reimplemented from XrdOssDF.
Definition at line 771 of file XrdPss.cc.
References XrdSfsFSctl::Arg1, XrdSfsFSctl::Arg1Len, XrdSfsFSctl::Arg2Len, XrdProxy::cacheFSctl, XrdPssSys::dcaCheck, XrdPssSys::dcaWorld, DEBUG, DEBUGON, ENOATTR, XrdOucEnv::Env(), EPNAME, XrdOssDF::fd, XrdPssSys::fileOrgn, XrdOucPListAnchor::Find(), XrdOfsFSctl_PI::FSctl(), XrdOucEnv::Get(), XrdOucErrInfo::getErrInfo(), Info, IS_FWDPATH, Mode, O_DIRECT, obfuscateAuth(), XrdPosixXrootd::Open(), XrdPosixConfig::OpenFC(), XrdProxy::osslclCGI, XrdProxy::outProxy, XrdPssSys::P2URL(), XrdProxy::PBsz, XrdOucEnv::Put(), XrdPssSys::reProxy, XrdOucEnv::secEnv(), XrdPssUrlInfo::setID(), SFS_ERROR, SFS_FSCTL_PLUGXC, XrdPssUrlInfo::Tident(), XrdPssSys::xLfn2Pfn, XrdPssSys::XPList, XRDEXP_FORCERO, XRDEXP_NOTRW, XRDEXP_STAGE, XRDOSS_E8003, and XrdOssOK.
|
virtual |
Reimplemented from XrdOssDF.
Definition at line 948 of file XrdPss.cc.
References XrdOssDF::fd, XrdPosixExtra::forceCS, XrdPosixExtra::pgRead(), and XRDOSS_E8004.
|
virtual |
Read file pages and checksums using asynchronous I/O.
aioparm | - Pointer to async I/O object controlling the I/O. |
opts | - Processing options (see above). |
Reimplemented from XrdOssDF.
Definition at line 77 of file XrdPssAio.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdPssAioCB::Alloc(), XrdSfsAio::cksVec, XrdPssAioCB::csVec, XrdOssDF::fd, XrdPosixExtra::forceCS, XrdPosixExtra::pgRead(), and XrdSfsAio::sfsAio.
|
virtual |
Write file pages into a file with corresponding checksums.
buffer | - pointer to buffer containing the bytes to write. |
offset | - The offset where the write is to start. |
wrlen | - The number of bytes to write. |
csvec | - A vector which contains the corresponding CRC32 checksum for each page. See XrdOucPgrwUtils::csNum() for sizing. |
opts | - Processing options (see above). |
Reimplemented from XrdOssDF.
Definition at line 1001 of file XrdPss.cc.
References XrdOucPgrwUtils::csCalc(), XrdOucPgrwUtils::csNum(), XrdOucPgrwUtils::csVer(), XrdOssDF::doCalc, XrdOssDF::fd, opts, XrdPosixExtra::pgWrite(), XrdOssDF::Verify, and XRDOSS_E8004.
|
virtual |
Write file pages and checksums using asynchronous I/O.
aioparm | - Pointer to async I/O object controlling the I/O. |
opts | - Processing options (see above). |
Reimplemented from XrdOssDF.
Definition at line 106 of file XrdPssAio.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdPssAioCB::Alloc(), XrdSfsAio::cksVec, XrdOucPgrwUtils::csCalc(), XrdOucPgrwUtils::csNum(), XrdPssAioCB::csVec, XrdOucPgrwUtils::csVer(), XrdOssDF::doCalc, XrdOssDF::fd, opts, XrdPosixExtra::pgWrite(), XrdSfsAio::sfsAio, and XrdOssDF::Verify.
|
virtual |
Preread file blocks into the file system cache.
offset | - The offset where the read is to start. |
size | - The number of bytes to pre-read. |
Reimplemented from XrdOssDF.
Definition at line 1057 of file XrdPss.cc.
References XrdOssDF::fd, and XRDOSS_E8004.
Referenced by ReadRaw().
|
virtual |
Read file bytes into a buffer.
buffer | - pointer to buffer where the bytes are to be placed. |
offset | - The offset where the read is to start. |
size | - The number of bytes to read. |
Reimplemented from XrdOssDF.
Definition at line 1081 of file XrdPss.cc.
References XrdOssDF::fd, XrdPosixXrootd::Pread(), and XRDOSS_E8004.
|
virtual |
Read file bytes using asynchronous I/O.
aiop | - Pointer to async I/O object controlling the I/O. |
Reimplemented from XrdOssDF.
Definition at line 165 of file XrdPssAio.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdPssAioCB::Alloc(), XrdOssDF::fd, XrdPosixXrootd::Pread(), and XrdSfsAio::sfsAio.
|
virtual |
Read uncompressed file bytes into a buffer.
buffer | - pointer to buffer where the bytes are to be placed. |
offset | - The offset where the read is to start. |
size | - The number of bytes to read. |
Reimplemented from XrdOssDF.
Definition at line 1133 of file XrdPss.cc.
References Read().
|
virtual |
Read file bytes as directed by the read vector.
readV | pointer to the array of read requests. |
rdvcnt | the number of elements in readV. |
Reimplemented from XrdOssDF.
Definition at line 1095 of file XrdPss.cc.
References XrdOssDF::fd, XrdPosixXrootd::VRead(), and XRDOSS_E8004.
|
virtual |
Write file bytes from a buffer.
buffer | - pointer to buffer where the bytes reside. |
offset | - The offset where the write is to start. |
size | - The number of bytes to write. |
Reimplemented from XrdOssDF.
Definition at line 1153 of file XrdPss.cc.
References XrdOssDF::fd, XrdPosixXrootd::Pwrite(), and XRDOSS_E8004.
|
virtual |
Write file bytes using asynchronous I/O.
aiop | - Pointer to async I/O object controlling the I/O. |
Reimplemented from XrdOssDF.
Definition at line 192 of file XrdPssAio.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdPssAioCB::Alloc(), XrdOssDF::fd, XrdPosixXrootd::Pwrite(), and XrdSfsAio::sfsAio.