![]() |
XRootD
|
#include <XrdOssApi.hh>
Public Member Functions | |
XrdOssFile (const char *tid, int fdnum=-1) | |
virtual | ~XrdOssFile () |
virtual int | Close (long long *retsz=0) |
int | Fchmod (mode_t mode) |
int | Fctl (int cmd, int alen, const char *args, char **resp=0) |
void | Flush () |
Flush filesystem cached pages for this file (used for checksums). More... | |
int | Fstat (struct stat *) |
int | Fsync () |
int | Fsync (XrdSfsAio *aiop) |
int | Ftruncate (unsigned long long) |
int | getFD () |
off_t | getMmap (void **addr) |
int | isCompressed (char *cxidp=0) |
virtual int | Open (const char *, int, mode_t, XrdOucEnv &) |
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) |
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 const char * | getTID () |
virtual int | Opendir (const char *path, XrdOucEnv &env) |
virtual ssize_t | pgRead (void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts) |
virtual int | pgRead (XrdSfsAio *aioparm, uint64_t opts) |
virtual ssize_t | pgWrite (void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts) |
virtual int | pgWrite (XrdSfsAio *aioparm, uint64_t opts) |
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 |
Definition at line 88 of file XrdOssApi.hh.
|
inline |
Definition at line 117 of file XrdOssApi.hh.
|
inlinevirtual |
Definition at line 122 of file XrdOssApi.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 813 of file XrdOssApi.cc.
References XrdOssCache::Adjust(), close, XrdOssDF::fd, fstat(), XrdOssMio::Recycle(), stat(), XRDOSS_E8004, and XrdOssOK.
Referenced by ~XrdOssFile().
|
virtual |
Change file mode settings.
mode | - The new file mode setting. |
Reimplemented from XrdOssDF.
Definition at line 1050 of file XrdOssApi.cc.
References XrdOssDF::fd, Mode, and XrdOssOK.
|
virtual |
Reimplemented from XrdOssDF.
Definition at line 1069 of file XrdOssApi.cc.
References XrdOssDF::Fctl_utimes, XrdOssDF::fd, and XrdOssOK.
|
virtual |
Flush filesystem cached pages for this file (used for checksums).
Reimplemented from XrdOssDF.
Definition at line 1095 of file XrdOssApi.cc.
References XrdOssDF::fd, and fdatasync().
|
virtual |
Return state information for this file.
buf | - Pointer to the structure where info it to be returned. |
Reimplemented from XrdOssDF.
Definition at line 1119 of file XrdOssApi.cc.
References XrdOssDF::fd, fstat(), and XrdOssOK.
|
virtual |
Synchronize associated file with media (synchronous).
Reimplemented from XrdOssDF.
Definition at line 1135 of file XrdOssApi.cc.
References XrdOssDF::fd, fsync(), and XrdOssOK.
Referenced by Fsync().
|
virtual |
Synchronize associated file with media (asynchronous).
aiop | - Pointer to async I/O request object. |
Reimplemented from XrdOssDF.
Definition at line 102 of file XrdOssAio.cc.
References aiocb::aio_fildes, aiocb::aio_sigevent, XrdOssSys::AioAllOk, XrdSfsAio::doneWrite(), XrdSysError::Emsg(), XrdOssDF::fd, Fsync(), OssEroute, XrdSfsAio::Result, XrdSfsAio::sfsAio, XrdOssDF::tident, and XrdSfsAio::TIdent.
|
virtual |
Set the size of the associated file.
flen | - The new size of the file. |
Reimplemented from XrdOssDF.
Definition at line 1206 of file XrdOssApi.cc.
References XrdOssDF::fd, ftruncate(), XRDOSS_E8008, and XrdOssOK.
|
inlinevirtual |
Return the underlying file descriptor.
Reimplemented from XrdOssDF.
Definition at line 105 of file XrdOssApi.hh.
References XrdOssDF::fd.
|
virtual |
Return the memory mapped characteristics of the file.
addr | - Pointer to where the memory mapped address is to be returned. |
Reimplemented from XrdOssDF.
Definition at line 1154 of file XrdOssApi.cc.
References XrdOssMioFile::Export().
|
virtual |
Return file compression charectistics.
cxidp | - Pointer to where the compression algorithm name returned. |
Reimplemented from XrdOssDF.
Definition at line 1175 of file XrdOssApi.cc.
|
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 718 of file XrdOssApi.cc.
References XrdOssSys::chkMmap, close, XrdSysError::Emsg(), XrdOssDF::fd, XrdOssCache::Find(), fstat(), XrdOucEnv::Get(), Info, XrdOssSys::lcl_N2N, XrdOucName2Name::lfn2pfn(), XrdOssMio::Map(), XrdFrcXAttrMem::memKeep, XrdFrcXAttrMem::memLock, XrdFrcXAttrMem::memMap, Mode, OssEroute, OSSMIO_MLOK, OSSMIO_MMAP, OSSMIO_MPRM, XrdOssSys::PathOpts(), XrdOssSys::Stage(), stat(), XrdOssDF::tident, XrdOssSys::tryMmap, XRDEXP_FORCERO, XRDEXP_MKEEP, XRDEXP_MLOK, XRDEXP_MMAP, XRDEXP_NOTRW, XRDEXP_NOXATTR, XRDEXP_REMOTE, XRDEXP_STAGE, XRDOSS_E8003, XRDOSS_E8005, XRDOSS_E8006, XrdOssOK, XrdOssSS, and XRDSFS_POSCPEND.
|
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 846 of file XrdOssApi.cc.
References XrdOssDF::fd, and XRDOSS_E8004.
Referenced by Read().
|
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 875 of file XrdOssApi.cc.
References XrdOssSys::DirFlags, XrdOssDF::fd, pread(), XRDOSS_E8004, XRDOSS_E8021, and XrdOssSS.
|
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 154 of file XrdOssAio.cc.
References aiocb::aio_buf, aiocb::aio_fildes, aiocb::aio_nbytes, aiocb::aio_offset, aiocb::aio_sigevent, XrdOssSys::AioAllOk, Macaroons::Debug, XrdSfsAio::doneRead(), XrdSysError::Emsg(), EPNAME, XrdOssDF::fd, Xrd::hex1, OssEroute, Read(), XrdSfsAio::Result, XrdSfsAio::sfsAio, XrdOssDF::tident, XrdSfsAio::TIdent, and TRACE.
|
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 991 of file XrdOssApi.cc.
References XrdOssDF::fd, pread(), and XRDOSS_E8004.
|
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 910 of file XrdOssApi.cc.
References AtomicDec, AtomicInc, Macaroons::Debug, EPNAME, XrdOssDF::fd, XrdOucIOVec::offset, XrdOssSys::prActive, XrdOssSys::prBytes, XrdOssSys::prDepth, pread(), XrdOssSys::prPBits, XrdOssSys::prPMask, XrdOssSys::prQSize, XrdOucIOVec::size, TRACE, and XrdOssSS.
|
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 1022 of file XrdOssApi.cc.
References XrdOssDF::fd, XrdOssSys::MaxSize, pwrite(), XRDOSS_E8004, XRDOSS_E8007, XRDOSS_E8022, and XrdOssSS.
Referenced by Write().
|
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 212 of file XrdOssAio.cc.
References aiocb::aio_buf, aiocb::aio_fildes, aiocb::aio_nbytes, aiocb::aio_offset, aiocb::aio_sigevent, XrdOssSys::AioAllOk, Macaroons::Debug, XrdSfsAio::doneWrite(), XrdSysError::Emsg(), EPNAME, XrdOssDF::fd, Xrd::hex1, OssEroute, XrdSfsAio::Result, XrdSfsAio::sfsAio, XrdOssDF::tident, XrdSfsAio::TIdent, TRACE, and Write().