xrootd
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
XrdOssCsiPages Class Reference

#include <XrdOssCsiPages.hh>

Collaboration diagram for XrdOssCsiPages:
Collaboration graph
[legend]

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< XrdOssCsiTagstorets_
 
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
 

Member Typedef Documentation

◆ Sizes_t

typedef std::pair<off_t,off_t> XrdOssCsiPages::Sizes_t

Constructor & Destructor Documentation

◆ XrdOssCsiPages()

XrdOssCsiPages::XrdOssCsiPages ( const std::string &  fn,
std::unique_ptr< XrdOssCsiTagstore ts,
bool  wh,
bool  am,
bool  dpe,
bool  dlw,
const char *   
)

◆ ~XrdOssCsiPages()

XrdOssCsiPages::~XrdOssCsiPages ( )
inline

References Close().

Member Function Documentation

◆ apply_sequential_aligned_modify()

ssize_t XrdOssCsiPages::apply_sequential_aligned_modify ( const void *  ,
off_t  ,
size_t  ,
const uint32_t *  ,
bool  ,
bool  ,
uint32_t  ,
uint32_t   
)
protected

◆ BasicConsistencyCheck()

void XrdOssCsiPages::BasicConsistencyCheck ( XrdOssDF )

◆ ByteMismatchError()

std::string XrdOssCsiPages::ByteMismatchError ( size_t  blen,
off_t  off,
uint8_t  user,
uint8_t  page 
)
inlineprotected

References fn_.

◆ Close()

int XrdOssCsiPages::Close ( )

Referenced by ~XrdOssCsiPages().

◆ CRCMismatchError()

std::string XrdOssCsiPages::CRCMismatchError ( size_t  blen,
off_t  pgnum,
uint32_t  got,
uint32_t  expected 
)
inlineprotected

References fn_, and XrdSys::PageSize.

◆ FetchRange()

int XrdOssCsiPages::FetchRange ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
uint32_t *  ,
uint64_t  ,
XrdOssCsiRangeGuard  
)

◆ FetchRangeAligned()

int XrdOssCsiPages::FetchRangeAligned ( const void *  ,
off_t  ,
size_t  ,
const Sizes_t ,
uint32_t *  ,
uint64_t   
)
protected

◆ FetchRangeUnaligned()

int XrdOssCsiPages::FetchRangeUnaligned ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
const Sizes_t ,
uint32_t *  ,
uint64_t   
)
protected

◆ FetchRangeUnaligned_postblock()

int XrdOssCsiPages::FetchRangeUnaligned_postblock ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
off_t  ,
uint32_t *  ,
uint32_t *  ,
size_t  ,
uint64_t   
)
protected

◆ FetchRangeUnaligned_preblock()

int XrdOssCsiPages::FetchRangeUnaligned_preblock ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
off_t  ,
uint32_t *  ,
uint32_t *  ,
uint64_t   
)
protected

◆ Flush()

void XrdOssCsiPages::Flush ( )

◆ Fsync()

int XrdOssCsiPages::Fsync ( )

◆ fullread()

static ssize_t XrdOssCsiPages::fullread ( XrdOssDF fd,
void *  buff,
const off_t  off,
const size_t  sz 
)
inlinestaticprotected

References maxread().

◆ IsReadOnly()

bool XrdOssCsiPages::IsReadOnly ( ) const
inline

References rdonly_.

◆ LockMakeUnverified()

int XrdOssCsiPages::LockMakeUnverified ( )
protected

◆ LockResetSizes()

int XrdOssCsiPages::LockResetSizes ( XrdOssDF ,
off_t   
)

◆ LockSetTrackedSize()

int XrdOssCsiPages::LockSetTrackedSize ( off_t  )
protected

◆ LockTrackinglen()

void XrdOssCsiPages::LockTrackinglen ( XrdOssCsiRangeGuard ,
off_t  ,
off_t  ,
bool   
)

◆ LockTruncateSize()

int XrdOssCsiPages::LockTruncateSize ( off_t  ,
bool   
)
protected

◆ maxread()

static ssize_t XrdOssCsiPages::maxread ( XrdOssDF fd,
void *  buff,
const off_t  off,
const size_t  sz,
size_t  tg = 0 
)
inlinestaticprotected

References XrdOssDF::Read().

Referenced by fullread().

◆ Open()

int XrdOssCsiPages::Open ( const char *  path,
off_t  dsize,
int  flags,
XrdOucEnv envP 
)

◆ PageReadError()

std::string XrdOssCsiPages::PageReadError ( size_t  blen,
off_t  pgnum,
int  ret 
)
inlineprotected

References fn_, and XrdSys::PageSize.

◆ pgDoCalc()

static void XrdOssCsiPages::pgDoCalc ( const void *  ,
off_t  ,
size_t  ,
uint32_t *   
)
static

◆ pgWritePrelockCheck()

static int XrdOssCsiPages::pgWritePrelockCheck ( const void *  ,
off_t  ,
size_t  ,
const uint32_t *  ,
uint64_t   
)
static

◆ StoreRange()

int XrdOssCsiPages::StoreRange ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
uint32_t *  ,
uint64_t  ,
XrdOssCsiRangeGuard  
)

◆ StoreRangeAligned()

int XrdOssCsiPages::StoreRangeAligned ( const void *  ,
off_t  ,
size_t  ,
const Sizes_t ,
uint32_t *   
)
protected

◆ StoreRangeUnaligned()

int XrdOssCsiPages::StoreRangeUnaligned ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
const Sizes_t ,
const uint32_t *   
)
protected

◆ StoreRangeUnaligned_postblock()

int XrdOssCsiPages::StoreRangeUnaligned_postblock ( XrdOssDF ,
const void *  ,
size_t  ,
off_t  ,
off_t  ,
const uint32_t *  ,
uint32_t &   
)
protected

◆ StoreRangeUnaligned_preblock()

int XrdOssCsiPages::StoreRangeUnaligned_preblock ( XrdOssDF ,
const void *  ,
size_t  ,
off_t  ,
off_t  ,
const uint32_t *  ,
uint32_t &   
)
protected

◆ TagsReadError()

std::string XrdOssCsiPages::TagsReadError ( off_t  start,
size_t  n,
int  ret 
)
inlineprotected

References fn_.

◆ TagsWriteError()

std::string XrdOssCsiPages::TagsWriteError ( off_t  start,
size_t  n,
int  ret 
)
inlineprotected

References fn_.

◆ TrackedSizeRelease()

void XrdOssCsiPages::TrackedSizeRelease ( )

◆ TrackedSizesGet()

int XrdOssCsiPages::TrackedSizesGet ( Sizes_t ,
bool   
)

◆ truncate()

int XrdOssCsiPages::truncate ( XrdOssDF ,
off_t  ,
XrdOssCsiRangeGuard  
)

◆ UpdateRange()

int XrdOssCsiPages::UpdateRange ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
XrdOssCsiRangeGuard  
)

◆ UpdateRangeAligned()

int XrdOssCsiPages::UpdateRangeAligned ( const void *  ,
off_t  ,
size_t  ,
const Sizes_t  
)
protected

◆ UpdateRangeHoleUntilPage()

int XrdOssCsiPages::UpdateRangeHoleUntilPage ( XrdOssDF ,
off_t  ,
const Sizes_t  
)
protected

◆ UpdateRangeUnaligned()

int XrdOssCsiPages::UpdateRangeUnaligned ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
const Sizes_t  
)
protected

◆ VerificationStatus()

int XrdOssCsiPages::VerificationStatus ( )

◆ VerifyRange()

int XrdOssCsiPages::VerifyRange ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
XrdOssCsiRangeGuard  
)

◆ VerifyRangeAligned()

int XrdOssCsiPages::VerifyRangeAligned ( const void *  ,
off_t  ,
size_t  ,
const Sizes_t  
)
protected

◆ VerifyRangeUnaligned()

int XrdOssCsiPages::VerifyRangeUnaligned ( XrdOssDF ,
const void *  ,
off_t  ,
size_t  ,
const Sizes_t  
)
protected

Member Data Documentation

◆ allowMissingTags_

bool XrdOssCsiPages::allowMissingTags_
protected

◆ checklastpg_

bool XrdOssCsiPages::checklastpg_
protected

◆ disablePgExtend_

bool XrdOssCsiPages::disablePgExtend_
protected

◆ fn_

const std::string XrdOssCsiPages::fn_
protected

◆ hasMissingTags_

bool XrdOssCsiPages::hasMissingTags_
protected

◆ lastpgforloose_

off_t XrdOssCsiPages::lastpgforloose_
protected

◆ loosewrite_

bool XrdOssCsiPages::loosewrite_
protected

◆ loosewriteConfigured_

const bool XrdOssCsiPages::loosewriteConfigured_
protected

◆ rangeaddmtx_

XrdSysMutex XrdOssCsiPages::rangeaddmtx_
protected

◆ ranges_

XrdOssCsiRanges XrdOssCsiPages::ranges_
protected

◆ rdonly_

bool XrdOssCsiPages::rdonly_
protected

Referenced by IsReadOnly().

◆ stsize_

const size_t XrdOssCsiPages::stsize_ = 1024
staticprotected

◆ tident

const char* XrdOssCsiPages::tident
protected

◆ tident_

const std::string XrdOssCsiPages::tident_
protected

◆ ts_

std::unique_ptr<XrdOssCsiTagstore> XrdOssCsiPages::ts_
protected

◆ tscond_

XrdSysCondVar XrdOssCsiPages::tscond_
protected

◆ tsforupdate_

bool XrdOssCsiPages::tsforupdate_
protected

◆ writeHoles_

bool XrdOssCsiPages::writeHoles_
protected

The documentation for this class was generated from the following file: