From 69c34116f08637212b78859b8e71922d408b1475 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 31 Aug 2019 18:48:08 -0400 Subject: [PATCH] ram_disk: Add note about code duplication with ramfs. --- .../kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp b/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp index b32c888800..fdb3200be9 100644 --- a/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp @@ -553,14 +553,14 @@ struct RawDevice : Device, DoublyLinkedListLinkImpl { ASSERT(offset % B_PAGE_SIZE == 0); ASSERT(length % B_PAGE_SIZE == 0); - + vm_page** pages = new(std::nothrow) vm_page*[length / B_PAGE_SIZE]; if (pages == NULL) return B_NO_MEMORY; ArrayDeleter pagesDeleter(pages); _GetPages(offset, length, false, pages); - + AutoLocker locker(fCache); uint32 j; for (j = 0; j < length / B_PAGE_SIZE; j++) { @@ -651,6 +651,9 @@ private: void _GetPages(off_t offset, off_t length, bool isWrite, vm_page** pages) { + // TODO: This method is duplicated in ramfs' DataContainer. Perhaps it + // should be put into a common location? + // get the pages, we already have AutoLocker locker(fCache); @@ -701,6 +704,9 @@ private: void _PutPages(off_t offset, off_t length, vm_page** pages, bool success) { + // TODO: This method is duplicated in ramfs' DataContainer. Perhaps it + // should be put into a common location? + AutoLocker locker(fCache); // Mark all pages unbusy. On error free the newly allocated pages.