1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:14:58 +00:00

Kernel/Ext2: Allow checking for the presence of extended attributes

This commit is contained in:
implicitfield 2024-01-03 17:04:14 +04:00 committed by Ali Mohammad Pur
parent bef9699cf4
commit 280d5feac9
2 changed files with 15 additions and 0 deletions

View file

@ -214,6 +214,13 @@ u8 Ext2FS::internal_file_type_to_directory_entry_type(DirectoryEntryView const&
}
}
Ext2FS::FeaturesOptional Ext2FS::get_features_optional() const
{
if (m_super_block.s_rev_level > 0)
return static_cast<Ext2FS::FeaturesOptional>(m_super_block.s_feature_compat);
return Ext2FS::FeaturesOptional::None;
}
Ext2FS::FeaturesReadOnly Ext2FS::get_features_readonly() const
{
if (m_super_block.s_rev_level > 0)

View file

@ -22,6 +22,13 @@ class Ext2FS final : public BlockBasedFileSystem {
friend class Ext2FSInode;
public:
// s_feature_compat
enum class FeaturesOptional : u32 {
None = 0,
ExtendedAttributes = EXT2_FEATURE_COMPAT_EXT_ATTR,
};
AK_ENUM_BITWISE_FRIEND_OPERATORS(FeaturesOptional);
// s_feature_ro_compat
enum class FeaturesReadOnly : u32 {
None = 0,
@ -43,6 +50,7 @@ public:
virtual u8 internal_file_type_to_directory_entry_type(DirectoryEntryView const& entry) const override;
FeaturesOptional get_features_optional() const;
FeaturesReadOnly get_features_readonly() const;
virtual StringView class_name() const override { return "Ext2FS"sv; }