17 #ifndef __XFS_UTILS_HPP__
18 #define __XFS_UTILS_HPP__
27 #include <xfs/xfs_types.h>
47 : blockCount((bytes.bytes() + BASIC_BLOCK_SIZE - 1) / BASIC_BLOCK_SIZE) {}
50 : blockCount(_blockCount) {}
54 return blockCount == that.blockCount;
59 return blockCount != that.blockCount;
62 uint64_t
blocks()
const {
return blockCount; }
68 static constexpr
unsigned BASIC_BLOCK_SIZE = 512;
97 const std::string& path,
102 const std::string& path,
108 const std::string& path,
113 const std::string& directory);
117 const std::string& directory,
122 const std::string& directory);
128 #endif // __XFS_UTILS_HPP__
BasicBlocks(const Bytes &bytes)
Definition: utils.hpp:46
Result< QuotaInfo > getProjectQuota(const std::string &path, prid_t projectId)
Bytes bytes() const
Definition: utils.hpp:63
Bytes limit
Definition: utils.hpp:35
Bytes used
Definition: utils.hpp:36
bool operator==(const BasicBlocks &that) const
Definition: utils.hpp:52
Definition: result.hpp:40
bool operator==(const QuotaInfo &left, const QuotaInfo &right)
Definition: utils.hpp:78
Try< Nothing > clearProjectQuota(const std::string &path, prid_t projectId)
Result< prid_t > getProjectId(const std::string &directory)
QuotaPolicy
Definition: utils.hpp:72
bool isPathXfs(const std::string &path)
uint64_t blocks() const
Definition: utils.hpp:62
Try< bool > isQuotaEnabled(const std::string &path)
bool operator!=(const BasicBlocks &that) const
Definition: utils.hpp:57
Try< Nothing > clearProjectId(const std::string &directory)
constexpr BasicBlocks(uint64_t _blockCount)
Definition: utils.hpp:49
Try< Nothing > setProjectId(const std::string &directory, prid_t projectId)
Option< Error > validateProjectIds(const IntervalSet< prid_t > &projectRange)
Try< Nothing > setProjectQuota(const std::string &path, prid_t projectId, Bytes limit)