diff --git a/Kernel/FileSystem/Ext2FileSystem.cpp b/Kernel/FileSystem/Ext2FileSystem.cpp index 7ae70fc106..655efd1e0f 100644 --- a/Kernel/FileSystem/Ext2FileSystem.cpp +++ b/Kernel/FileSystem/Ext2FileSystem.cpp @@ -46,7 +46,7 @@ static const ssize_t max_inline_symlink_length = 60; struct Ext2FSDirectoryEntry { String name; - InodeIdentifier inode; + Ext2FS::InodeIndex inode_index { 0 }; u8 file_type { 0 }; }; @@ -1020,7 +1020,7 @@ KResult Ext2FSInode::write_directory(const Vector& entries dbgln("* Inode: {}, name_len: {}, rec_len: {}, file_type: {}, name: {}", entry.inode.index(), u16(entry.name.length()), u16(record_length), u8(entry.file_type), entry.name); #endif - stream << u32(entry.inode.index()); + stream << u32(entry.inode_index); stream << u16(record_length); stream << u8(entry.name.length()); stream << u8(entry.file_type); @@ -1069,7 +1069,7 @@ KResult Ext2FSInode::add_child(Inode& child, const StringView& name, mode_t mode name_already_exists = true; return false; } - entries.append({ entry.name, entry.inode, entry.file_type }); + entries.append({ entry.name, entry.inode.index(), entry.file_type }); return true; }); @@ -1085,7 +1085,7 @@ KResult Ext2FSInode::add_child(Inode& child, const StringView& name, mode_t mode if (result.is_error()) return result; - entries.empend(name, child.identifier(), to_ext2_file_type(mode)); + entries.empend(name, child.index(), to_ext2_file_type(mode)); result = write_directory(entries); if (result.is_error()) return result; @@ -1117,7 +1117,7 @@ KResult Ext2FSInode::remove_child(const StringView& name) Vector entries; KResult result = traverse_as_directory([&](auto& entry) { if (name != entry.name) - entries.append({ entry.name, entry.inode, entry.file_type }); + entries.append({ entry.name, entry.inode.index(), entry.file_type }); return true; }); if (result.is_error()) @@ -1444,8 +1444,8 @@ KResult Ext2FS::create_directory(Ext2FSInode& parent_inode, const String& name, #endif Vector entries; - entries.empend(".", inode->identifier(), static_cast(EXT2_FT_DIR)); - entries.empend("..", parent_inode.identifier(), static_cast(EXT2_FT_DIR)); + entries.empend(".", inode->index(), static_cast(EXT2_FT_DIR)); + entries.empend("..", parent_inode.index(), static_cast(EXT2_FT_DIR)); auto result = static_cast(*inode).write_directory(entries); if (result.is_error()) diff --git a/Kernel/FileSystem/Ext2FileSystem.h b/Kernel/FileSystem/Ext2FileSystem.h index 55ba1eea93..d66d0b2192 100644 --- a/Kernel/FileSystem/Ext2FileSystem.h +++ b/Kernel/FileSystem/Ext2FileSystem.h @@ -98,6 +98,8 @@ class Ext2FS final : public BlockBasedFS { friend class Ext2FSInode; public: + using InodeIndex = u32; + static NonnullRefPtr create(FileDescription&); virtual ~Ext2FS() override; @@ -117,7 +119,6 @@ public: private: typedef unsigned BlockIndex; typedef unsigned GroupIndex; - typedef unsigned InodeIndex; explicit Ext2FS(FileDescription&); const ext2_super_block& super_block() const { return m_super_block; }