From 561ba6a493f35461e1eef4e3a488b99e13803682 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 12 Jan 2025 13:13:52 +0100 Subject: ADD: Worked on a set of patches in NeFS and DriveMgr, tweaks on BitMapMgr. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/src/FS/NeFS.cc | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'dev/Kernel/src/FS/NeFS.cc') diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc index 1f2f1c5e..10bcad02 100644 --- a/dev/Kernel/src/FS/NeFS.cc +++ b/dev/Kernel/src/FS/NeFS.cc @@ -60,11 +60,16 @@ STATIC MountpointInterface kDiskMountpoint; /// @param the_fork the fork itself. /// @return the fork /***********************************************************************************/ -_Output BOOL NeFileSystemParser::CreateFork(_Input NFS_CATALOG_STRUCT* catalog, +_Output BOOL NeFileSystemParser::CreateFork(_Input const Char* catalog_name, _Input NFS_FORK_STRUCT& the_fork) { - if (catalog && the_fork.DataSize > 0) - { + if (the_fork.DataSize > 0) + { + auto catalog = this->GetCatalog(catalog_name); + + if (!catalog) + return NO; + Lba lba = (the_fork.Kind == kNeFSDataForkKind) ? catalog->DataFork : catalog->ResourceFork; @@ -79,12 +84,6 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NFS_CATALOG_STRUCT* catalog, else catalog->ResourceForkSize += the_fork.DataSize; - drv.fPacket.fPacketLba = catalog->NextSibling - sizeof(NFS_CATALOG_STRUCT); - drv.fPacket.fPacketSize = sizeof(NFS_CATALOG_STRUCT); - drv.fPacket.fPacketContent = catalog; - - drv.fOutput(&drv.fPacket); - /// do not check for anything. Loop until we get what we want, that is a free fork zone. while (lba_next_fork >= kNeFSCatalogStartAddress) { @@ -168,7 +167,6 @@ _Output NFS_FORK_STRUCT* NeFileSystemParser::FindFork(_Input NFS_CATALOG_STRUCT* case 2: err_global_get() = kErrorDiskIsFull; break; - case 3: err_global_get() = kErrorNoSuchDisk; break; @@ -242,9 +240,9 @@ _Output NFS_CATALOG_STRUCT* NeFileSystemParser::CreateCatalog(_Input const Char* Char parent_name[kNeFSNodeNameLen] = {0}; - for (SizeT index_name = 0UL; index_name < rt_string_len(name); ++index_name) + for (SizeT indexName = 0UL; indexName < rt_string_len(name); ++indexName) { - parent_name[index_name] = name[index_name]; + parent_name[indexName] = name[indexName]; } if (*parent_name == 0) @@ -1003,4 +1001,4 @@ namespace Kernel::Detail } } // namespace Kernel::Detail -#endif // ifdef __FSKIT_INCLUDES_NEFS__ +#endif // ifdef __FSKIT_INCLUDES_NEFS__ \ No newline at end of file -- cgit v1.2.3