Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject

InodeVMObject is a VMObject with an underlying Inode in the filesystem.
AnonymousVMObject has no Inode.

I'm happy that InodeVMObject::inode() can now return Inode& instead of
VMObject::inode() return Inode*. :^)
This commit is contained in:
Andreas Kling 2019-08-07 18:06:17 +02:00
commit 6bdb81ad87
Notes: sideshowbarker 2024-07-19 12:50:28 +09:00
16 changed files with 286 additions and 200 deletions

View file

@ -2,7 +2,7 @@
#include <Kernel/FileSystem/SharedMemory.h>
#include <Kernel/Lock.h>
#include <Kernel/Process.h>
#include <Kernel/VM/VMObject.h>
#include <Kernel/VM/AnonymousVMObject.h>
Lockable<HashMap<String, RefPtr<SharedMemory>>>& shared_memories()
{
@ -59,7 +59,7 @@ KResult SharedMemory::truncate(int length)
}
if (!m_vmo) {
m_vmo = VMObject::create_anonymous(length);
m_vmo = AnonymousVMObject::create_with_size(length);
return KSuccess;
}