summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Kernel/Memory/InodeVMObject.cpp8
-rw-r--r--Kernel/Memory/InodeVMObject.h4
-rw-r--r--Kernel/Memory/PrivateInodeVMObject.cpp4
-rw-r--r--Kernel/Memory/SharedInodeVMObject.cpp4
4 files changed, 10 insertions, 10 deletions
diff --git a/Kernel/Memory/InodeVMObject.cpp b/Kernel/Memory/InodeVMObject.cpp
index 23e13af719..da88ba7084 100644
--- a/Kernel/Memory/InodeVMObject.cpp
+++ b/Kernel/Memory/InodeVMObject.cpp
@@ -9,15 +9,15 @@
namespace Kernel::Memory {
-InodeVMObject::InodeVMObject(Inode& inode, size_t size)
- : VMObject(VMObject::must_create_physical_pages_but_fixme_should_propagate_errors(size))
+InodeVMObject::InodeVMObject(Inode& inode, FixedArray<RefPtr<PhysicalPage>>&& new_physical_pages)
+ : VMObject(move(new_physical_pages))
, m_inode(inode)
, m_dirty_pages(page_count(), false)
{
}
-InodeVMObject::InodeVMObject(InodeVMObject const& other)
- : VMObject(other.must_clone_physical_pages_but_fixme_should_propagate_errors())
+InodeVMObject::InodeVMObject(InodeVMObject const& other, FixedArray<RefPtr<PhysicalPage>>&& new_physical_pages)
+ : VMObject(move(new_physical_pages))
, m_inode(other.m_inode)
, m_dirty_pages(page_count(), false)
{
diff --git a/Kernel/Memory/InodeVMObject.h b/Kernel/Memory/InodeVMObject.h
index d8c46b7a2a..33898faf10 100644
--- a/Kernel/Memory/InodeVMObject.h
+++ b/Kernel/Memory/InodeVMObject.h
@@ -28,8 +28,8 @@ public:
u32 executable_mappings() const;
protected:
- explicit InodeVMObject(Inode&, size_t);
- explicit InodeVMObject(InodeVMObject const&);
+ explicit InodeVMObject(Inode&, FixedArray<RefPtr<PhysicalPage>>&&);
+ explicit InodeVMObject(InodeVMObject const&, FixedArray<RefPtr<PhysicalPage>>&&);
InodeVMObject& operator=(InodeVMObject const&) = delete;
InodeVMObject& operator=(InodeVMObject&&) = delete;
diff --git a/Kernel/Memory/PrivateInodeVMObject.cpp b/Kernel/Memory/PrivateInodeVMObject.cpp
index cd552bc34f..16573fc2dd 100644
--- a/Kernel/Memory/PrivateInodeVMObject.cpp
+++ b/Kernel/Memory/PrivateInodeVMObject.cpp
@@ -20,12 +20,12 @@ ErrorOr<NonnullRefPtr<VMObject>> PrivateInodeVMObject::try_clone()
}
PrivateInodeVMObject::PrivateInodeVMObject(Inode& inode, size_t size)
- : InodeVMObject(inode, size)
+ : InodeVMObject(inode, VMObject::must_create_physical_pages_but_fixme_should_propagate_errors(size))
{
}
PrivateInodeVMObject::PrivateInodeVMObject(PrivateInodeVMObject const& other)
- : InodeVMObject(other)
+ : InodeVMObject(other, other.must_clone_physical_pages_but_fixme_should_propagate_errors())
{
}
diff --git a/Kernel/Memory/SharedInodeVMObject.cpp b/Kernel/Memory/SharedInodeVMObject.cpp
index 9d31e82fc7..48a6c27217 100644
--- a/Kernel/Memory/SharedInodeVMObject.cpp
+++ b/Kernel/Memory/SharedInodeVMObject.cpp
@@ -26,12 +26,12 @@ ErrorOr<NonnullRefPtr<VMObject>> SharedInodeVMObject::try_clone()
}
SharedInodeVMObject::SharedInodeVMObject(Inode& inode, size_t size)
- : InodeVMObject(inode, size)
+ : InodeVMObject(inode, VMObject::must_create_physical_pages_but_fixme_should_propagate_errors(size))
{
}
SharedInodeVMObject::SharedInodeVMObject(SharedInodeVMObject const& other)
- : InodeVMObject(other)
+ : InodeVMObject(other, other.must_clone_physical_pages_but_fixme_should_propagate_errors())
{
}