[nostalgia/fs] Fix Directory to write back out as a Directory

This commit is contained in:
Gary Talent 2020-06-15 01:34:48 -05:00
parent 4a221e52db
commit 880e6e49d6

View File

@ -13,6 +13,8 @@
#include <ox/ptrarith/nodebuffer.hpp>
#include <ox/std/byteswap.hpp>
#include "types.hpp"
namespace ox {
template<typename InodeId_t>
@ -131,7 +133,7 @@ template<typename FileStore, typename InodeId_t>
ox::Error Directory<FileStore, InodeId_t>::init() noexcept {
constexpr auto Size = sizeof(Buffer);
oxTrace("ox::fs::Directory::init") << "Initializing Directory with Inode ID:" << m_inodeId;
oxReturnError(m_fs.write(m_inodeId, nullptr, Size));
oxReturnError(m_fs.write(m_inodeId, nullptr, Size, FileType_Directory));
auto buff = m_fs.read(m_inodeId).template to<Buffer>();
if (!buff.valid()) {
m_size = 0;
@ -254,7 +256,7 @@ ox::Error Directory<FileStore, InodeId_t>::write(PathIterator path, InodeId_t in
oxTrace("ox::fs::Directory::write") << "Attempting to write Directory entry:" << name->data();
oxTrace("ox::fs::Directory::write") << "Attempting to write Directory to FileStore";
oxReturnError(val->init(inode, name->data(), val.size()));
return m_fs.write(m_inodeId, cpy, cpy->size());
return m_fs.write(m_inodeId, cpy, cpy->size(), FileType_Directory);
}
}