Home
last modified time | relevance | path

Searched refs:freemap (Results 1 – 21 of 21) sorted by relevance

/dflybsd-src/sys/vfs/hammer2/
H A DFREEMAP11 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 Dhammer2_freemap.c330 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 DDESIGN59 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 Dhammer2_bulkfree.c1101 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 DTODO34 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 Dhammer2_disk.h695 } freemap; member
H A Dhammer2_chain.c5505 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 Dblockmap.c62 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 Dcmd_blockmap.c69 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 Dondisk.c618 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 Dhammer_blockmap.c76 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 Dhammer_volume.c387 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 Dtest.c108 } 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 Dreconstruct.c491 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 Dhammer2_freemap.c334 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 Dhammer2_bulkfree.c1112 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 Dhammer2_chain.c5514 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 Delfcore.c80 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 Dcmd_info.c459 if (bref->check.freemap.icrc32 != cv) { in h2pfs_check()
462 bref->check.freemap.icrc32, in h2pfs_check()
H A Dcmd_debug.c881 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 Dcmd_recover.c1523 if (bref->check.freemap.icrc32 == cv) { in validate_crc()