![]() |
XRootD
|
#include <XrdOssCsi.hh>
Classes | |
struct | puMapItem_t |
Public Member Functions | |
XrdOssCsiFile (XrdOss *parent, const char *tid, XrdOssCsiConfig &cf) | |
virtual | ~XrdOssCsiFile () |
void | aioDec () |
void | aioInc () |
void | aioWait () |
virtual int | Close (long long *retsz=0) |
virtual void | Flush () |
Flush filesystem cached pages for this file (used for checksums). More... | |
virtual int | Fstat (struct stat *) |
virtual int | Fsync () |
virtual int | Fsync (XrdSfsAio *) |
virtual int | Ftruncate (unsigned long long) |
virtual int | getFD () |
virtual off_t | getMmap (void **addr) |
virtual int | Open (const char *, int, mode_t, XrdOucEnv &) |
XrdOssCsiPages * | Pages () |
virtual ssize_t | pgRead (void *, off_t, size_t, uint32_t *, uint64_t) |
virtual int | pgRead (XrdSfsAio *, uint64_t) |
virtual ssize_t | pgWrite (void *, off_t, size_t, uint32_t *, uint64_t) |
virtual int | pgWrite (XrdSfsAio *, uint64_t) |
virtual ssize_t | Read (off_t, size_t) |
virtual ssize_t | Read (void *, off_t, size_t) |
virtual int | Read (XrdSfsAio *) |
virtual ssize_t | ReadRaw (void *, off_t, size_t) |
virtual ssize_t | ReadV (XrdOucIOVec *readV, int n) |
int | VerificationStatus () |
virtual ssize_t | Write (const void *, off_t, size_t) |
virtual int | Write (XrdSfsAio *) |
virtual ssize_t | WriteV (XrdOucIOVec *writeV, int n) |
![]() | |
XrdOssDFHandler (XrdOssDF *successor) | |
virtual | ~XrdOssDFHandler () |
virtual int | Fchmod (mode_t Mode) |
virtual int | Fctl (int cmd, int alen, const char *args, char **resp=0) |
virtual const char * | getTID () |
virtual int | isCompressed (char *cxidp=0) |
virtual int | Opendir (const char *dir_path, XrdOucEnv &Env) |
virtual int | Readdir (char *buff, int blen) |
virtual int | StatRet (struct stat *buff) |
![]() | |
XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1) | |
virtual | ~XrdOssDF () |
uint16_t | DFType () |
Static Public Member Functions | |
static int | mapRelease (std::shared_ptr< puMapItem_t > &, XrdSysMutexHelper *plck=NULL) |
static void | mapTake (const std::string &, std::shared_ptr< puMapItem_t > &, bool create=true) |
Static Public Attributes | |
static std::unordered_map< std::string, std::shared_ptr< puMapItem_t > > | pumap_ |
static XrdSysMutex | pumtx_ |
![]() | |
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... | |
Friends | |
class | XrdOssCsiFileAio |
class | XrdOssCsiFileAioJob |
Additional Inherited Members | |
![]() | |
XrdOssDF * | successor_ |
![]() | |
uint16_t | dfType |
int | fd |
off_t | pgwEOF |
short | rsvd |
const char * | tident |
Definition at line 73 of file XrdOssCsi.hh.
|
inline |
Definition at line 106 of file XrdOssCsi.hh.
|
virtual |
Definition at line 178 of file XrdOssCsiFile.cc.
References Close().
|
inline |
Definition at line 120 of file XrdOssCsi.hh.
References XrdSysCondVar::Broadcast().
Referenced by XrdOssCsiFileAio::Recycle().
|
inline |
Definition at line 111 of file XrdOssCsi.hh.
References XrdSysCondVar::Wait().
Referenced by XrdOssCsiFileAio::Init().
|
inline |
Definition at line 126 of file XrdOssCsi.hh.
References XrdSysCondVar::Broadcast(), and XrdSysCondVar::Wait().
Referenced by Close(), and Fsync().
|
virtual |
Close a directory or file.
retsz | If not nil, where the size of the file is to be returned. |
Reimplemented from XrdOssDFHandler.
Definition at line 186 of file XrdOssCsiFile.cc.
References aioWait(), XrdOssDF::Close(), and XrdOssDFHandler::successor_.
Referenced by ~XrdOssCsiFile(), and Open().
|
virtual |
Flush filesystem cached pages for this file (used for checksums).
Reimplemented from XrdOssDFHandler.
Definition at line 598 of file XrdOssCsiFile.cc.
References XrdOssDF::Flush(), XrdOssCsiPages::Flush(), Pages(), and XrdOssDFHandler::successor_.
|
virtual |
Return state information for this file.
buf | - Pointer to the structure where info it to be returned. |
Reimplemented from XrdOssDFHandler.
Definition at line 575 of file XrdOssCsiFile.cc.
References XrdOssDF::Fstat(), Pages(), XrdOssDFHandler::successor_, and XrdOssCsiPages::TrackedSizesGet().
|
virtual |
Synchronize associated file with media (synchronous).
Reimplemented from XrdOssDFHandler.
Definition at line 542 of file XrdOssCsiFile.cc.
References XrdOssDF::Fsync(), XrdOssCsiPages::Fsync(), Pages(), and XrdOssDFHandler::successor_.
Referenced by Fsync().
|
virtual |
Synchronize associated file with media (asynchronous).
aiop | - Pointer to async I/O request object. |
Reimplemented from XrdOssDFHandler.
Definition at line 115 of file XrdOssCsiFileAio.cc.
References aioWait(), XrdSfsAio::doneWrite(), Fsync(), and XrdSfsAio::Result.
|
virtual |
Set the size of the associated file.
flen | - The new size of the file. |
Reimplemented from XrdOssDFHandler.
Definition at line 552 of file XrdOssCsiFile.cc.
References XrdOssDF::Ftruncate(), XrdOssCsiPages::LockTrackinglen(), Pages(), XrdOssCsiRangeGuard::ReleaseAll(), XrdOssDFHandler::successor_, and XrdOssCsiPages::truncate().
|
inlinevirtual |
Return the underlying file descriptor.
Reimplemented from XrdOssDFHandler.
Definition at line 83 of file XrdOssCsi.hh.
|
inlinevirtual |
Return the memory mapped characteristics of the file.
addr | - Pointer to where the memory mapped address is to be returned. |
Reimplemented from XrdOssDFHandler.
Definition at line 82 of file XrdOssCsi.hh.
|
static |
Definition at line 109 of file XrdOssCsiFile.cc.
References pumap_, pumtx_, and XrdSysMutexHelper::UnLock().
Referenced by XrdOssCsi::Create(), XrdOssCsi::Rename(), and XrdOssCsi::Unlink().
|
static |
Definition at line 88 of file XrdOssCsiFile.cc.
References pumap_, and pumtx_.
Referenced by XrdOssCsi::Create(), XrdOssCsi::Rename(), and XrdOssCsi::Unlink().
|
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 XrdOssDFHandler.
Definition at line 286 of file XrdOssCsiFile.cc.
References Close(), XrdOssDF::isCompressed(), XrdOssCsiPages::IsReadOnly(), TagPath::isTagFile(), Mode, Pages(), XrdOssDFHandler::successor_, XrdOssCsiConfig::tagParam_, and XrdOssOK.
|
inline |
Definition at line 140 of file XrdOssCsi.hh.
Referenced by XrdOssCsiFileAioJob::DoItRead1(), XrdOssCsiFileAioJob::DoItRead2(), XrdOssCsiFileAioJob::DoItWrite1(), Flush(), Fstat(), Fsync(), Ftruncate(), Open(), pgRead(), pgWrite(), Read(), ReadRaw(), ReadV(), VerificationStatus(), Write(), and WriteV().
|
virtual |
Reimplemented from XrdOssDFHandler.
Definition at line 475 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::FetchRange(), XrdOssCsiPages::LockTrackinglen(), opts, Pages(), XrdOssDF::Read(), and XrdOssDFHandler::successor_.
|
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 XrdOssDFHandler.
Definition at line 81 of file XrdOssCsiFileAio.cc.
References XrdOssCsiFileAio::Alloc(), XrdOssCsiFileAio::Init(), opts, and XrdOssCsiFileAio::SchedReadJob().
|
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 XrdOssDFHandler.
Definition at line 503 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::LockTrackinglen(), opts, Pages(), XrdOssCsiPages::pgWritePrelockCheck(), XrdOssCsiRangeGuard::ReleaseAll(), XrdOssCsiPages::StoreRange(), XrdOssDFHandler::successor_, and XrdOssDF::Write().
|
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 XrdOssDFHandler.
Definition at line 91 of file XrdOssCsiFileAio.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdOssCsiFileAio::Alloc(), XrdSfsAio::cksVec, XrdOssCsiFileAio::Init(), opts, XrdOssCsiPages::pgWritePrelockCheck(), XrdOssCsiFileAio::SchedWriteJob(), and XrdSfsAio::sfsAio.
|
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 XrdOssDFHandler.
Definition at line 340 of file XrdOssCsiFile.cc.
References XrdOssDF::Read(), and XrdOssDFHandler::successor_.
|
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 XrdOssDFHandler.
Definition at line 345 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::LockTrackinglen(), Pages(), XrdOssDF::Read(), XrdOssDFHandler::successor_, and XrdOssCsiPages::VerifyRange().
|
virtual |
Read file bytes using asynchronous I/O.
aiop | - Pointer to async I/O object controlling the I/O. |
Reimplemented from XrdOssDFHandler.
Definition at line 59 of file XrdOssCsiFileAio.cc.
References XrdOssCsiFileAio::Alloc(), XrdOssCsiFileAio::Init(), and XrdOssCsiFileAio::SchedReadJob().
|
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 XrdOssDFHandler.
Definition at line 360 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::LockTrackinglen(), Pages(), XrdOssDF::ReadRaw(), XrdOssDFHandler::successor_, and XrdOssCsiPages::VerifyRange().
|
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 XrdOssDFHandler.
Definition at line 375 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::LockTrackinglen(), XrdOucIOVec::offset, Pages(), XrdOssDF::ReadV(), XrdOssDFHandler::successor_, and XrdOssCsiPages::VerifyRange().
int XrdOssCsiFile::VerificationStatus | ( | ) |
Definition at line 606 of file XrdOssCsiFile.cc.
References Pages(), and XrdOssCsiPages::VerificationStatus().
|
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 XrdOssDFHandler.
Definition at line 404 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::LockTrackinglen(), Pages(), XrdOssCsiRangeGuard::ReleaseAll(), XrdOssDFHandler::successor_, XrdOssCsiPages::UpdateRange(), and XrdOssDF::Write().
|
virtual |
Write file bytes using asynchronous I/O.
aiop | - Pointer to async I/O object controlling the I/O. |
Reimplemented from XrdOssDFHandler.
Definition at line 69 of file XrdOssCsiFileAio.cc.
References XrdOssCsiFileAio::Alloc(), XrdOssCsiFileAio::Init(), and XrdOssCsiFileAio::SchedWriteJob().
|
virtual |
Write file bytes as directed by the write vector.
writeV | pointer to the array of write requests. |
wrvcnt | the number of elements in writeV. |
Reimplemented from XrdOssDFHandler.
Definition at line 437 of file XrdOssCsiFile.cc.
References XrdOssCsiPages::LockTrackinglen(), XrdOucIOVec::offset, Pages(), XrdOssCsiRangeGuard::ReleaseAll(), XrdOssDFHandler::successor_, XrdOssCsiPages::UpdateRange(), and XrdOssDF::WriteV().
|
friend |
Definition at line 75 of file XrdOssCsi.hh.
|
friend |
Definition at line 76 of file XrdOssCsi.hh.
|
static |
Definition at line 160 of file XrdOssCsi.hh.
Referenced by mapRelease(), mapTake(), and XrdOssCsi::Rename().
|
static |
Definition at line 159 of file XrdOssCsi.hh.
Referenced by mapRelease(), mapTake(), and XrdOssCsi::Rename().