From 141e1aad27316c0bcda5f899ab0faf376c6e42af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Tue, 21 Dec 2010 19:57:48 +0000 Subject: [PATCH] Added blockgroup Flags()/SetFlags() and flag definitions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39916 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/ext2/ext2.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/ext2/ext2.h b/src/add-ons/kernel/file_systems/ext2/ext2.h index b489446c45..fc3f7a22ac 100644 --- a/src/add-ons/kernel/file_systems/ext2/ext2.h +++ b/src/add-ons/kernel/file_systems/ext2/ext2.h @@ -196,6 +196,11 @@ struct ext2_super_block { #define EXT2_BLOCK_GROUP_NORMAL_SIZE 32 +// block group flags +#define EXT2_BLOCK_GROUP_INODE_UNINIT 0x1 +#define EXT2_BLOCK_GROUP_BLOCK_UNINIT 0x2 + + struct ext2_block_group { uint32 block_bitmap; uint32 inode_bitmap; @@ -265,7 +270,8 @@ struct ext2_block_group { ((uint32)B_LENDIAN_TO_HOST_INT16(used_directories_high) << 16); return dirs; } - + uint16 Flags() const { return B_LENDIAN_TO_HOST_INT16(flags); } + void SetFreeBlocks(uint32 freeBlocks, bool has64bits) { @@ -288,6 +294,11 @@ struct ext2_block_group { used_directories_high = B_HOST_TO_LENDIAN_INT16(usedDirectories >> 16); } + + void SetFlags(uint16 newFlags) + { + flags = B_HOST_TO_LENDIAN_INT16(newFlags); + } } _PACKED; #define EXT2_DIRECT_BLOCKS 12