| 1888 | } |
| 1889 | |
| 1890 | BOOLEAN |
| 1891 | Ext2CheckBitmapConsistency(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb) |
| 1892 | { |
| 1893 | ULONG i, j, InodeBlocks; |
| 1894 | |
| 1895 | for (i = 0; i < Vcb->sbi.s_groups_count; i++) { |
| 1896 | |
| 1897 | PEXT2_GROUP_DESC gd; |
| 1898 | struct buffer_head *bh = NULL; |
| 1899 | |
| 1900 | gd = ext4_get_group_desc(&Vcb->sb, i, &bh); |
| 1901 | if (!gd) |
| 1902 | continue; |
| 1903 | Ext2CheckSetBlock(IrpContext, Vcb, ext4_block_bitmap(&Vcb->sb, gd)); |
| 1904 | Ext2CheckSetBlock(IrpContext, Vcb, ext4_inode_bitmap(&Vcb->sb, gd)); |
| 1905 | |
| 1906 | |
| 1907 | if (i == Vcb->sbi.s_groups_count - 1) { |
| 1908 | InodeBlocks = ((INODES_COUNT % INODES_PER_GROUP) * |
| 1909 | Vcb->InodeSize + Vcb->BlockSize - 1) / |
| 1910 | (Vcb->BlockSize); |
| 1911 | } else { |
| 1912 | InodeBlocks = (INODES_PER_GROUP * Vcb->InodeSize + |
| 1913 | Vcb->BlockSize - 1) / (Vcb->BlockSize); |
| 1914 | } |
| 1915 | |
| 1916 | for (j = 0; j < InodeBlocks; j++ ) |
| 1917 | Ext2CheckSetBlock(IrpContext, Vcb, ext4_inode_table(&Vcb->sb, gd) + j); |
| 1918 | |
| 1919 | fini_bh(&bh); |
| 1920 | } |
| 1921 | |
| 1922 | return TRUE; |
| 1923 | } |
| 1924 | |
| 1925 | /* Ext2Global->Resource should be already acquired */ |
| 1926 | VOID |
no test coverage detected