diff options
-rw-r--r-- | Kernel/Memory/InodeVMObject.cpp | 8 | ||||
-rw-r--r-- | Kernel/Memory/InodeVMObject.h | 4 | ||||
-rw-r--r-- | Kernel/Memory/PrivateInodeVMObject.cpp | 4 | ||||
-rw-r--r-- | Kernel/Memory/SharedInodeVMObject.cpp | 4 |
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()) { } |