xrootd
|
#include <XrdOssCsiPages.hh>
Public Types | |
typedef std::pair< off_t, off_t > | Sizes_t |
Public Member Functions | |
XrdOssCsiPages (const std::string &fn, std::unique_ptr< XrdOssCsiTagstore > ts, bool wh, bool am, bool dpe, bool dlw, const char *) | |
~XrdOssCsiPages () | |
int | Open (const char *path, off_t dsize, int flags, XrdOucEnv &envP) |
int | Close () |
int | UpdateRange (XrdOssDF *, const void *, off_t, size_t, XrdOssCsiRangeGuard &) |
int | VerifyRange (XrdOssDF *, const void *, off_t, size_t, XrdOssCsiRangeGuard &) |
void | Flush () |
int | Fsync () |
void | BasicConsistencyCheck (XrdOssDF *) |
int | FetchRange (XrdOssDF *, const void *, off_t, size_t, uint32_t *, uint64_t, XrdOssCsiRangeGuard &) |
int | StoreRange (XrdOssDF *, const void *, off_t, size_t, uint32_t *, uint64_t, XrdOssCsiRangeGuard &) |
void | LockTrackinglen (XrdOssCsiRangeGuard &, off_t, off_t, bool) |
bool | IsReadOnly () const |
int | truncate (XrdOssDF *, off_t, XrdOssCsiRangeGuard &) |
int | TrackedSizesGet (Sizes_t &, bool) |
int | LockResetSizes (XrdOssDF *, off_t) |
void | TrackedSizeRelease () |
int | VerificationStatus () |
Static Public Member Functions | |
static void | pgDoCalc (const void *, off_t, size_t, uint32_t *) |
static int | pgWritePrelockCheck (const void *, off_t, size_t, const uint32_t *, uint64_t) |
Protected Member Functions | |
ssize_t | apply_sequential_aligned_modify (const void *, off_t, size_t, const uint32_t *, bool, bool, uint32_t, uint32_t) |
int | LockSetTrackedSize (off_t) |
int | LockTruncateSize (off_t, bool) |
int | LockMakeUnverified () |
int | UpdateRangeAligned (const void *, off_t, size_t, const Sizes_t &) |
int | UpdateRangeUnaligned (XrdOssDF *, const void *, off_t, size_t, const Sizes_t &) |
int | UpdateRangeHoleUntilPage (XrdOssDF *, off_t, const Sizes_t &) |
int | VerifyRangeAligned (const void *, off_t, size_t, const Sizes_t &) |
int | VerifyRangeUnaligned (XrdOssDF *, const void *, off_t, size_t, const Sizes_t &) |
int | FetchRangeAligned (const void *, off_t, size_t, const Sizes_t &, uint32_t *, uint64_t) |
int | FetchRangeUnaligned (XrdOssDF *, const void *, off_t, size_t, const Sizes_t &, uint32_t *, uint64_t) |
int | FetchRangeUnaligned_preblock (XrdOssDF *, const void *, off_t, size_t, off_t, uint32_t *, uint32_t *, uint64_t) |
int | FetchRangeUnaligned_postblock (XrdOssDF *, const void *, off_t, size_t, off_t, uint32_t *, uint32_t *, size_t, uint64_t) |
int | StoreRangeAligned (const void *, off_t, size_t, const Sizes_t &, uint32_t *) |
int | StoreRangeUnaligned (XrdOssDF *, const void *, off_t, size_t, const Sizes_t &, const uint32_t *) |
int | StoreRangeUnaligned_preblock (XrdOssDF *, const void *, size_t, off_t, off_t, const uint32_t *, uint32_t &) |
int | StoreRangeUnaligned_postblock (XrdOssDF *, const void *, size_t, off_t, off_t, const uint32_t *, uint32_t &) |
std::string | CRCMismatchError (size_t blen, off_t pgnum, uint32_t got, uint32_t expected) |
std::string | ByteMismatchError (size_t blen, off_t off, uint8_t user, uint8_t page) |
std::string | PageReadError (size_t blen, off_t pgnum, int ret) |
std::string | TagsReadError (off_t start, size_t n, int ret) |
std::string | TagsWriteError (off_t start, size_t n, int ret) |
Static Protected Member Functions | |
static ssize_t | fullread (XrdOssDF *fd, void *buff, const off_t off, const size_t sz) |
static ssize_t | maxread (XrdOssDF *fd, void *buff, const off_t off, const size_t sz, size_t tg=0) |
Protected Attributes | |
std::unique_ptr< XrdOssCsiTagstore > | ts_ |
XrdSysMutex | rangeaddmtx_ |
XrdOssCsiRanges | ranges_ |
bool | writeHoles_ |
bool | allowMissingTags_ |
bool | disablePgExtend_ |
bool | hasMissingTags_ |
bool | rdonly_ |
const bool | loosewriteConfigured_ |
bool | loosewrite_ |
XrdSysCondVar | tscond_ |
bool | tsforupdate_ |
const std::string | fn_ |
const std::string | tident_ |
const char * | tident |
off_t | lastpgforloose_ |
bool | checklastpg_ |
Static Protected Attributes | |
static const size_t | stsize_ = 1024 |
typedef std::pair<off_t,off_t> XrdOssCsiPages::Sizes_t |
XrdOssCsiPages::XrdOssCsiPages | ( | const std::string & | fn, |
std::unique_ptr< XrdOssCsiTagstore > | ts, | ||
bool | wh, | ||
bool | am, | ||
bool | dpe, | ||
bool | dlw, | ||
const char * | |||
) |
|
inline |
References Close().
|
protected |
void XrdOssCsiPages::BasicConsistencyCheck | ( | XrdOssDF * | ) |
|
inlineprotected |
References fn_.
int XrdOssCsiPages::Close | ( | ) |
Referenced by ~XrdOssCsiPages().
|
inlineprotected |
References fn_, and XrdSys::PageSize.
int XrdOssCsiPages::FetchRange | ( | XrdOssDF * | , |
const void * | , | ||
off_t | , | ||
size_t | , | ||
uint32_t * | , | ||
uint64_t | , | ||
XrdOssCsiRangeGuard & | |||
) |
Referenced by XrdOssCsiFileAioJob::DoItRead2().
|
protected |
|
protected |
|
protected |
|
protected |
void XrdOssCsiPages::Flush | ( | ) |
int XrdOssCsiPages::Fsync | ( | ) |
|
inlinestaticprotected |
References maxread().
|
inline |
References rdonly_.
|
protected |
int XrdOssCsiPages::LockResetSizes | ( | XrdOssDF * | , |
off_t | |||
) |
|
protected |
void XrdOssCsiPages::LockTrackinglen | ( | XrdOssCsiRangeGuard & | , |
off_t | , | ||
off_t | , | ||
bool | |||
) |
Referenced by XrdOssCsiFileAioJob::DoItRead1(), and XrdOssCsiFileAioJob::DoItWrite1().
|
protected |
|
inlinestaticprotected |
References XrdOssDF::Read().
Referenced by fullread().
int XrdOssCsiPages::Open | ( | const char * | path, |
off_t | dsize, | ||
int | flags, | ||
XrdOucEnv & | envP | ||
) |
|
inlineprotected |
References fn_, and XrdSys::PageSize.
|
static |
|
static |
int XrdOssCsiPages::StoreRange | ( | XrdOssDF * | , |
const void * | , | ||
off_t | , | ||
size_t | , | ||
uint32_t * | , | ||
uint64_t | , | ||
XrdOssCsiRangeGuard & | |||
) |
Referenced by XrdOssCsiFileAioJob::DoItWrite1().
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
References fn_.
|
inlineprotected |
References fn_.
void XrdOssCsiPages::TrackedSizeRelease | ( | ) |
int XrdOssCsiPages::TrackedSizesGet | ( | Sizes_t & | , |
bool | |||
) |
int XrdOssCsiPages::truncate | ( | XrdOssDF * | , |
off_t | , | ||
XrdOssCsiRangeGuard & | |||
) |
int XrdOssCsiPages::UpdateRange | ( | XrdOssDF * | , |
const void * | , | ||
off_t | , | ||
size_t | , | ||
XrdOssCsiRangeGuard & | |||
) |
Referenced by XrdOssCsiFileAioJob::DoItWrite1().
|
protected |
|
protected |
int XrdOssCsiPages::VerificationStatus | ( | ) |
int XrdOssCsiPages::VerifyRange | ( | XrdOssDF * | , |
const void * | , | ||
off_t | , | ||
size_t | , | ||
XrdOssCsiRangeGuard & | |||
) |
Referenced by XrdOssCsiFileAioJob::DoItRead2().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by ByteMismatchError(), CRCMismatchError(), PageReadError(), TagsReadError(), and TagsWriteError().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by IsReadOnly().
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |