Lines Matching refs:freemap
192 * freemap is reserved at the beginning of every 1GB.
251 * The freemap utilizes blocks #1-40 in 8 sets of 5 blocks. Each block in
252 * a set represents a level of depth in the freemap topology. Eight sets
253 * exist to prevent live updates from disturbing the state of the freemap
256 * roots representing the last four synchronization points, so the freemap
260 * Each freemap set is 5 x 64K blocks and represents the 1GB, 256GB, 64TB,
261 * 16PB and 4EB indirect map. The volume header itself has a set of 4 freemap
275 * One important thing to note here is that the freemap resolution is 16KB,
297 * (1) Modifications to freemap blocks 'allocate' a new copy (aka use a block
320 #define HAMMER2_ZONE_FREEMAP_00 1 /* normal freemap rotation */
321 #define HAMMER2_ZONE_FREEMAP_01 6 /* normal freemap rotation */
322 #define HAMMER2_ZONE_FREEMAP_02 11 /* normal freemap rotation */
323 #define HAMMER2_ZONE_FREEMAP_03 16 /* normal freemap rotation */
324 #define HAMMER2_ZONE_FREEMAP_04 21 /* normal freemap rotation */
325 #define HAMMER2_ZONE_FREEMAP_05 26 /* normal freemap rotation */
326 #define HAMMER2_ZONE_FREEMAP_06 31 /* normal freemap rotation */
327 #define HAMMER2_ZONE_FREEMAP_07 36 /* normal freemap rotation */
367 * 32KB indirect block for freemap (LEVELN_PSIZE below).
373 #error "hammer2_disk.h - freemap assumes SET_COUNT is 4"
670 hammer2_tid_t mirror_tid; /* media flush topology & freemap */
737 } freemap;
858 * hammer2_bmap_data - A freemap entry in the LEVEL1 block.
1155 * Flags (8 bits) - blockref, for freemap only
1239 uint8_t freemap_version; /* 0039 freemap algorithm */
1251 * Initial non-reserved-area allocations do not use the freemap
1265 * freemap_tid reflects the highest committed freemap change for
1296 * icrc_sects[3] - Sector 4 (the freemap blockset)
1312 hammer2_blockset_t freemap_blockset; /* 0800-09FF freemap */