[ox] Fix Xcode build errors
This commit is contained in:
@@ -75,25 +75,25 @@ class FileStoreTemplate {
|
||||
public:
|
||||
FileStoreTemplate() = default;
|
||||
|
||||
FileStoreTemplate(void *buff, size_t buffSize);
|
||||
FileStoreTemplate(void *buff, std::size_t buffSize);
|
||||
|
||||
static Error format(void *buffer, size_t bufferSize);
|
||||
static Error format(void *buffer, std::size_t bufferSize);
|
||||
|
||||
Error setSize(InodeId_t buffSize);
|
||||
Error setSize(std::size_t buffSize);
|
||||
|
||||
Error incLinks(InodeId_t id);
|
||||
Error incLinks(uint64_t id);
|
||||
|
||||
Error decLinks(InodeId_t id);
|
||||
Error decLinks(uint64_t id);
|
||||
|
||||
Error write(InodeId_t id, const void *data, FsSize_t dataSize, uint8_t fileType = 0);
|
||||
Error write(uint64_t id64, const void *data, FsSize_t dataSize, uint8_t fileType = 0);
|
||||
|
||||
Error remove(InodeId_t id);
|
||||
Error remove(uint64_t id);
|
||||
|
||||
Error read(InodeId_t id, void *out, FsSize_t outSize, FsSize_t *size = nullptr) const;
|
||||
Error read(uint64_t id, void *out, FsSize_t outSize, FsSize_t *size = nullptr) const;
|
||||
|
||||
Error read(InodeId_t id, FsSize_t readStart, FsSize_t readSize, void *data, FsSize_t *size = nullptr) const;
|
||||
Error read(uint64_t id, FsSize_t readStart, FsSize_t readSize, void *data, FsSize_t *size = nullptr) const;
|
||||
|
||||
ptrarith::Ptr<uint8_t, std::size_t> read(InodeId_t id) const;
|
||||
ptrarith::Ptr<uint8_t, std::size_t> read(uint64_t id) const;
|
||||
|
||||
/**
|
||||
* Reads the "file" at the given id. You are responsible for freeing
|
||||
@@ -106,11 +106,11 @@ class FileStoreTemplate {
|
||||
* @return 0 if read is a success
|
||||
*/
|
||||
template<typename T>
|
||||
Error read(InodeId_t id, FsSize_t readStart,
|
||||
Error read(uint64_t id, FsSize_t readStart,
|
||||
FsSize_t readSize, T *data,
|
||||
FsSize_t *size) const;
|
||||
|
||||
Result<StatInfo> stat(InodeId_t id) const;
|
||||
Result<StatInfo> stat(uint64_t id) const;
|
||||
|
||||
Error resize();
|
||||
|
||||
@@ -185,23 +185,23 @@ class FileStoreTemplate {
|
||||
*/
|
||||
ItemPtr rootInode();
|
||||
|
||||
bool canWrite(ItemPtr existing, size_t size);
|
||||
bool canWrite(ItemPtr existing, std::size_t size);
|
||||
|
||||
};
|
||||
|
||||
template<typename size_t>
|
||||
FileStoreTemplate<size_t>::FileStoreTemplate(void *buff, size_t buffSize) {
|
||||
m_buffSize = buffSize;
|
||||
FileStoreTemplate<size_t>::FileStoreTemplate(void *buff, std::size_t buffSize) {
|
||||
m_buffSize = static_cast<size_t>(buffSize);
|
||||
m_buffer = reinterpret_cast<ptrarith::NodeBuffer<size_t, FileStoreItem<size_t>>*>(buff);
|
||||
if (!m_buffer->valid(buffSize)) {
|
||||
if (!m_buffer->valid(m_buffSize)) {
|
||||
m_buffSize = 0;
|
||||
m_buffer = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::format(void *buffer, size_t bufferSize) {
|
||||
auto nb = new (buffer) Buffer(bufferSize);
|
||||
Error FileStoreTemplate<size_t>::format(void *buffer, std::size_t bufferSize) {
|
||||
auto nb = new (buffer) Buffer(static_cast<size_t>(bufferSize));
|
||||
auto fsData = nb->malloc(sizeof(FileStoreData)).value;
|
||||
if (!fsData.valid()) {
|
||||
oxTrace("ox::fs::FileStoreTemplate::format::fail", "Could not read data section of FileStoreData");
|
||||
@@ -213,27 +213,27 @@ Error FileStoreTemplate<size_t>::format(void *buffer, size_t bufferSize) {
|
||||
return OxError(1, "Could not read data section of FileStoreData");
|
||||
}
|
||||
new (data) FileStoreData;
|
||||
return OxError(0);
|
||||
return {};
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::setSize(InodeId_t size) {
|
||||
Error FileStoreTemplate<size_t>::setSize(std::size_t size) {
|
||||
if (m_buffSize >= size) {
|
||||
return m_buffer->setSize(size);
|
||||
return m_buffer->setSize(static_cast<size_t>(size));
|
||||
}
|
||||
return OxError(1);
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::incLinks(InodeId_t id) {
|
||||
oxRequireM(item, find(id).validate());
|
||||
Error FileStoreTemplate<size_t>::incLinks(uint64_t id) {
|
||||
oxRequireM(item, find(static_cast<size_t>(id)).validate());
|
||||
item->links++;
|
||||
return OxError(0);
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::decLinks(InodeId_t id) {
|
||||
oxRequireM(item, find(id).validate());
|
||||
Error FileStoreTemplate<size_t>::decLinks(uint64_t id) {
|
||||
oxRequireM(item, find(static_cast<size_t>(id)).validate());
|
||||
item->links--;
|
||||
if (item->links == 0) {
|
||||
oxReturnError(remove(item));
|
||||
@@ -242,7 +242,8 @@ Error FileStoreTemplate<size_t>::decLinks(InodeId_t id) {
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::write(InodeId_t id, const void *data, FsSize_t dataSize, uint8_t fileType) {
|
||||
Error FileStoreTemplate<size_t>::write(uint64_t id64, const void *data, FsSize_t dataSize, uint8_t fileType) {
|
||||
const auto id = static_cast<size_t>(id64);
|
||||
oxTracef("ox::fs::FileStoreTemplate::write", "Attempting to write to inode {}", id);
|
||||
auto existing = find(id);
|
||||
if (!canWrite(existing, dataSize)) {
|
||||
@@ -308,14 +309,14 @@ Error FileStoreTemplate<size_t>::write(InodeId_t id, const void *data, FsSize_t
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::remove(InodeId_t id) {
|
||||
return remove(find(id));
|
||||
Error FileStoreTemplate<size_t>::remove(uint64_t id) {
|
||||
return remove(find(static_cast<size_t>(id)));
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::read(InodeId_t id, void *out, FsSize_t outSize, FsSize_t *size) const {
|
||||
Error FileStoreTemplate<size_t>::read(uint64_t id, void *out, FsSize_t outSize, FsSize_t *size) const {
|
||||
oxTracef("ox::fs::FileStoreTemplate::read", "Attempting to read from inode {}", id);
|
||||
auto src = find(id);
|
||||
auto src = find(static_cast<size_t>(id));
|
||||
// error check
|
||||
if (!src.valid()) {
|
||||
oxTracef("ox::fs::FileStoreTemplate::read::fail", "Could not find requested item: {}", id);
|
||||
@@ -344,9 +345,9 @@ Error FileStoreTemplate<size_t>::read(InodeId_t id, void *out, FsSize_t outSize,
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Error FileStoreTemplate<size_t>::read(InodeId_t id, FsSize_t readStart, FsSize_t readSize, void *out, FsSize_t *size) const {
|
||||
Error FileStoreTemplate<size_t>::read(uint64_t id, FsSize_t readStart, FsSize_t readSize, void *out, FsSize_t *size) const {
|
||||
oxTracef("ox::fs::FileStoreTemplate::read", "Attempting to read from inode {}", id);
|
||||
auto src = find(id);
|
||||
auto src = find(static_cast<size_t>(id));
|
||||
// error check
|
||||
if (!src.valid()) {
|
||||
oxTracef("ox::fs::FileStoreTemplate::read::fail", "Could not find requested item: {}", id);
|
||||
@@ -376,10 +377,10 @@ Error FileStoreTemplate<size_t>::read(InodeId_t id, FsSize_t readStart, FsSize_t
|
||||
|
||||
template<typename size_t>
|
||||
template<typename T>
|
||||
Error FileStoreTemplate<size_t>::read(InodeId_t id, FsSize_t readStart,
|
||||
Error FileStoreTemplate<size_t>::read(uint64_t id, FsSize_t readStart,
|
||||
FsSize_t readSize, T *out, FsSize_t *size) const {
|
||||
oxTracef("ox::fs::FileStoreTemplate::read", "Attempting to read from inode {}", id);
|
||||
auto src = find(id);
|
||||
auto src = find(static_cast<size_t>(id));
|
||||
// error check
|
||||
if (!src.valid()) {
|
||||
oxTracef("ox::fs::FileStoreTemplate::read::fail", "Could not find requested item: {}", id);
|
||||
@@ -408,8 +409,8 @@ Error FileStoreTemplate<size_t>::read(InodeId_t id, FsSize_t readStart,
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
ptrarith::Ptr<uint8_t, std::size_t> FileStoreTemplate<size_t>::read(InodeId_t id) const {
|
||||
auto item = find(id);
|
||||
ptrarith::Ptr<uint8_t, std::size_t> FileStoreTemplate<size_t>::read(uint64_t id) const {
|
||||
auto item = find(static_cast<size_t>(id));
|
||||
if (item.valid()) {
|
||||
return item->data();
|
||||
} else {
|
||||
@@ -432,17 +433,17 @@ Error FileStoreTemplate<size_t>::resize(std::size_t size, void *newBuff) {
|
||||
if (m_buffer->size() > size) {
|
||||
return OxError(1);
|
||||
}
|
||||
m_buffSize = size;
|
||||
m_buffSize = static_cast<size_t>(size);
|
||||
if (newBuff) {
|
||||
m_buffer = reinterpret_cast<Buffer*>(newBuff);
|
||||
oxReturnError(m_buffer->setSize(size));
|
||||
oxReturnError(m_buffer->setSize(static_cast<size_t>(size)));
|
||||
}
|
||||
return OxError(0);
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
Result<StatInfo> FileStoreTemplate<size_t>::stat(InodeId_t id) const {
|
||||
oxRequire(inode, find(id).validate());
|
||||
Result<StatInfo> FileStoreTemplate<size_t>::stat(uint64_t id) const {
|
||||
oxRequire(inode, find(static_cast<size_t>(id)).validate());
|
||||
return StatInfo {
|
||||
id,
|
||||
inode->links,
|
||||
@@ -486,8 +487,8 @@ Result<typename FileStoreTemplate<size_t>::InodeId_t> FileStoreTemplate<size_t>:
|
||||
return OxError(1);
|
||||
}
|
||||
for (auto i = 0; i < 100; i++) {
|
||||
auto inode = fsData->random.gen() % MaxValue<InodeId_t>;
|
||||
if (inode > ReservedInodeEnd && !find(inode).valid()) {
|
||||
auto inode = static_cast<typename FileStoreTemplate<size_t>::InodeId_t>(fsData->random.gen() % MaxValue<InodeId_t>);
|
||||
if (inode > ReservedInodeEnd && !find(static_cast<size_t>(inode)).valid()) {
|
||||
return inode;
|
||||
}
|
||||
}
|
||||
@@ -511,7 +512,7 @@ Error FileStoreTemplate<size_t>::compact() {
|
||||
if (fsData && oldAddr == fsData->rootNode) {
|
||||
fsData->rootNode = item.offset();
|
||||
}
|
||||
auto parent = findParent(rootInode(), item->id, oldAddr);
|
||||
auto parent = findParent(rootInode(), item->id, static_cast<size_t>(oldAddr));
|
||||
oxAssert(parent.valid() || rootInode() == item.offset(),
|
||||
"Parent inode not found for item that should have parent.");
|
||||
if (parent.valid()) {
|
||||
@@ -753,8 +754,9 @@ typename FileStoreTemplate<size_t>::ItemPtr FileStoreTemplate<size_t>::rootInode
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
bool FileStoreTemplate<size_t>::canWrite(ItemPtr existing, size_t size) {
|
||||
return existing.size() >= size || m_buffer->spaceNeeded(size) <= m_buffer->available();
|
||||
bool FileStoreTemplate<size_t>::canWrite(ItemPtr existing, std::size_t size) {
|
||||
const auto sz = static_cast<size_t>(size);
|
||||
return existing.size() >= sz || m_buffer->spaceNeeded(sz) <= m_buffer->available();
|
||||
}
|
||||
|
||||
template<typename size_t>
|
||||
|
||||
Reference in New Issue
Block a user