#include <XrdOssApi.hh>
Inheritance diagram for XrdOssFile:
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 |
Definition at line 61 of file XrdOssApi.hh.
XrdOssFile::XrdOssFile | ( | const char * | tid | ) | [inline] |
virtual XrdOssFile::~XrdOssFile | ( | ) | [inline, virtual] |
Implements XrdOssDF.
Definition at line 660 of file XrdOssApi.cc.
References XrdOssCache::Adjust(), cacheP, close, cxobj, XrdOssDF::fd, FSize, fstat, mmFile, XrdOssMio::Recycle(), stat, XRDOSS_E8004, and XrdOssOK.
Referenced by ~XrdOssFile().
Reimplemented from XrdOssDF.
Definition at line 574 of file XrdOssApi.cc.
References cacheP, XrdOssSys::chkMmap, close, cxobj, XrdSysError::Emsg(), ETXTBSY, XrdOssDF::fd, XrdOssCache::Find(), FSize, fstat, XrdOssMio::getOpts(), int, 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, XrdOssOK, and XrdOssSS.
Referenced by Open_ufs().
int XrdOssFile::Fchmod | ( | mode_t | mode | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 811 of file XrdOssApi.cc.
References fchmod(), XrdOssDF::fd, and XrdOssOK.
int XrdOssFile::Fstat | ( | struct stat * | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 828 of file XrdOssApi.cc.
References XrdOssDF::fd, fstat, and XrdOssOK.
int XrdOssFile::Fsync | ( | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 844 of file XrdOssApi.cc.
References XrdOssDF::fd, fsync, and XrdOssOK.
Referenced by Fsync().
int XrdOssFile::Fsync | ( | XrdSfsAio * | aiop | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 79 of file XrdOssAio.cc.
References aiocb::aio_fildes, aiocb::aio_sigevent, XrdOssSys::AioAllOk, AioFailure, XrdSfsAio::doneWrite(), XrdSysError::Emsg(), ENOSYS, fcnt, XrdOssDF::fd, Fsync(), XrdSfsAio::Result, XrdSfsAio::sfsAio, tident, and XrdSfsAio::TIdent.
int XrdOssFile::Ftruncate | ( | unsigned long | long | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 915 of file XrdOssApi.cc.
References XrdOssDF::fd, ftruncate, XRDOSS_E8008, and XrdOssOK.
int XrdOssFile::getFD | ( | ) | [inline, virtual] |
off_t XrdOssFile::getMmap | ( | void ** | addr | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 863 of file XrdOssApi.cc.
References XrdOssMioFile::Export(), and mmFile.
int XrdOssFile::isCompressed | ( | char * | cxidp = 0 |
) | [virtual] |
ssize_t XrdOssFile::Read | ( | off_t | , | |
size_t | ||||
) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 693 of file XrdOssApi.cc.
References XrdOssDF::fd, ssize_t, and XRDOSS_E8004.
Referenced by Read().
ssize_t XrdOssFile::Read | ( | void * | , | |
off_t | , | |||
size_t | ||||
) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 718 of file XrdOssApi.cc.
References cxobj, XrdOssSys::DirFlags, XrdOssDF::fd, pread, retval, ssize_t, XRDOSS_E8004, XRDOSS_E8021, and XrdOssSS.
int XrdOssFile::Read | ( | XrdSfsAio * | aiop | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 131 of file XrdOssAio.cc.
References aiocb::aio_buf, aiocb::aio_fildes, aiocb::aio_nbytes, aiocb::aio_offset, aiocb::aio_sigevent, XrdOssSys::AioAllOk, AioFailure, Debug, XrdSfsAio::doneRead(), XrdSysError::Emsg(), ENOSYS, EPNAME, fcnt, XrdOssDF::fd, Read(), XrdSfsAio::Result, XrdSfsAio::sfsAio, size_t, tident, XrdSfsAio::TIdent, and TRACE.
ssize_t XrdOssFile::ReadRaw | ( | void * | , | |
off_t | , | |||
size_t | ||||
) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 752 of file XrdOssApi.cc.
References cxobj, XrdOssDF::fd, pread, retval, ssize_t, and XRDOSS_E8004.
ssize_t XrdOssFile::Write | ( | const void * | , | |
off_t | , | |||
size_t | ||||
) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 783 of file XrdOssApi.cc.
References cxobj, XrdOssDF::fd, XrdOssSys::MaxSize, pwrite, retval, ssize_t, XRDOSS_E8004, XRDOSS_E8007, XRDOSS_E8022, and XrdOssSS.
Referenced by Write().
int XrdOssFile::Write | ( | XrdSfsAio * | aiop | ) | [virtual] |
Reimplemented from XrdOssDF.
Definition at line 189 of file XrdOssAio.cc.
References aiocb::aio_buf, aiocb::aio_fildes, aiocb::aio_nbytes, aiocb::aio_offset, aiocb::aio_sigevent, XrdOssSys::AioAllOk, AioFailure, Debug, XrdSfsAio::doneWrite(), XrdSysError::Emsg(), ENOSYS, EPNAME, fcnt, XrdOssDF::fd, XrdSfsAio::Result, XrdSfsAio::sfsAio, size_t, tident, XrdSfsAio::TIdent, TRACE, and Write().
int XrdOssFile::Open_ufs | ( | const char * | , | |
int | , | |||
int | , | |||
unsigned long | long | |||
) | [private] |
Definition at line 932 of file XrdOssApi.cc.
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, XrdOssSHR, and XrdOssSS.
Referenced by Open().
int XrdOssFile::AioFailure [static, private] |
oocx_CXFile* XrdOssFile::cxobj [private] |
Definition at line 98 of file XrdOssApi.hh.
Referenced by Close(), Open(), Open_ufs(), Read(), ReadRaw(), Write(), and XrdOssFile().
XrdOssCache_FS* XrdOssFile::cacheP [private] |
XrdOssMioFile* XrdOssFile::mmFile [private] |
Definition at line 100 of file XrdOssApi.hh.
Referenced by Close(), getMmap(), Open(), and XrdOssFile().
const char* XrdOssFile::tident [private] |
Definition at line 101 of file XrdOssApi.hh.
Referenced by Fsync(), Open(), Read(), Write(), and XrdOssFile().
long long XrdOssFile::FSize [private] |
int XrdOssFile::rawio [private] |
int XrdOssFile::cxpgsz [private] |
Definition at line 104 of file XrdOssApi.hh.
Referenced by isCompressed(), Open_ufs(), and XrdOssFile().
char XrdOssFile::cxid[4] [private] |
Definition at line 105 of file XrdOssApi.hh.
Referenced by isCompressed(), Open_ufs(), and XrdOssFile().