ewmscp
..
|
#include <outputHandlerGpfs.h>
Public Member Functions | |
writerGpfs (const std::string &aPath, bool mightAppend, size_t sourceSize, size_t readBlockSize, copyRequest::stateType &state, bool noWrite, std::unique_ptr< ioHandle::attrDataType > attrData, std::unique_ptr< acl::list > aAclData) | |
writerGpfs (std::string &aPath, size_t sourceSize, bool noWrite, std::unique_ptr< ioHandle::attrDataType > aAttrData, std::unique_ptr< acl::list > aAclData, base &handler) | |
~writerGpfs () noexcept(false) override | |
void | writeBlock (const block &b) override |
void | writeBlockP (const block &b) override |
![]() | |
gpfsIoCommon (const std::string &aPath) | |
~gpfsIoCommon () override=default | |
std::unique_ptr< ioHandle::attrDataType > | getAttrData (const outputHandler::base *aOutputHandler) override |
get attributes in the optimal way for setting with aOutputHandler More... | |
std::unique_ptr< acl::list > | getAclData () override |
get acls More... | |
![]() | |
posixFileIoCommon (const std::string &aPath) | |
void | setXattr (const std::string &name, const std::string &value) override |
std::string | getXattr (const std::string &name) override |
get one extended attribute value More... | |
void | removeXattr (const std::string &name) override |
std::unique_ptr< const genericStat > | getStat () override |
std::unique_ptr< ioHandle::attrDataType > | getAttrData (const outputHandler::base *aOutputHandler) override |
get attributes in the optimal way for setting with aOutputHandler More... | |
![]() | |
ioHandle () | |
virtual | ~ioHandle () noexcept(false) |
virtual bool | parallelizable () const |
tell if this handler is capable of parallel IO. Unsually not the case More... | |
virtual size_t | getBlockSize () const |
virtual void | setBlockSize (size_t newSize) |
Private Member Functions | |
void | doSpecialFdHandling (size_t sourceSize) |
void | setAclData () |
Static Private Attributes | |
static options::single< bool > | usePreallocate |
Additional Inherited Members | |
![]() | |
static std::unique_ptr< acl::list > | aclFromGpfs (const gpfs_acl_handler &acl, const std::string &aPath) |
![]() | |
void | releaseUsedBlocks (size_t aBlockSize) |
void | handleParallelUsedBlocks (size_t aBlockSize, off_t offset) |
![]() | |
off_t | leastRecentlyAccessedBlock |
off_t | leastRecentlyReleasedBlock |
std::bitset< 64 > | usedBlockMap |
std::bitset< 64 > | nextUsedBlockMap |
std::mutex | blockBookkeepingMutex |
![]() | |
const std::string & | path |
int | fd = -1 |
![]() | |
size_t | blockSize |
in bytes, block size to be used when reading or writing More... | |
Definition at line 12 of file outputHandlerGpfs.h.
outputHandler::Gpfs::writerGpfs::writerGpfs | ( | const std::string & | aPath, |
bool | mightAppend, | ||
size_t | sourceSize, | ||
size_t | readBlockSize, | ||
copyRequest::stateType & | state, | ||
bool | noWrite, | ||
std::unique_ptr< ioHandle::attrDataType > | attrData, | ||
std::unique_ptr< acl::list > | aAclData | ||
) |
Definition at line 74 of file outputHandlerGpfs.cpp.
References doSpecialFdHandling().
outputHandler::Gpfs::writerGpfs::writerGpfs | ( | std::string & | aPath, |
size_t | sourceSize, | ||
bool | noWrite, | ||
std::unique_ptr< ioHandle::attrDataType > | aAttrData, | ||
std::unique_ptr< acl::list > | aAclData, | ||
base & | handler | ||
) |
Definition at line 90 of file outputHandlerGpfs.cpp.
References doSpecialFdHandling().
|
overridenoexcept |
Definition at line 102 of file outputHandlerGpfs.cpp.
References gpfs_fcntl_handler::buffer, gpfs_fcntl_handler::call(), outputHandler::doClearCache, and timerInst.
|
private |
Definition at line 51 of file outputHandlerGpfs.cpp.
References gpfs_fcntl_handler::buffer, gpfs_fcntl_handler::call(), posixFileIoCommon::fd, ioHandle::getBlockSize(), throwcall::good0(), posixFileIoCommon::path, timerInst, usePreallocate, and outputHandler::useRange.
Referenced by writerGpfs().
|
private |
Definition at line 134 of file outputHandlerGpfs.cpp.
References gpfs_acl_handler::begin(), gpfs_acl_handler::set(), and acl::list::entryType::special_who.
|
override |
Definition at line 119 of file outputHandlerGpfs.cpp.
References outputHandler::freeRange, block::max_size(), block::offset(), and outputHandler::posixFile::writerPosixFile::writeBlock().
|
override |
Definition at line 127 of file outputHandlerGpfs.cpp.
References outputHandler::freeRange, block::max_size(), block::offset(), and outputHandler::posixFile::writerPosixFile::writeBlockP().
|
staticprivate |
Definition at line 13 of file outputHandlerGpfs.h.
Referenced by doSpecialFdHandling().