/dflybsd-src/sys/vfs/hammer2/ |
H A D | FREEMAP | 11 freemap. 13 The freemap only uses blocks from these reserved areas. In order to 15 (in case some are found to be corrupted), each freemap block in the 16 logical freemap topology will iterate through up to 8 copies whos 21 volume headers is handed a consistent freemap topology. 24 the state of the freemap topology pointed to by older volume headers 25 which are still valid. Note that the freemap for volume headers 26 indexed after the mount point being recovered may lose freemap 39 For the moment we use a simple calculation for the freemap block. In 47 headers will lose freemap consistency as the freemap code rotates into [all …]
|
H A D | hammer2_freemap.c | 330 chain->bref.check.freemap.bigmask = (uint32_t)-1; in hammer2_freemap_try_alloc() 331 chain->bref.check.freemap.avail = l1size; in hammer2_freemap_try_alloc() 344 } else if ((chain->bref.check.freemap.bigmask & in hammer2_freemap_try_alloc() 475 chain->bref.check.freemap.bigmask &= in hammer2_freemap_try_alloc() 853 chain->bref.check.freemap.avail = HAMMER2_FREEMAP_LEVEL1_SIZE; in hammer2_freemap_init() 865 chain->bref.check.freemap.avail -= in hammer2_freemap_init() 1030 chain->bref.check.freemap.bigmask = (uint32_t)-1; in hammer2_freemap_adjust() 1031 chain->bref.check.freemap.avail = l1size; in hammer2_freemap_adjust() 1198 chain->bref.check.freemap.bigmask = -1; in hammer2_freemap_adjust()
|
H A D | DESIGN | 59 and for the freemap. Media-level block frees are deferred and flushes 180 * De-duplication support. HAMMER2 uses a relatively simple freemap 527 time and these flushes will use mirror_tid for flush and freemap management. 547 separate freemap_tid in the volume header that is used to allow freemap 577 H2 allows freemap flushes to lag behind topology flushes. This improves 578 filesystem sync performance. The freemap flush tracks a separate 586 transaction ids between the last freemap flush tid and the last topology 587 flush tid in order to synchronize the freemap. Because this scan is 597 The freemap implements a 1KB allocation resolution. Each 2MB segment managed 598 by the freemap is zoned and has a tendency to collect inodes, small data, [all …]
|
H A D | hammer2_bulkfree.c | 1101 bigmask_good(bmap, live_chain->bref.check.freemap.bigmask)) in h2_bulkfree_sync() 1109 live_chain->bref.check.freemap.bigmask, in h2_bulkfree_sync() 1110 live_chain->bref.check.freemap.bigmask | in h2_bulkfree_sync() 1125 live_chain->bref.check.freemap.bigmask = -1; in h2_bulkfree_sync()
|
H A D | TODO | 34 and if successful the freemap will be fully up-to-date, but the mount 122 * freemap / clustering. Set block size on 2MB boundary so the cluster code 186 * The freemap allocator needs to getblk/clrbuf/bdwrite any partial
|
H A D | hammer2_disk.h | 695 } freemap; member
|
H A D | hammer2_chain.c | 5505 chain->bref.check.freemap.icrc32 = in hammer2_chain_setcheck() 5652 r = (chain->bref.check.freemap.icrc32 == in hammer2_chain_testcheck() 5665 chain->bref.check.freemap.icrc32, in hammer2_chain_testcheck()
|
/dflybsd-src/sbin/hammer/ |
H A D | blockmap.c | 62 hammer_blockmap_t freemap; in alloc_undo_bigblock() local 75 freemap = &volume->ondisk->vol0_blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in alloc_undo_bigblock() 80 layer1_offset = freemap->phys_offset + in alloc_undo_bigblock() 119 hammer_blockmap_t freemap; in alloc_blockmap() local 132 freemap = &volume->ondisk->vol0_blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in alloc_blockmap() 153 layer1_offset = freemap->phys_offset + in alloc_blockmap() 224 hammer_blockmap_t freemap; in blockmap_lookup_save() local 285 freemap = &ondisk->vol0_blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in blockmap_lookup_save() 290 layer1_offset = freemap->phys_offset + in blockmap_lookup_save()
|
H A D | cmd_blockmap.c | 69 static void check_freemap(hammer_blockmap_t freemap); 75 static __inline void collect_freemap_layer1(hammer_blockmap_t freemap); 225 hammer_blockmap_t freemap; in hammer_cmd_checkmap() local 231 freemap = &volume->ondisk->vol0_blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_cmd_checkmap() 238 check_freemap(freemap); in hammer_cmd_checkmap() 256 check_freemap(hammer_blockmap_t freemap) in check_freemap() argument 263 collect_freemap_layer1(freemap); in check_freemap() 266 offset = freemap->phys_offset + i * sizeof(*layer1); in check_freemap() 374 collect_freemap_layer1(hammer_blockmap_t freemap) in collect_freemap_layer1() argument 381 HAMMER_ZONE_FREEMAP_INDEX, freemap->phys_offset); in collect_freemap_layer1()
|
H A D | ondisk.c | 618 hammer_blockmap_t freemap; in initialize_freemap() local 634 freemap = &root_vol->ondisk->vol0_blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in initialize_freemap() 639 layer1_offset = freemap->phys_offset + in initialize_freemap() 657 layer1_offset = freemap->phys_offset + in initialize_freemap()
|
/dflybsd-src/sys/vfs/hammer/ |
H A D | hammer_blockmap.c | 76 hammer_blockmap_t freemap; in hammer_blockmap_alloc() local 111 freemap = &hmp->blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_blockmap_alloc() 169 layer1_offset = freemap->phys_offset + in hammer_blockmap_alloc() 412 hammer_blockmap_t freemap; in hammer_blockmap_reserve() local 436 freemap = &hmp->blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_blockmap_reserve() 485 layer1_offset = freemap->phys_offset + in hammer_blockmap_reserve() 772 hammer_blockmap_t freemap; in hammer_blockmap_free() local 803 freemap = &hmp->blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_blockmap_free() 808 layer1_offset = freemap->phys_offset + in hammer_blockmap_free() 906 hammer_blockmap_t freemap; in hammer_blockmap_dedup() local [all …]
|
H A D | hammer_volume.c | 387 hammer_blockmap_t freemap; in hammer_format_freemap() local 412 freemap = &hmp->blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_format_freemap() 420 layer1_offset = freemap->phys_offset + in hammer_format_freemap() 440 layer1_offset = freemap->phys_offset + in hammer_format_freemap() 506 hammer_blockmap_t freemap; in hammer_free_freemap() local 529 freemap = &hmp->blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_free_freemap() 536 layer1_offset = freemap->phys_offset + in hammer_free_freemap() 572 layer1_offset = freemap->phys_offset + in hammer_free_freemap() 754 hammer_blockmap_t freemap; in hammer_count_bigblocks() local 782 freemap = &hmp->blockmap[HAMMER_ZONE_FREEMAP_INDEX]; in hammer_count_bigblocks() [all …]
|
/dflybsd-src/sbin/fsck_hammer2/ |
H A D | test.c | 108 } freemap; member 125 } freemap; member 602 (uintmax_t)bstats->freemap.total_freemap_node, in print_blockref_stats() 603 (uintmax_t)bstats->freemap.total_freemap_leaf, in print_blockref_stats() 717 bstats->freemap.total_freemap_node += in load_delta_stats() 718 dstats->freemap.total_freemap_node; in load_delta_stats() 719 bstats->freemap.total_freemap_leaf += in load_delta_stats() 720 dstats->freemap.total_freemap_leaf; in load_delta_stats() 740 dst->freemap.total_freemap_node += src->freemap.total_freemap_node; in accumulate_delta_stats() 741 dst->freemap.total_freemap_leaf += src->freemap.total_freemap_leaf; in accumulate_delta_stats() [all …]
|
H A D | reconstruct.c | 491 if (bscan->check.freemap.icrc32 != cv) { in modify_check() 493 bscan->check.freemap.icrc32 = cv; in modify_check()
|
/dflybsd-src/usr.sbin/makefs/hammer2/ |
H A D | hammer2_freemap.c | 334 chain->bref.check.freemap.bigmask = (uint32_t)-1; in hammer2_freemap_try_alloc() 335 chain->bref.check.freemap.avail = l1size; in hammer2_freemap_try_alloc() 348 } else if ((chain->bref.check.freemap.bigmask & in hammer2_freemap_try_alloc() 479 chain->bref.check.freemap.bigmask &= in hammer2_freemap_try_alloc() 857 chain->bref.check.freemap.avail = HAMMER2_FREEMAP_LEVEL1_SIZE; in hammer2_freemap_init() 869 chain->bref.check.freemap.avail -= in hammer2_freemap_init() 1034 chain->bref.check.freemap.bigmask = (uint32_t)-1; in hammer2_freemap_adjust() 1035 chain->bref.check.freemap.avail = l1size; in hammer2_freemap_adjust() 1202 chain->bref.check.freemap.bigmask = -1; in hammer2_freemap_adjust()
|
H A D | hammer2_bulkfree.c | 1112 bigmask_good(bmap, live_chain->bref.check.freemap.bigmask)) in h2_bulkfree_sync() 1120 live_chain->bref.check.freemap.bigmask, in h2_bulkfree_sync() 1121 live_chain->bref.check.freemap.bigmask | in h2_bulkfree_sync() 1136 live_chain->bref.check.freemap.bigmask = -1; in h2_bulkfree_sync()
|
H A D | hammer2_chain.c | 5514 chain->bref.check.freemap.icrc32 = in hammer2_chain_setcheck() 5664 r = (chain->bref.check.freemap.icrc32 == in hammer2_chain_testcheck() 5677 chain->bref.check.freemap.icrc32, in hammer2_chain_testcheck()
|
/dflybsd-src/usr.bin/gcore/ |
H A D | elfcore.c | 80 static void freemap(vm_map_entry_t); 160 freemap(map); in elf_coredump() 359 freemap(vm_map_entry_t map) in freemap() function
|
/dflybsd-src/sbin/hammer2/ |
H A D | cmd_info.c | 459 if (bref->check.freemap.icrc32 != cv) { in h2pfs_check() 462 bref->check.freemap.icrc32, in h2pfs_check()
|
H A D | cmd_debug.c | 881 bref->check.freemap.bigmask, in show_bref() 882 (uintmax_t)bref->check.freemap.avail); in show_bref() 959 if (bref->check.freemap.icrc32 != cv) { in show_bref() 962 bref->check.freemap.icrc32, in show_bref()
|
H A D | cmd_recover.c | 1523 if (bref->check.freemap.icrc32 == cv) { in validate_crc()
|