4 * PROGRAMMER: Matt Wu <mattwu@163.com>
5 * HOMEPAGE: http://ext2.yeah.net
8 /* INCLUDES **************************************************************/
12 /* DEFINITIONS ***********************************************************/
14 /* FUNCTIONS *************************************************************/
16 int test_root(int a
, int b
)
30 bool ext2_bg_has_super(PEXT2_SUPER_BLOCK pExt2Sb
, int group_block
)
32 if (!(pExt2Sb
->s_feature_ro_compat
& EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER
))
35 if (test_root(group_block
, 3) || (test_root(group_block
, 5)) ||
36 test_root(group_block
, 7))
43 bool ext2_allocate_group_desc(PEXT2_FILESYS Ext2Sys
)
47 size
= Ext2Sys
->desc_blocks
* Ext2Sys
->blocksize
;
50 (PEXT2_GROUP_DESC
)RtlAllocateHeap(RtlGetProcessHeap(), 0, size
);
52 if (Ext2Sys
->group_desc
)
54 memset(Ext2Sys
->group_desc
, 0, size
);
61 void ext2_free_group_desc(PEXT2_FILESYS Ext2Sys
)
63 if (Ext2Sys
->group_desc
)
65 RtlFreeHeap(RtlGetProcessHeap(), 0, Ext2Sys
->group_desc
);
66 Ext2Sys
->group_desc
= NULL
;