18#ifndef __FILESYSTEM_LINN_GROUP_H
19#define __FILESYSTEM_LINN_GROUP_H
38#define LINN_GROUP_BLOCK_BITMAP 0
41#define LINN_GROUP_INODE_BITMAP 1
44#define LINN_GROUP_INODE_TABLE 2
64#define LINN_GROUP_COUNT(sb) \
65 ((sb)->blocksCount / (sb)->blocksPerGroup ? \
66 (sb)->blocksCount / (sb)->blocksPerGroup : 1)
75#define LINN_GROUP_NUM_BLOCKMAP(sb) \
76 ((sb)->blocksPerGroup / LINN_SUPER_NUM_PTRS(sb) ? \
77 (sb)->blocksPerGroup / LINN_SUPER_NUM_PTRS(sb) : 1)
86#define LINN_GROUP_NUM_INODEMAP(sb) \
87 ((sb)->inodesPerGroup / LINN_SUPER_NUM_PTRS(sb) ? \
88 (sb)->inodesPerGroup / LINN_SUPER_NUM_PTRS(sb) : 1)
97#define LINN_GROUP_NUM_INODETAB(sb) \
98 ((sb)->inodesPerGroup / ((sb)->blockSize / sizeof(LinnInode)) ? \
99 (sb)->inodesPerGroup / ((sb)->blockSize / sizeof(LinnInode)) : 1)
108#define LINN_GROUP_PER_BLOCK(sb) \
109 ((sb)->blockSize / sizeof(LinnGroup))
118#define LINN_GROUP_BLOCKS(sb) \
119 (LINN_GROUP_COUNT(sb) / LINN_GROUP_PER_BLOCK(sb) ? \
120 LINN_GROUP_COUNT(sb) / LINN_GROUP_PER_BLOCK(sb) : 1)
u32 BITWISE le32
Unsigned 32-bit little endian number.
Structure of a group descriptor.
le32 inodeMap
Inode bitmap.
le32 freeBlocksCount
The number of free blocks in this group.
le32 inodeTable
Inode table contains pre-allocated inodes.
le32 freeInodesCount
Number of free inodes in this group.
le32 blockMap
Block bitmap.