From 9d8b704783b94ed3ee4cd87f87e54eb1808d7db8 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 12 May 2024 22:45:04 +0200 Subject: KernelHeap.cxx && NewFS.cxx: fix ke_protect_ke_heap, Document NewFS B-Tree algorihm. Signed-off-by: Amlal El Mahrouss --- Kernel/Source/FS/NewFS.cxx | 7 +- Kernel/Source/KernelHeap.cxx | 2 +- Meta/NewFS-B-Tree.svg | 162 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 169 insertions(+), 2 deletions(-) create mode 100644 Meta/NewFS-B-Tree.svg diff --git a/Kernel/Source/FS/NewFS.cxx b/Kernel/Source/FS/NewFS.cxx index 41869fcd..9e2ea16f 100644 --- a/Kernel/Source/FS/NewFS.cxx +++ b/Kernel/Source/FS/NewFS.cxx @@ -20,7 +20,12 @@ using namespace NewOS; ///! BUGS: 0 /***********************************************************************************/ -/* This file implements the New File System. +/// This file implements the New File System. +/// New File System implements a B-Tree based algortihm. +/// /Disk +/// /Path1 /Path2 +/// /File.txt /File.pef /File.png <-- symlink. +/// /Path1/File.txt /***********************************************************************************/ STATIC MountpointInterface sMountpointInterface; diff --git a/Kernel/Source/KernelHeap.cxx b/Kernel/Source/KernelHeap.cxx index d0037ec3..f3271e9b 100644 --- a/Kernel/Source/KernelHeap.cxx +++ b/Kernel/Source/KernelHeap.cxx @@ -159,7 +159,7 @@ namespace NewOS if (virtualAddress->fPresent && kKernelHeapMagic == virtualAddress->fMagic) { virtualAddress->fCRC32 = - ke_calculate_crc32((Char*)heapPtr, virtualAddress->fTargetPtrSize); + ke_calculate_crc32((Char*)virtualAddress->fTargetPtr, virtualAddress->fTargetPtrSize); return true; } } diff --git a/Meta/NewFS-B-Tree.svg b/Meta/NewFS-B-Tree.svg new file mode 100644 index 00000000..2b6ed597 --- /dev/null +++ b/Meta/NewFS-B-Tree.svg @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dir + File + Link + File + Dir + Dir + File + File + File + File + \ No newline at end of file -- cgit v1.2.3