aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMarcel Braun <marcel.braun@ost.ch>2026-05-16 17:00:10 +0200
committerMarcel Braun <marcel.braun@ost.ch>2026-05-16 17:00:10 +0200
commit3d8ea5b1b833f39b77f0591fb2a301842ed5eb1c (patch)
treebb8bf76908079f53daa532486d8c003bed969894 /kernel
parent3b2f36d242eb895fd893ec7a674ff608f44f69ac (diff)
downloadkernel-3d8ea5b1b833f39b77f0591fb2a301842ed5eb1c.tar.xz
kernel-3d8ea5b1b833f39b77f0591fb2a301842ed5eb1c.zip
Refactor data types in ext2
Diffstat (limited to 'kernel')
-rw-r--r--kernel/include/kernel/filesystem/ext2/filesystem.hpp16
-rw-r--r--kernel/include/kernel/filesystem/ext2/inode.hpp2
-rw-r--r--kernel/src/filesystem/ext2/filesystem.cpp20
-rw-r--r--kernel/src/filesystem/ext2/inode.cpp2
4 files changed, 20 insertions, 20 deletions
diff --git a/kernel/include/kernel/filesystem/ext2/filesystem.hpp b/kernel/include/kernel/filesystem/ext2/filesystem.hpp
index a408c64..45cd6a1 100644
--- a/kernel/include/kernel/filesystem/ext2/filesystem.hpp
+++ b/kernel/include/kernel/filesystem/ext2/filesystem.hpp
@@ -76,7 +76,7 @@ namespace kernel::filesystem::ext2
@brief Gets the revision level of the filesystem.
@return The revision level.
*/
- [[nodiscard]] auto revision_level() const -> size_t;
+ [[nodiscard]] auto revision_level() const -> uint32_t;
/**
@brief Maps an inode block index to a global block number.
@@ -88,18 +88,18 @@ namespace kernel::filesystem::ext2
-> ssize_t;
private:
- [[nodiscard]] auto read_inode(size_t inode_number) const -> kstd::shared_ptr<kernel::filesystem::ext2::inode>;
- [[nodiscard]] auto read_block_number_at_index(size_t block_number, size_t index) const -> size_t;
+ [[nodiscard]] auto read_inode(uint32_t inode_number) const -> kstd::shared_ptr<kernel::filesystem::ext2::inode>;
+ [[nodiscard]] auto read_block_number_at_index(uint32_t block_number, size_t index) const -> uint32_t;
- [[nodiscard]] auto read_singly_indirect_block_number(size_t singly_indirect_block_number,
+ [[nodiscard]] auto read_singly_indirect_block_number(uint32_t singly_indirect_block_number,
size_t block_index_in_singly_indirect_block) const -> size_t;
- [[nodiscard]] auto read_doubly_indirect_block_number(size_t doubly_indirect_block_number,
+ [[nodiscard]] auto read_doubly_indirect_block_number(uint32_t doubly_indirect_block_number,
size_t block_index_in_doubly_indirect_block) const -> size_t;
- [[nodiscard]] auto read_triply_indirect_block_number(size_t triply_indirect_block_number,
+ [[nodiscard]] auto read_triply_indirect_block_number(uint32_t triply_indirect_block_number,
size_t block_index_in_triply_indirect_block) const -> size_t;
- [[nodiscard]] auto inode_size() const -> size_t;
- [[nodiscard]] auto inode_block_count(inode_data const & data) const -> size_t;
+ [[nodiscard]] auto inode_size() const -> uint16_t;
+ [[nodiscard]] auto inode_block_count(inode_data const & data) const -> uint32_t;
[[nodiscard]] auto block_group_descriptor_table_offset() const -> size_t;
[[nodiscard]] auto block_numbers_per_block() const -> size_t;
diff --git a/kernel/include/kernel/filesystem/ext2/inode.hpp b/kernel/include/kernel/filesystem/ext2/inode.hpp
index 5609319..f2496f0 100644
--- a/kernel/include/kernel/filesystem/ext2/inode.hpp
+++ b/kernel/include/kernel/filesystem/ext2/inode.hpp
@@ -94,7 +94,7 @@ namespace kernel::filesystem::ext2
@brief Get the size of the file represented by this inode.
@return The size of the file in bytes.
*/
- [[nodiscard]] auto size() const -> size_t;
+ [[nodiscard]] auto size() const -> uint64_t;
private:
filesystem const * m_filesystem;
diff --git a/kernel/src/filesystem/ext2/filesystem.cpp b/kernel/src/filesystem/ext2/filesystem.cpp
index 7633972..df5b4c4 100644
--- a/kernel/src/filesystem/ext2/filesystem.cpp
+++ b/kernel/src/filesystem/ext2/filesystem.cpp
@@ -62,7 +62,7 @@ namespace kernel::filesystem::ext2
auto const & inode_data = ext2_parent->data();
kstd::vector<uint8_t> buffer(block_size());
- for (auto i = 0uz; i < inode_block_count(inode_data); ++i)
+ for (uint32_t i = 0; i < inode_block_count(inode_data); ++i)
{
auto const global_block_number = map_inode_block_index_to_global_block_number(i, inode_data);
auto const block_offset = global_block_number * block_size();
@@ -87,7 +87,7 @@ namespace kernel::filesystem::ext2
return nullptr;
}
- auto filesystem::read_inode(size_t inode_number) const -> kstd::shared_ptr<inode>
+ auto filesystem::read_inode(uint32_t inode_number) const -> kstd::shared_ptr<inode>
{
auto const inodes_per_group = m_superblock.inodes_per_group;
auto const block_group_index = (inode_number - 1) / inodes_per_group;
@@ -141,7 +141,7 @@ namespace kernel::filesystem::ext2
return -1;
}
- auto filesystem::read_singly_indirect_block_number(size_t singly_indirect_block_number,
+ auto filesystem::read_singly_indirect_block_number(uint32_t singly_indirect_block_number,
size_t block_index_in_singly_indirect_block) const -> size_t
{
if (singly_indirect_block_number == 0)
@@ -152,7 +152,7 @@ namespace kernel::filesystem::ext2
return read_block_number_at_index(singly_indirect_block_number, block_index_in_singly_indirect_block);
}
- auto filesystem::read_doubly_indirect_block_number(size_t doubly_indirect_block_number,
+ auto filesystem::read_doubly_indirect_block_number(uint32_t doubly_indirect_block_number,
size_t block_index_in_doubly_indirect_block) const -> size_t
{
if (doubly_indirect_block_number == 0)
@@ -171,7 +171,7 @@ namespace kernel::filesystem::ext2
return read_singly_indirect_block_number(singly_indirect_block_number, block_index_in_singly_indirect_block);
}
- auto filesystem::read_triply_indirect_block_number(size_t triply_indirect_block_number,
+ auto filesystem::read_triply_indirect_block_number(uint32_t triply_indirect_block_number,
size_t block_index_in_triply_indirect_block) const -> size_t
{
if (triply_indirect_block_number == 0)
@@ -190,9 +190,9 @@ namespace kernel::filesystem::ext2
return read_doubly_indirect_block_number(doubly_indirect_block_number, block_index_in_doubly_indirect_block);
}
- auto filesystem::read_block_number_at_index(size_t block_number, size_t index) const -> size_t
+ auto filesystem::read_block_number_at_index(uint32_t block_number, size_t index) const -> uint32_t
{
- auto block_number_buffer = 0uz;
+ uint32_t block_number_buffer = 0;
auto const block_start_offset = block_number * block_size();
auto const number_start_address = block_start_offset + index * sizeof(uint32_t);
@@ -226,17 +226,17 @@ namespace kernel::filesystem::ext2
return constants::base_block_size << m_superblock.log_block_size;
}
- auto filesystem::revision_level() const -> size_t
+ auto filesystem::revision_level() const -> uint32_t
{
return m_superblock.rev_level;
}
- auto filesystem::inode_size() const -> size_t
+ auto filesystem::inode_size() const -> uint16_t
{
return revision_level() == constants::good_old_revision ? 128 : m_superblock.inode_size;
}
- auto filesystem::inode_block_count(inode_data const & data) const -> size_t
+ auto filesystem::inode_block_count(inode_data const & data) const -> uint32_t
{
return data.blocks / (2 << m_superblock.log_block_size);
}
diff --git a/kernel/src/filesystem/ext2/inode.cpp b/kernel/src/filesystem/ext2/inode.cpp
index f8c818c..35a32ee 100644
--- a/kernel/src/filesystem/ext2/inode.cpp
+++ b/kernel/src/filesystem/ext2/inode.cpp
@@ -96,7 +96,7 @@ namespace kernel::filesystem::ext2
return (m_data.mode & constants::mode_mask) == constants::mode_symbolic_link;
}
- auto inode::size() const -> size_t
+ auto inode::size() const -> uint64_t
{
uint64_t size = m_data.size;