#include <XrdOfs.hh>
Inheritance diagram for XrdOfsFile:
Public Member Functions | |
int | open (const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client, const char *opaque=0) |
int | close () |
virtual int | fctl (const int cmd, const char *args, XrdOucErrInfo &out_error) |
const char * | FName () |
int | getMmap (void **Addr, off_t &Size) |
int | read (XrdSfsFileOffset fileOffset, XrdSfsXferSize amount) |
XrdSfsXferSize | read (XrdSfsFileOffset fileOffset, char *buffer, XrdSfsXferSize buffer_size) |
int | read (XrdSfsAio *aioparm) |
XrdSfsXferSize | write (XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size) |
int | write (XrdSfsAio *aioparm) |
int | sync () |
int | sync (XrdSfsAio *aiop) |
int | stat (struct stat *buf) |
int | truncate (XrdSfsFileOffset fileOffset) |
int | getCXinfo (char cxtype[4], int &cxrsz) |
XrdOfsFile (const char *user) | |
virtual | ~XrdOfsFile () |
Protected Attributes | |
const char * | tident |
Private Member Functions | |
void | GenFWEvent () |
Private Attributes | |
XrdOfsHandle * | oh |
int | dorawio |
char | viaDel |
Definition at line 78 of file XrdOfs.hh.
XrdOfsFile::XrdOfsFile | ( | const char * | user | ) |
virtual XrdOfsFile::~XrdOfsFile | ( | ) | [inline, virtual] |
int XrdOfsFile::open | ( | const char * | fileName, | |
XrdSfsFileOpenMode | openMode, | |||
mode_t | createMode, | |||
const XrdSecEntity * | client, | |||
const char * | opaque = 0 | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 342 of file XrdOfs.cc.
References XrdOfsPoscq::Add(), XrdCmsClient::Added(), XrdOfsHandle::Alloc(), AOP_Create, AOP_Read, AOP_Update, AUTHORIZE, XrdOfs::Balancer, XrdOfsPoscq::Commit(), XrdOss::Create(), XrdOfsEvs::Create, XrdOfsStats::Data, XrdOfsPoscq::Del(), dorawio, XrdOfs::dummyHandle, EINPROGRESS, XrdOfs::Emsg(), XrdOfsEvs::Enabled(), ENOTSUP, EPNAME, XrdSfsFile::error, ETXTBSY, XrdOfs::evrObject, XrdOfs::evsObject, XrdOfs::Finder, XrdOfs::fsError(), FTRACE, XrdOfsHandle::isCompressed, XrdCmsClient::Locate(), XrdSysMutex::Lock(), XrdOss::newFile(), XrdOfsEvs::Notify(), XrdOfsStats::StatsData::numOpenP, XrdOfsStats::StatsData::numOpenR, XrdOfsStats::StatsData::numOpenW, XrdOfs::ocMutex, OfsStats, oh, OOIDENTENV, XrdOfsEvs::Openr, XrdOfsEvs::Openw, XrdOfsHandle::opPC, XrdOfsHandle::opRW, Path, XrdOfs::poscAuto, XrdOfs::poscQ, XrdCmsClient::Removed(), S_IAMB, XrdOfsStats::sdMutex, SFS_O_CREAT, SFS_O_MKPTH, SFS_O_NOWAIT, SFS_O_POSC, SFS_O_RAWIO, SFS_O_RDONLY, SFS_O_RDWR, SFS_O_REPLICA, SFS_O_RESET, SFS_O_TRUNC, SFS_O_WRONLY, SFS_OK, XrdOfs::Stall(), tident, XrdSysMutex::UnLock(), XrdOfsHandle::Usage(), XrdOfsEvr::Wait4Event(), XrdOfsFS, XrdOfsOss, XRDOSS_mkpath, XRDOSS_new, and ZTRACE.
Referenced by XrdTokenAuthzOfsFile::open().
int XrdOfsFile::close | ( | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 594 of file XrdOfs.cc.
References XrdCmsClient::Added(), XrdOfs::Balancer, XrdOfsEvs::Closer, XrdOfsEvs::Closew, XrdOfsStats::Data, XrdOfsPoscq::Del(), XrdOfs::dummyHandle, XrdOfs::Emsg(), XrdOfsEvs::Enabled(), EPNAME, XrdSfsFile::error, XrdOfs::evsObject, FTRACE, XrdOfsHandle::Inactive(), XrdSysMutex::Lock(), XrdOfsEvs::Notify(), XrdOfsStats::StatsData::numOpenP, XrdOfsStats::StatsData::numOpenR, XrdOfsStats::StatsData::numOpenW, XrdOfs::ocMutex, OfsStats, oh, XrdOfsHandle::opPC, XrdOfs::poscHold, XrdOfs::poscQ, XrdOfsStats::sdMutex, SFS_OK, tident, XrdSysMutex::UnLock(), XrdOfs::Unpersist(), XrdOfsHandle::Usage(), viaDel, and XrdOfsFS.
Referenced by XrdTokenAuthzOfsFile::close(), and ~XrdOfsFile().
int XrdOfsFile::fctl | ( | const int | cmd, | |
const char * | args, | |||
XrdOucErrInfo & | out_error | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 686 of file XrdOfs.cc.
References XrdOssDF::getFD(), oh, XrdOfsHandle::Select(), XrdOucErrInfo::setErrCode(), XrdOucErrInfo::setErrInfo(), SFS_ERROR, SFS_FCTL_GETFD, and SFS_OK.
const char* XrdOfsFile::FName | ( | ) | [inline, virtual] |
Implements XrdSfsFile.
Definition at line 94 of file XrdOfs.hh.
References XrdOfsHandle::Name(), and oh.
Referenced by XrdTokenAuthzOfsFile::FName().
int XrdOfsFile::getMmap | ( | void ** | Addr, | |
off_t & | Size | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 946 of file XrdOfs.cc.
References XrdOssDF::getMmap(), oh, XrdOfsHandle::Select(), and SFS_OK.
Referenced by XrdTokenAuthzOfsFile::getMmap().
int XrdOfsFile::read | ( | XrdSfsFileOffset | fileOffset, | |
XrdSfsXferSize | amount | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 707 of file XrdOfs.cc.
References XrdOfs::Emsg(), EPNAME, XrdSfsFile::error, FTRACE, XrdOfsHandle::Name(), oh, XrdOssDF::Read(), XrdOfsHandle::Select(), size_t, and XrdOfsFS.
Referenced by read(), and XrdTokenAuthzOfsFile::read().
XrdSfsXferSize XrdOfsFile::read | ( | XrdSfsFileOffset | fileOffset, | |
char * | buffer, | |||
XrdSfsXferSize | buffer_size | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 746 of file XrdOfs.cc.
References dorawio, XrdOfs::Emsg(), EPNAME, XrdSfsFile::error, FTRACE, XrdOfsHandle::Name(), oh, read(), XrdOssDF::Read(), XrdOssDF::ReadRaw(), XrdOfsHandle::Select(), size_t, and XrdOfsFS.
int XrdOfsFile::read | ( | XrdSfsAio * | aioparm | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 803 of file XrdOfs.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::doneRead(), XrdOfs::Emsg(), EPNAME, XrdSfsFile::error, FTRACE, XrdOfsHandle::isCompressed, XrdOfsHandle::Name(), oh, read(), XrdOssDF::Read(), XrdSfsAio::Result, XrdOfsHandle::Select(), SFS_OK, XrdSfsAio::sfsAio, and XrdOfsFS.
XrdSfsXferSize XrdOfsFile::write | ( | XrdSfsFileOffset | fileOffset, | |
const char * | buffer, | |||
XrdSfsXferSize | buffer_size | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 843 of file XrdOfs.cc.
References XrdOfs::Emsg(), XrdOfsEvs::Enabled(), EPNAME, XrdSfsFile::error, XrdOfs::evsObject, FTRACE, XrdOfsEvs::Fwrite, GenFWEvent(), XrdOfsHandle::isChanged, XrdOfsHandle::isPending, oh, XrdOfsHandle::Select(), size_t, XrdOssDF::Write(), and XrdOfsFS.
Referenced by XrdTokenAuthzOfsFile::write(), and write().
int XrdOfsFile::write | ( | XrdSfsAio * | aioparm | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 899 of file XrdOfs.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::doneWrite(), XrdOfs::Emsg(), XrdOfsEvs::Enabled(), EPNAME, XrdSfsFile::error, XrdOfs::evsObject, FTRACE, XrdOfsEvs::Fwrite, GenFWEvent(), XrdOfsHandle::isChanged, XrdOfsHandle::isPending, XrdOfsHandle::isRW, XrdOfsHandle::Name(), oh, XrdOfsHandle::opPC, XrdSfsAio::Result, XrdOfsHandle::Select(), SFS_OK, XrdSfsAio::sfsAio, XrdOssDF::Write(), write(), and XrdOfsFS.
int XrdOfsFile::sync | ( | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 995 of file XrdOfs.cc.
References XrdOfs::Emsg(), EPNAME, XrdSfsFile::error, XrdOssDF::Fsync(), FTRACE, XrdOfsHandle::isPending, XrdOfsHandle::Lock(), oh, XrdOfsHandle::Select(), SFS_OK, XrdOfsHandle::UnLock(), and XrdOfsFS.
Referenced by sync(), and XrdTokenAuthzOfsFile::sync().
int XrdOfsFile::sync | ( | XrdSfsAio * | aiop | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 1041 of file XrdOfs.cc.
References XrdSfsAio::doneWrite(), XrdSfsAio::Result, and sync().
int XrdOfsFile::stat | ( | struct stat * | buf | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 967 of file XrdOfs.cc.
References XrdOfs::Emsg(), EPNAME, XrdSfsFile::error, XrdOssDF::Fstat(), FTRACE, XrdOfsHandle::Name(), oh, XrdOfsHandle::Select(), SFS_OK, and XrdOfsFS.
Referenced by XrdTokenAuthzOfsFile::stat().
int XrdOfsFile::truncate | ( | XrdSfsFileOffset | fileOffset | ) | [virtual] |
Implements XrdSfsFile.
Definition at line 1052 of file XrdOfs.cc.
References XrdOfs::Emsg(), XrdOfsEvs::Enabled(), EPNAME, XrdSfsFile::error, XrdOfs::evsObject, FTRACE, XrdOssDF::Ftruncate(), XrdOfsEvs::Fwrite, GenFWEvent(), XrdOfsHandle::isChanged, XrdOfsHandle::isPending, oh, XrdOfsHandle::Select(), SFS_OK, and XrdOfsFS.
Referenced by XrdTokenAuthzOfsFile::truncate().
int XrdOfsFile::getCXinfo | ( | char | cxtype[4], | |
int & | cxrsz | |||
) | [virtual] |
Implements XrdSfsFile.
Definition at line 1099 of file XrdOfs.cc.
References XrdOssDF::isCompressed(), oh, XrdOfsHandle::Select(), and SFS_OK.
Referenced by XrdTokenAuthzOfsFile::getCXinfo().
void XrdOfsFile::GenFWEvent | ( | ) | [private] |
Definition at line 1125 of file XrdOfs.cc.
References XrdOfs::evsObject, XrdOfsEvs::Fwrite, XrdOfsHandle::isChanged, XrdOfsHandle::Lock(), XrdOfsHandle::Name(), XrdOfsEvs::Notify(), oh, tident, XrdOfsHandle::UnLock(), and XrdOfsFS.
Referenced by truncate(), and write().
const char* XrdOfsFile::tident [protected] |
Definition at line 128 of file XrdOfs.hh.
Referenced by close(), GenFWEvent(), open(), and XrdOfsFile().
XrdOfsHandle* XrdOfsFile::oh [private] |
Definition at line 134 of file XrdOfs.hh.
Referenced by close(), fctl(), FName(), GenFWEvent(), getCXinfo(), getMmap(), open(), read(), stat(), sync(), truncate(), write(), XrdOfsFile(), and ~XrdOfsFile().
int XrdOfsFile::dorawio [private] |
char XrdOfsFile::viaDel [private] |