1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-24 00:35:08 +00:00

Reworked Inode to have a dirty bit and subclass-implemented flush_metadata().

This way we can defer disk writes as long as we like. There's no automatic
flushing happening just yet.
This commit is contained in:
Andreas Kling 2018-12-19 21:56:45 +01:00
parent d506c857ab
commit 1f44cd9dd9
11 changed files with 82 additions and 58 deletions

View file

@ -50,6 +50,7 @@ public:
InodeMetadata metadata() const { return m_vnode->metadata(); }
Vnode* vnode() { return m_vnode.ptr(); }
Inode* inode() { return m_vnode ? m_vnode->core_inode() : nullptr; }
#ifdef SERENITY
bool is_blocking() const { return m_is_blocking; }
@ -64,9 +65,6 @@ public:
ByteBuffer& generator_cache() { return m_generator_cache; }
int set_atime_and_mtime(time_t, time_t);
int set_ctime(time_t);
private:
friend class VFS;
explicit FileDescriptor(RetainPtr<Vnode>&&);