diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-21 17:47:16 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-21 17:47:16 +0200 |
| commit | 4f8fb9c70f814de796d61d7d85d4bf133afddafa (patch) | |
| tree | e411bb18332d2e3a37e37a12b51017e366cad31d /dev/kernel/src/FS | |
| parent | 58f969493aaa834f472402a2bebe1cd37094a6d2 (diff) | |
dev, kernel: Made HeFS use a RB-Tree traversal algorithm.
- ran format command.
- a variation of a red-black tree traversal, with customized
fallback mechanism.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/FS')
| -rw-r--r-- | dev/kernel/src/FS/HeFS.cc | 23 | ||||
| -rw-r--r-- | dev/kernel/src/FS/NeFS.cc | 2 |
2 files changed, 18 insertions, 7 deletions
diff --git a/dev/kernel/src/FS/HeFS.cc b/dev/kernel/src/FS/HeFS.cc index 8d73b61e..2269896f 100644 --- a/dev/kernel/src/FS/HeFS.cc +++ b/dev/kernel/src/FS/HeFS.cc @@ -141,11 +141,22 @@ namespace Kernel start = dir->fNext; - if (start == 0) - start = dir->fChild; - - if (start == 0) - start = dir->fParent; + if (dir->fColor == kHeFSBlack) + { + if (dir->fParent != 0) + start = dir->fParent; + } + else + { + if (dir->fChild != 0) + start = dir->fChild; + else if (dir->fNext != 0) + start = dir->fNext; + else if (dir->fPrev != 0) + start = dir->fPrev; + else + start = dir->fParent; + } } delete dir; @@ -173,7 +184,7 @@ namespace Kernel NE_UNUSED(mnt); NE_UNUSED(parent_dir_name); NE_UNUSED(node); - + return NO; } } // namespace Detail diff --git a/dev/kernel/src/FS/NeFS.cc b/dev/kernel/src/FS/NeFS.cc index 115e4c82..e8e3804c 100644 --- a/dev/kernel/src/FS/NeFS.cc +++ b/dev/kernel/src/FS/NeFS.cc @@ -460,7 +460,7 @@ _Output Bool NeFileSystemParser::FormatGPT(_Input _Output DriveTrait* drive, _In NE_UNUSED(end_lba); NE_UNUSED(flags); NE_UNUSED(part_name); - + (void)(kout << "FormatGPT: Not implemented yet.\r"); return NO; |
