summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/FS
diff options
context:
space:
mode:
authorAmlal <amlal@nekernel.org>2025-04-27 17:30:36 +0200
committerAmlal <amlal@nekernel.org>2025-04-27 17:30:36 +0200
commitcb2f383f45dda8d1cdcef0b87fe4c70243659701 (patch)
treef109c3c44fa3f142d34f8ca61cfa69672e556614 /dev/kernel/src/FS
parent14d5ee9e0cfededddfceec73d5dfa8a2fcda6c5d (diff)
dev, kernel: AHCI, HeFS filesystem, SysChk, and BootSATA improvements.
what? - AHCI now writes to disk, forgot to do it. - Codebase's architecutre has been used to reuse the Generic+AHCI driver in SysChk for AHCI. (tradeoff is 256K in size instead of 36K) - DriveMgr now detects EPM. - And HeFS is still being worked on. Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/FS')
-rw-r--r--dev/kernel/src/FS/HeFS.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/dev/kernel/src/FS/HeFS.cc b/dev/kernel/src/FS/HeFS.cc
index eb6e6fc1..a27712e3 100644
--- a/dev/kernel/src/FS/HeFS.cc
+++ b/dev/kernel/src/FS/HeFS.cc
@@ -737,7 +737,7 @@ namespace Detail {
auto old_start = start;
hefsi_traverse_tree(dir, root, start);
-
+
if (start == 0 || start == old_start) break;
}
@@ -824,7 +824,7 @@ _Output Bool HeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input
root->fSectorSize = drive->fSectorSz;
- root->fStartIND = drive->fLbaStart + sizeof(HEFS_BOOT_NODE) + sizeof(HEFS_BOOT_NODE);
+ root->fStartIND = drive->fLbaStart + sizeof(HEFS_BOOT_NODE);
root->fEndIND = drive->fLbaEnd;
root->fINDCount = 0;
@@ -870,7 +870,7 @@ _Output Bool HeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input
/// @note this allocates 4 ind at format.
SizeT cnt = 4UL;
- Lba next = drive->fLbaStart + sizeof(HEFS_BOOT_NODE) + sizeof(HEFS_BOOT_NODE);
+ Lba next = root->fStartIND + sizeof(HEFS_BOOT_NODE);
HEFS_INDEX_NODE_DIRECTORY* index_node = new HEFS_INDEX_NODE_DIRECTORY();
@@ -889,11 +889,11 @@ _Output Bool HeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input
index_node->fChecksum = 0;
index_node->fIndexNodeChecksum = 0;
- index_node->fUID = 0;
- index_node->fGID = 0;
- index_node->fMode = 0;
+ index_node->fUID = 0;
+ index_node->fGID = 0;
+ index_node->fMode = 0;
- index_node->fColor = kHeFSBlack;
+ index_node->fColor = kHeFSBlack;
index_node->fChild = 0;
index_node->fParent = 0;
index_node->fNext = 0;