ewmscp
..
|
#include <gpfsCommon.h>
Classes | |
class | attrDataType |
Public Member Functions | |
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) |
Static Public Member Functions | |
static std::unique_ptr< acl::list > | aclFromGpfs (const gpfs_acl_handler &acl, const std::string &aPath) |
Protected Member Functions | |
void | releaseUsedBlocks (size_t aBlockSize) |
void | handleParallelUsedBlocks (size_t aBlockSize, off_t offset) |
Protected Attributes | |
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 8 of file gpfsCommon.h.
gpfsIoCommon::gpfsIoCommon | ( | const std::string & | aPath | ) |
Definition at line 8 of file gpfsCommon.cpp.
|
overridedefault |
|
static |
Definition at line 83 of file gpfsCommon.cpp.
References acl::list::entryType::access_allowed_ace_type, acl::list::entryType::access_denied_ace_type, acl::list::entryType::add_file, acl::list::entryType::add_subdirectory, acl::list::entryType::append_data, acl::list::entryType::delete_, acl::list::entryType::delete_child, acl::list::entryType::directory_inherit_ace, acl::list::entryType::execute, acl::list::entryType::file_inherit_ace, acl::list::entryType::identifier_group, acl::list::entryType::inherit_only_ace, acl::list::entryType::inherited_ace, acl::list::entryType::list_directory, acl::list::entryType::no_propagate_inherit_ace, acl::list::entryType::read_acl, acl::list::entryType::read_attributes, acl::list::entryType::read_data, acl::list::entryType::read_named_attrs, gpfs_acl_handler::size(), acl::list::entryType::special_who, acl::list::entryType::synchronize, acl::list::entryType::write_acl, acl::list::entryType::write_attributes, acl::list::entryType::write_data, acl::list::entryType::write_named_attrs, and acl::list::entryType::write_owner.
Referenced by getAclData(), and inputHandler::Gpfs::getAclData().
|
overridevirtual |
get acls
std::system_error | when reading of acls fails |
Reimplemented from ioHandle.
Definition at line 77 of file gpfsCommon.cpp.
References aclFromGpfs(), posixFileIoCommon::fd, gpfs_acl_handler::get(), and posixFileIoCommon::path.
|
overridevirtual |
get attributes in the optimal way for setting with aOutputHandler
std::system_error | when reading of attributes fails |
Reimplemented from ioHandle.
Definition at line 55 of file gpfsCommon.cpp.
References posixFileIoCommon::fd, throwcall::good0(), posixFileIoCommon::path, and timerInst.
|
protected |
Definition at line 26 of file gpfsCommon.cpp.
References blockBookkeepingMutex, errMsg::debug, errMsg::emit(), leastRecentlyAccessedBlock, nextUsedBlockMap, posixFileIoCommon::path, releaseUsedBlocks(), and usedBlockMap.
|
protected |
Definition at line 14 of file gpfsCommon.cpp.
References gpfs_fcntl_handler::buffer, gpfs_fcntl_handler::call(), posixFileIoCommon::fd, leastRecentlyAccessedBlock, leastRecentlyReleasedBlock, posixFileIoCommon::path, timerInst, and usedBlockMap.
Referenced by handleParallelUsedBlocks().
|
protected |
Definition at line 14 of file gpfsCommon.h.
Referenced by handleParallelUsedBlocks().
|
protected |
Definition at line 10 of file gpfsCommon.h.
Referenced by handleParallelUsedBlocks(), and releaseUsedBlocks().
|
protected |
Definition at line 11 of file gpfsCommon.h.
Referenced by releaseUsedBlocks().
|
protected |
Definition at line 13 of file gpfsCommon.h.
Referenced by handleParallelUsedBlocks().
|
protected |
Definition at line 12 of file gpfsCommon.h.
Referenced by handleParallelUsedBlocks(), and releaseUsedBlocks().