[nostalgia/fs] Fix Directory to write back out as a Directory
This commit is contained in:
parent
4a221e52db
commit
880e6e49d6
6
deps/ox/src/ox/fs/filesystem/directory.hpp
vendored
6
deps/ox/src/ox/fs/filesystem/directory.hpp
vendored
@ -13,6 +13,8 @@
|
|||||||
#include <ox/ptrarith/nodebuffer.hpp>
|
#include <ox/ptrarith/nodebuffer.hpp>
|
||||||
#include <ox/std/byteswap.hpp>
|
#include <ox/std/byteswap.hpp>
|
||||||
|
|
||||||
|
#include "types.hpp"
|
||||||
|
|
||||||
namespace ox {
|
namespace ox {
|
||||||
|
|
||||||
template<typename InodeId_t>
|
template<typename InodeId_t>
|
||||||
@ -131,7 +133,7 @@ template<typename FileStore, typename InodeId_t>
|
|||||||
ox::Error Directory<FileStore, InodeId_t>::init() noexcept {
|
ox::Error Directory<FileStore, InodeId_t>::init() noexcept {
|
||||||
constexpr auto Size = sizeof(Buffer);
|
constexpr auto Size = sizeof(Buffer);
|
||||||
oxTrace("ox::fs::Directory::init") << "Initializing Directory with Inode ID:" << m_inodeId;
|
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>();
|
auto buff = m_fs.read(m_inodeId).template to<Buffer>();
|
||||||
if (!buff.valid()) {
|
if (!buff.valid()) {
|
||||||
m_size = 0;
|
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 entry:" << name->data();
|
||||||
oxTrace("ox::fs::Directory::write") << "Attempting to write Directory to FileStore";
|
oxTrace("ox::fs::Directory::write") << "Attempting to write Directory to FileStore";
|
||||||
oxReturnError(val->init(inode, name->data(), val.size()));
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user