xrootd
|
#include <XrdOssApi.hh>
Public Member Functions | |
virtual int | Close (long long *retsz=0) |
virtual int | Open (const char *, int, mode_t, XrdOucEnv &) |
int | Fchmod (mode_t mode) |
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) |
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 | Write (const void *, off_t, size_t) |
int | Write (XrdSfsAio *aiop) |
XrdOssFile (const char *tid) | |
virtual | ~XrdOssFile () |
Private Member Functions | |
int | Open_ufs (const char *, int, int, unsigned long long) |
Private Attributes | |
oocx_CXFile * | cxobj |
XrdOssCache_FS * | cacheP |
XrdOssMioFile * | mmFile |
const char * | tident |
long long | FSize |
int | rawio |
int | cxpgsz |
char | cxid [4] |
Static Private Attributes | |
static int | AioFailure = 0 |
XrdOssFile::XrdOssFile | ( | const char * | tid | ) | [inline] |
virtual XrdOssFile::~XrdOssFile | ( | ) | [inline, virtual] |
References Close(), and XrdOssDF::fd.
int XrdOssFile::Close | ( | long long * | retsz = 0 | ) | [virtual] |
Implements XrdOssDF.
References XrdOssCache::Adjust(), cacheP, close, cxobj, XrdOssDF::fd, FSize, fstat(), mmFile, XrdOssMio::Recycle(), stat(), XRDOSS_E8004, and XrdOssOK.
Referenced by ~XrdOssFile().
int XrdOssFile::Fchmod | ( | mode_t | mode | ) | [virtual] |
Reimplemented from XrdOssDF.
References XrdOssDF::fd, and XrdOssOK.
int XrdOssFile::Fstat | ( | struct stat * | buff | ) | [virtual] |
Reimplemented from XrdOssDF.
References XrdOssDF::fd, fstat(), and XrdOssOK.
int XrdOssFile::Fsync | ( | void | ) | [virtual] |
int XrdOssFile::Fsync | ( | XrdSfsAio * | aiop | ) | [virtual] |
Reimplemented from XrdOssDF.
References aiocb::aio_fildes, aiocb::aio_sigevent, XrdOssSys::AioAllOk, AioFailure, XrdSfsAio::doneWrite(), XrdSysError::Emsg(), XrdOssDF::fd, Fsync(), XrdSfsAio::Result, XrdSfsAio::sfsAio, tident, and XrdSfsAio::TIdent.
int XrdOssFile::Ftruncate | ( | unsigned long long | flen | ) | [virtual] |
Reimplemented from XrdOssDF.
References XrdOssDF::fd, ftruncate(), XRDOSS_E8008, and XrdOssOK.
int XrdOssFile::getFD | ( | ) | [inline, virtual] |
Reimplemented from XrdOssDF.
References XrdOssDF::fd.
off_t XrdOssFile::getMmap | ( | void ** | addr | ) | [virtual] |
Reimplemented from XrdOssDF.
References XrdOssMioFile::Export(), and mmFile.
int XrdOssFile::isCompressed | ( | char * | cxidp = 0 | ) | [virtual] |
Reimplemented from XrdOssDF.
References cacheP, XrdOssSys::chkMmap, close, cxobj, XrdSysError::Emsg(), ETXTBSY, XrdOssDF::fd, XrdOssCache::Find(), FSize, fstat(), XrdOssMio::getOpts(), XrdOssSys::lcl_N2N, XrdOucName2Name::lfn2pfn(), XrdOssMio::Map(), mmFile, Open_ufs(), OssEroute, OSSMIO_MLOK, OSSMIO_MMAP, OSSMIO_MPRM, XrdOssSys::PathOpts(), XrdOssSys::Stage(), stat(), tident, XrdOssSys::tryMmap, XRDEXP_FORCERO, XRDEXP_MKEEP, XRDEXP_MLOK, XRDEXP_MMAP, XRDEXP_NOTRW, XRDEXP_REMOTE, XRDEXP_STAGE, XRDOSS_E8003, XRDOSS_E8005, XRDOSS_E8006, and XrdOssOK.
Referenced by Open_ufs().
int XrdOssFile::Open_ufs | ( | const char * | path, |
int | Oflag, | ||
int | Mode, | ||
unsigned long long | popts | ||
) | [private] |
References close, cxid, cxobj, cxpgsz, XrdSysError::Emsg(), EPNAME, F_SETFD, fcntl(), FD_CLOEXEC, XrdOssSys::FDFence, Open(), open(), OssEroute, XrdOssLock::Serialize(), TRACE, XrdOssLock::UnSerialize(), XRDEXP_COMPCHK, XRDEXP_MIG, XRDEXP_PURGE, XRDEXP_REMOTE, XRDOSS_E8022, XrdOssDIR, XrdOssEXC, and XrdOssSHR.
Referenced by Open().
ssize_t XrdOssFile::Read | ( | void * | buff, |
off_t | offset, | ||
size_t | blen | ||
) | [virtual] |
Reimplemented from XrdOssDF.
References cxobj, XrdOssSys::DirFlags, XrdOssDF::fd, pread(), ssize_t, XRDOSS_E8004, and XRDOSS_E8021.
ssize_t XrdOssFile::Read | ( | off_t | offset, |
size_t | blen | ||
) | [virtual] |
Reimplemented from XrdOssDF.
References XrdOssDF::fd, ssize_t, and XRDOSS_E8004.
Referenced by Read().
int XrdOssFile::Read | ( | XrdSfsAio * | aiop | ) | [virtual] |
Reimplemented from XrdOssDF.
References aiocb::aio_buf, aiocb::aio_fildes, aiocb::aio_nbytes, aiocb::aio_offset, aiocb::aio_sigevent, XrdOssSys::AioAllOk, AioFailure, Debug, XrdSfsAio::doneRead(), XrdSysError::Emsg(), EPNAME, XrdOssDF::fd, Read(), XrdSfsAio::Result, XrdSfsAio::sfsAio, tident, XrdSfsAio::TIdent, and TRACE.
ssize_t XrdOssFile::ReadRaw | ( | void * | buff, |
off_t | offset, | ||
size_t | blen | ||
) | [virtual] |
Reimplemented from XrdOssDF.
References cxobj, XrdOssDF::fd, pread(), ssize_t, and XRDOSS_E8004.
int XrdOssFile::Write | ( | XrdSfsAio * | aiop | ) | [virtual] |
Reimplemented from XrdOssDF.
References aiocb::aio_buf, aiocb::aio_fildes, aiocb::aio_nbytes, aiocb::aio_offset, aiocb::aio_sigevent, XrdOssSys::AioAllOk, AioFailure, Debug, XrdSfsAio::doneWrite(), XrdSysError::Emsg(), EPNAME, XrdOssDF::fd, XrdSfsAio::Result, XrdSfsAio::sfsAio, tident, XrdSfsAio::TIdent, TRACE, and Write().
ssize_t XrdOssFile::Write | ( | const void * | buff, |
off_t | offset, | ||
size_t | blen | ||
) | [virtual] |
Reimplemented from XrdOssDF.
References cxobj, XrdOssDF::fd, XrdOssSys::MaxSize, pwrite(), ssize_t, XRDOSS_E8004, XRDOSS_E8007, and XRDOSS_E8022.
Referenced by Write().
int XrdOssFile::AioFailure = 0 [static, private] |
XrdOssCache_FS* XrdOssFile::cacheP [private] |
char XrdOssFile::cxid[4] [private] |
Referenced by isCompressed(), Open_ufs(), and XrdOssFile().
oocx_CXFile* XrdOssFile::cxobj [private] |
Referenced by Close(), Open(), Open_ufs(), Read(), ReadRaw(), Write(), and XrdOssFile().
int XrdOssFile::cxpgsz [private] |
Referenced by isCompressed(), Open_ufs(), and XrdOssFile().
long long XrdOssFile::FSize [private] |
XrdOssMioFile* XrdOssFile::mmFile [private] |
Referenced by Close(), getMmap(), Open(), and XrdOssFile().
int XrdOssFile::rawio [private] |
Referenced by XrdOssFile().
const char* XrdOssFile::tident [private] |
Referenced by Fsync(), Open(), Read(), Write(), and XrdOssFile().