xref: /aosp_15_r20/external/e2fsprogs/misc/e2freefrag.h (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker #include <sys/types.h>
2*6a54128fSAndroid Build Coastguard Worker 
3*6a54128fSAndroid Build Coastguard Worker #define DEFAULT_CHUNKSIZE (1024*1024)
4*6a54128fSAndroid Build Coastguard Worker 
5*6a54128fSAndroid Build Coastguard Worker #define MAX_HIST	32
6*6a54128fSAndroid Build Coastguard Worker struct free_chunk_histogram {
7*6a54128fSAndroid Build Coastguard Worker 	unsigned long fc_chunks[MAX_HIST];
8*6a54128fSAndroid Build Coastguard Worker 	unsigned long fc_blocks[MAX_HIST];
9*6a54128fSAndroid Build Coastguard Worker };
10*6a54128fSAndroid Build Coastguard Worker 
11*6a54128fSAndroid Build Coastguard Worker struct chunk_info {
12*6a54128fSAndroid Build Coastguard Worker 	unsigned long chunkbytes;	/* chunk size in bytes */
13*6a54128fSAndroid Build Coastguard Worker 	int chunkbits;			/* chunk size in bits */
14*6a54128fSAndroid Build Coastguard Worker 	unsigned long free_chunks;	/* total free chunks of given size */
15*6a54128fSAndroid Build Coastguard Worker 	unsigned long real_free_chunks; /* free chunks of any size */
16*6a54128fSAndroid Build Coastguard Worker 	int blocksize_bits;		/* fs blocksize in bits */
17*6a54128fSAndroid Build Coastguard Worker 	int blks_in_chunk;		/* number of blocks in a chunk */
18*6a54128fSAndroid Build Coastguard Worker 	unsigned long min, max, avg;	/* chunk size stats */
19*6a54128fSAndroid Build Coastguard Worker 	struct free_chunk_histogram histogram; /* histogram of all chunk sizes*/
20*6a54128fSAndroid Build Coastguard Worker };
21