diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-20 16:47:35 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-20 16:47:35 +0200 |
| commit | bc97b2b790eb06d8f9adb8ef8fa41874d7d19770 (patch) | |
| tree | a6929db78467c2b07877abb9d9aad579d77139bb /dev/kernel/src/FS/HeFS.cc | |
| parent | 699e395505a602f4a731c481646233d87f87a85c (diff) | |
kernel, dev: python script to make an ESP from files.
- Started implementing the wrt_* APIs (Wide string functions)
- Make user.sys link now, need to implement more syscalls.
- Tiny HEFS refactors too.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/FS/HeFS.cc')
| -rw-r--r-- | dev/kernel/src/FS/HeFS.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/dev/kernel/src/FS/HeFS.cc b/dev/kernel/src/FS/HeFS.cc index 0344309e..142ddbea 100644 --- a/dev/kernel/src/FS/HeFS.cc +++ b/dev/kernel/src/FS/HeFS.cc @@ -4,7 +4,7 @@ ------------------------------------------- */ -#ifdef __FSKIT_INCLUDES_HeFS__ +#ifdef __FSKIT_INCLUDES_HEFS__ #include <modules/AHCI/AHCI.h> #include <modules/ATA/ATA.h> @@ -22,12 +22,12 @@ namespace Kernel { namespace Detail { - STATIC HeFS_INDEX_NODE* hefs_get_index_node(HeFS_BOOT_NODE* root, DriveTrait* mnt, const Utf16Char* dir_name, const Utf16Char* file_name, UInt8 kind) noexcept + STATIC HEFS_INDEX_NODE* hefs_get_index_node(HEFS_BOOT_NODE* root, DriveTrait* mnt, const Utf16Char* dir_name, const Utf16Char* file_name, UInt8 kind) noexcept { if (root) { - HeFS_INDEX_NODE* node = new HeFS_INDEX_NODE(); - HeFS_INDEX_NODE_DIRECTORY* dir = new HeFS_INDEX_NODE_DIRECTORY(); + HEFS_INDEX_NODE* node = new HEFS_INDEX_NODE(); + HEFS_INDEX_NODE_DIRECTORY* dir = new HEFS_INDEX_NODE_DIRECTORY(); if (!node) { @@ -45,7 +45,7 @@ namespace Kernel if (hop_watch++ > 100) { kout << "Error: Hop watch exceeded.\r"; - + break; } @@ -56,7 +56,7 @@ namespace Kernel } mnt->fPacket.fPacketLba = start; - mnt->fPacket.fPacketSize = sizeof(HeFS_INDEX_NODE_DIRECTORY); + mnt->fPacket.fPacketSize = sizeof(HEFS_INDEX_NODE_DIRECTORY); mnt->fPacket.fPacketContent = dir; mnt->fInput(mnt->fPacket); @@ -81,7 +81,7 @@ namespace Kernel if (dir->fIndexNodeStart[inode_index] != 0) { mnt->fPacket.fPacketLba = dir->fIndexNodeStart[inode_index]; - mnt->fPacket.fPacketSize = sizeof(HeFS_INDEX_NODE); + mnt->fPacket.fPacketSize = sizeof(HEFS_INDEX_NODE); mnt->fPacket.fPacketContent = node; mnt->fInput(mnt->fPacket); @@ -103,7 +103,7 @@ namespace Kernel else if (dir->fIndexNodeEnd[inode_index] != 0) { mnt->fPacket.fPacketLba = dir->fIndexNodeEnd[inode_index]; - mnt->fPacket.fPacketSize = sizeof(HeFS_INDEX_NODE); + mnt->fPacket.fPacketSize = sizeof(HEFS_INDEX_NODE); mnt->fPacket.fPacketContent = node; mnt->fInput(mnt->fPacket); @@ -151,4 +151,7 @@ namespace Kernel } // namespace Detail } // namespace Kernel -#endif // ifdef __FSKIT_INCLUDES_HeFS__ +/// @note HeFS will allocate inodes and ind in advance, to avoid having to allocate them in real-time. +/// @note This is certainly take longer to format a disk with it, but worth-it in the long run. + +#endif // ifdef __FSKIT_INCLUDES_HEFS__ |
