1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:28:11 +00:00

Kernel: Add 64 bit file size support to Ext2FS

This commit is contained in:
Jean-Baptiste Boric 2021-03-17 18:35:42 +01:00 committed by Andreas Kling
parent ade6343fca
commit 71b433a6f9
2 changed files with 33 additions and 6 deletions

View file

@ -49,7 +49,7 @@ class Ext2FSInode final : public Inode {
public:
virtual ~Ext2FSInode() override;
size_t size() const { return m_raw_inode.i_size; }
u64 size() const;
bool is_symlink() const { return Kernel::is_symlink(m_raw_inode.i_mode); }
bool is_directory() const { return Kernel::is_directory(m_raw_inode.i_mode); }
@ -105,6 +105,11 @@ class Ext2FS final : public BlockBasedFS {
friend class Ext2FSInode;
public:
enum class FeaturesReadOnly : u32 {
None = 0,
FileSize64bits = 1 << 1,
};
static NonnullRefPtr<Ext2FS> create(FileDescription&);
virtual ~Ext2FS() override;
@ -121,6 +126,8 @@ public:
virtual u8 internal_file_type_to_directory_entry_type(const DirectoryEntryView& entry) const override;
FeaturesReadOnly get_features_readonly() const;
private:
TYPEDEF_DISTINCT_ORDERED_ID(unsigned, GroupIndex);