summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel')
-rw-r--r--dev/Kernel/FSKit/NeFS.h11
-rw-r--r--dev/Kernel/src/FS/NeFS.cc69
-rw-r--r--dev/Kernel/src/KernelMain.cc2
3 files changed, 28 insertions, 54 deletions
diff --git a/dev/Kernel/FSKit/NeFS.h b/dev/Kernel/FSKit/NeFS.h
index b9babad8..1a744ad0 100644
--- a/dev/Kernel/FSKit/NeFS.h
+++ b/dev/Kernel/FSKit/NeFS.h
@@ -406,19 +406,20 @@ namespace Kernel
rt_copy_memory(mNode->Name, new_fork.CatalogName, rt_string_len(mNode->Name));
rt_copy_memory(journal_name.Data(), new_fork.ForkName, rt_string_len(journal_name.Data()));
- new_fork.DataSize = xml_data.Length();
-
- new_fork.Kind = kNeFSRsrcForkKind;
+ new_fork.DataSize = kNeFSForkDataSz;
+ new_fork.Kind = kNeFSRsrcForkKind;
parser->CreateFork(mNode, new_fork);
kcout << "Commit: " << xml_data.Data() << "\r\nTo: " << journal_name.Data() << endl;
- return parser->WriteCatalog(mNode, YES, xml_data.Data(), xml_data.Length(), journal_name.CData());
+ auto ret = parser->WriteCatalog(mNode, YES, xml_data.Data(), xml_data.Length(), journal_name.CData());
+
+ return ret;
}
private:
- Char mStamp[255] = {"/system/zka_journal" kNeFSJournalExt};
+ Char mStamp[255] = {"/system/journal_sys" kNeFSJournalExt};
};
namespace Detail
diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc
index 784275f8..6f4c43b9 100644
--- a/dev/Kernel/src/FS/NeFS.cc
+++ b/dev/Kernel/src/FS/NeFS.cc
@@ -64,82 +64,55 @@ _Output NFS_FORK_STRUCT* NeFileSystemParser::CreateFork(_Input NFS_CATALOG_STRUC
_Input NFS_FORK_STRUCT& the_fork)
{
if (catalog && the_fork.ForkName[0] != 0 &&
- the_fork.DataSize <= kNeFSForkDataSz)
+ the_fork.DataSize == kNeFSForkDataSz)
{
Lba lba = (the_fork.Kind == kNeFSDataForkKind) ? catalog->DataFork
: catalog->ResourceFork;
- kcout << "Fork LBA: " << hex_number(lba) << endl;
-
- if (lba <= kNeFSCatalogStartAddress)
- return nullptr;
-
auto drv = kDiskMountpoint.A();
/// special treatment.
rt_copy_memory((VoidPtr) "fs/nefs-packet", drv.fPacket.fPacketMime,
rt_string_len("fs/nefs-packet"));
- NFS_FORK_STRUCT curFork{0};
- NFS_FORK_STRUCT prevFork{0};
- Lba lbaOfPreviousFork = lba;
+ NFS_FORK_STRUCT cur_fork{0};
+ Lba lba_prev_fork = lba;
/// do not check for anything. Loop until we get what we want, that is a free fork zone.
while (lba <= kNeFSCatalogStartAddress)
{
drv.fPacket.fPacketLba = lba;
drv.fPacket.fPacketSize = sizeof(NFS_FORK_STRUCT);
- drv.fPacket.fPacketContent = &curFork;
+ drv.fPacket.fPacketContent = &cur_fork;
drv.fInput(&drv.fPacket);
- if (curFork.NextSibling > kBadAddress)
- {
- kcout << "Bad fork: " << hex_number(curFork.NextSibling) << endl;
- break;
- }
-
- kcout << "Next fork: " << hex_number(curFork.NextSibling) << endl;
+ kcout << "Next fork: " << hex_number(cur_fork.NextSibling) << endl;
- if (curFork.Flags & kNeFSFlagCreated)
+ if (cur_fork.Flags & kNeFSFlagCreated)
{
- kcout << "Fork already exists.\r";
-
/// sanity check.
- if (StringBuilder::Equals(curFork.ForkName, the_fork.ForkName) &&
- StringBuilder::Equals(curFork.CatalogName, catalog->Name))
+ if (StringBuilder::Equals(cur_fork.ForkName, the_fork.ForkName) &&
+ StringBuilder::Equals(cur_fork.CatalogName, catalog->Name))
+ {
+ kcout << "Fork already exists.\r";
return nullptr;
+ }
- kcout << "Next fork: " << hex_number(curFork.NextSibling) << endl;
-
- lbaOfPreviousFork = lba;
- lba = curFork.NextSibling;
+ kcout << "Next fork: " << hex_number(cur_fork.NextSibling) << endl;
- prevFork = curFork;
+ lba_prev_fork = lba;
+ lba = cur_fork.NextSibling;
}
else
{
- /// This is a check that we have, in order to link the previous fork
- /// entry.
- if (lba >= kNeFSCatalogStartAddress)
- {
- drv.fPacket.fPacketLba = lbaOfPreviousFork;
- drv.fPacket.fPacketSize = sizeof(NFS_FORK_STRUCT);
- drv.fPacket.fPacketContent = &prevFork;
-
- prevFork.NextSibling = lba;
-
- /// write to disk.
- drv.fOutput(&drv.fPacket);
- }
-
break;
}
}
the_fork.Flags |= kNeFSFlagCreated;
the_fork.DataOffset = lba - sizeof(NFS_FORK_STRUCT);
- the_fork.PreviousSibling = lbaOfPreviousFork;
+ the_fork.PreviousSibling = lba_prev_fork;
the_fork.NextSibling = the_fork.DataOffset - the_fork.DataSize - sizeof(NFS_FORK_STRUCT);
drv.fPacket.fPacketLba = lba;
@@ -279,9 +252,9 @@ _Output NFS_CATALOG_STRUCT* NeFileSystemParser::CreateCatalog(_Input const Char*
/// Locate parent catalog, to then allocate right after it.
- for (SizeT indexFill = 0; indexFill < rt_string_len(name); ++indexFill)
+ for (SizeT index_fill = 0; index_fill < rt_string_len(name); ++index_fill)
{
- parent_name[indexFill] = name[indexFill];
+ parent_name[index_fill] = name[index_fill];
}
SizeT index_reverse_copy = rt_string_len(parent_name);
@@ -387,7 +360,7 @@ _Output NFS_CATALOG_STRUCT* NeFileSystemParser::CreateCatalog(_Input const Char*
return nullptr;
}
- child_catalog->DataFork = part_block->DiskSize - start_free;
+ child_catalog->DataFork = part_block->DiskSize - kNeFSRootCatalogStartAddress - start_free;
child_catalog->ResourceFork = child_catalog->DataFork;
// Write the new catalog next sibling, if we don't know this parent. //
@@ -755,9 +728,9 @@ _Output NFS_CATALOG_STRUCT* NeFileSystemParser::FindCatalog(_Input const Char* c
{
Char parent_name[kNeFSNodeNameLen] = {0};
- for (SizeT indexFill = 0; indexFill < rt_string_len(catalog_name); ++indexFill)
+ for (SizeT index_fill = 0; index_fill < rt_string_len(catalog_name); ++index_fill)
{
- parent_name[indexFill] = catalog_name[indexFill];
+ parent_name[index_fill] = catalog_name[index_fill];
}
SizeT index_reverse_copy = rt_string_len(parent_name);
@@ -1055,7 +1028,7 @@ namespace Kernel::Detail
kcout << "Creating A:\r";
kDiskMountpoint.A() = io_construct_main_drive();
-
+
kcout << "Creating A: [ OK ]\r";
return true;
diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc
index 06223ff9..fea439ca 100644
--- a/dev/Kernel/src/KernelMain.cc
+++ b/dev/Kernel/src/KernelMain.cc
@@ -72,7 +72,7 @@ namespace Kernel::Detail
mJournal.CreateJournal(mNeFS);
KString xml;
- xml += "<LOG_XML>Formatted Filesystem</LOG_XML>";
+ xml += "<LOG_XML>Format Filesystem NeFS for ZkaOS.</LOG_XML>";
KString name;
name += "NeFS Format System";