Home
last modified time | relevance | path

Searched refs:dm_block_t (Results 1 – 25 of 34) sorted by relevance

12

/linux-6.12.1/drivers/md/
Ddm-thin-metadata.h120 dm_block_t *result);
137 dm_block_t block;
147 int dm_thin_find_block(struct dm_thin_device *td, dm_block_t block,
155 dm_block_t begin, dm_block_t end,
156 dm_block_t *thin_begin, dm_block_t *thin_end,
157 dm_block_t *pool_begin, bool *maybe_shared);
162 int dm_pool_alloc_data_block(struct dm_pool_metadata *pmd, dm_block_t *result);
167 int dm_thin_insert_block(struct dm_thin_device *td, dm_block_t block,
168 dm_block_t data_block);
171 dm_block_t begin, dm_block_t end);
[all …]
Ddm-cache-block-types.h21 typedef dm_block_t __bitwise dm_oblock_t;
23 typedef dm_block_t __bitwise dm_dblock_t;
25 static inline dm_oblock_t to_oblock(dm_block_t b) in to_oblock()
30 static inline dm_block_t from_oblock(dm_oblock_t b) in from_oblock()
32 return (__force dm_block_t) b; in from_oblock()
45 static inline dm_dblock_t to_dblock(dm_block_t b) in to_dblock()
50 static inline dm_block_t from_dblock(dm_dblock_t b) in from_dblock()
52 return (__force dm_block_t) b; in from_dblock()
Ddm-thin-metadata.c187 dm_block_t root;
188 dm_block_t details_root;
207 dm_block_t metadata_reserve;
308 static uint64_t pack_block_time(dm_block_t b, uint32_t t) in pack_block_time()
313 static void unpack_block_time(uint64_t v, dm_block_t *b, uint32_t *t) in unpack_block_time()
324 typedef int (*run_fn)(struct dm_space_map *, dm_block_t, dm_block_t);
942 dm_block_t total; in __set_metadata_reserve()
943 dm_block_t max_blocks = 4096; /* 16M */ in __set_metadata_reserve()
1108 dm_block_t dev_root; in __create_thin()
1184 dm_block_t origin_root; in __create_snap()
[all …]
Ddm-era-target.c32 dm_block_t root;
56 unsigned int nr_bits, dm_block_t *root) in setup_on_disk_bitset()
75 static int writeset_alloc(struct writeset *ws, dm_block_t nr_blocks) in writeset_alloc()
90 dm_block_t nr_blocks) in writeset_init()
106 static bool writeset_marked(struct writeset *ws, dm_block_t block) in writeset_marked()
112 struct writeset_metadata *m, dm_block_t block, in writeset_marked_on_disk()
116 dm_block_t old = m->root; in writeset_marked_on_disk()
277 dm_block_t block_size;
290 dm_block_t writeset_tree_root;
291 dm_block_t era_array_root;
[all …]
Ddm-thin.c122 dm_block_t b, dm_block_t e, struct dm_cell_key *key) in build_key()
132 static void build_data_key(struct dm_thin_device *td, dm_block_t b, in build_data_key()
138 static void build_virtual_key(struct dm_thin_device *td, dm_block_t b, in build_virtual_key()
241 dm_block_t low_water_blocks;
331 dm_block_t low_water_blocks;
372 static sector_t block_to_sectors(struct pool *pool, dm_block_t b) in block_to_sectors()
398 static int issue_discard(struct discard_op *op, dm_block_t data_b, dm_block_t data_e) in issue_discard()
672 static dm_block_t get_bio_block(struct thin_c *tc, struct bio *bio) in get_bio_block()
689 dm_block_t *begin, dm_block_t *end) in get_bio_block_range()
714 static void remap(struct thin_c *tc, struct bio *bio, dm_block_t block) in remap()
[all …]
Ddm-clone-metadata.h170 int dm_clone_get_free_metadata_block_count(struct dm_clone_metadata *cmd, dm_block_t *result);
175 int dm_clone_get_metadata_dev_size(struct dm_clone_metadata *cmd, dm_block_t *result);
/linux-6.12.1/drivers/md/persistent-data/
Ddm-space-map.h25 int (*extend)(struct dm_space_map *sm, dm_block_t extra_blocks);
31 int (*get_nr_blocks)(struct dm_space_map *sm, dm_block_t *count);
41 int (*get_nr_free)(struct dm_space_map *sm, dm_block_t *count);
43 int (*get_count)(struct dm_space_map *sm, dm_block_t b, uint32_t *result);
44 int (*count_is_more_than_one)(struct dm_space_map *sm, dm_block_t b,
46 int (*set_count)(struct dm_space_map *sm, dm_block_t b, uint32_t count);
50 int (*inc_blocks)(struct dm_space_map *sm, dm_block_t b, dm_block_t e);
51 int (*dec_blocks)(struct dm_space_map *sm, dm_block_t b, dm_block_t e);
56 int (*new_block)(struct dm_space_map *sm, dm_block_t *b);
71 dm_block_t threshold,
[all …]
Ddm-space-map-common.h51 typedef int (*load_ie_fn)(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *result);
52 typedef int (*save_ie_fn)(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *ie);
55 typedef dm_block_t (*max_index_entries_fn)(struct ll_disk *ll);
68 dm_block_t index;
79 dm_block_t nr_blocks;
80 dm_block_t nr_allocated;
85 dm_block_t bitmap_root;
87 dm_block_t ref_count_root;
118 int sm_ll_extend(struct ll_disk *ll, dm_block_t extra_blocks);
119 int sm_ll_lookup_bitmap(struct ll_disk *ll, dm_block_t b, uint32_t *result);
[all …]
Ddm-btree.h95 int dm_btree_empty(struct dm_btree_info *info, dm_block_t *root);
101 int dm_btree_del(struct dm_btree_info *info, dm_block_t root);
110 int dm_btree_lookup(struct dm_btree_info *info, dm_block_t root,
117 int dm_btree_lookup_next(struct dm_btree_info *info, dm_block_t root,
123 int dm_btree_insert(struct dm_btree_info *info, dm_block_t root,
124 uint64_t *keys, void *value, dm_block_t *new_root)
132 int dm_btree_insert_notify(struct dm_btree_info *info, dm_block_t root,
133 uint64_t *keys, void *value, dm_block_t *new_root,
142 int dm_btree_remove(struct dm_btree_info *info, dm_block_t root,
143 uint64_t *keys, dm_block_t *new_root);
[all …]
Ddm-bitset.h94 int dm_bitset_empty(struct dm_disk_bitset *info, dm_block_t *new_root);
109 int dm_bitset_new(struct dm_disk_bitset *info, dm_block_t *root,
122 int dm_bitset_resize(struct dm_disk_bitset *info, dm_block_t old_root,
124 bool default_value, dm_block_t *new_root);
129 int dm_bitset_del(struct dm_disk_bitset *info, dm_block_t root);
141 int dm_bitset_set_bit(struct dm_disk_bitset *info, dm_block_t root,
142 uint32_t index, dm_block_t *new_root);
154 int dm_bitset_clear_bit(struct dm_disk_bitset *info, dm_block_t root,
155 uint32_t index, dm_block_t *new_root);
168 int dm_bitset_test_bit(struct dm_disk_bitset *info, dm_block_t root,
[all …]
Ddm-transaction-manager.h86 int dm_tm_shadow_block(struct dm_transaction_manager *tm, dm_block_t orig,
94 int dm_tm_read_lock(struct dm_transaction_manager *tm, dm_block_t b,
103 void dm_tm_inc(struct dm_transaction_manager *tm, dm_block_t b);
104 void dm_tm_inc_range(struct dm_transaction_manager *tm, dm_block_t b, dm_block_t e);
105 void dm_tm_dec(struct dm_transaction_manager *tm, dm_block_t b);
106 void dm_tm_dec_range(struct dm_transaction_manager *tm, dm_block_t b, dm_block_t e);
113 typedef void (*dm_tm_run_fn)(struct dm_transaction_manager *, dm_block_t, dm_block_t);
117 int dm_tm_ref(struct dm_transaction_manager *tm, dm_block_t b, uint32_t *result);
123 int dm_tm_block_is_shared(struct dm_transaction_manager *tm, dm_block_t b,
145 int dm_tm_create_with_sm(struct dm_block_manager *bm, dm_block_t sb_location,
[all …]
Ddm-space-map-metadata.c27 dm_block_t threshold;
28 dm_block_t current_value;
39 static void set_threshold(struct threshold *t, dm_block_t value, in set_threshold()
48 static bool below_threshold(struct threshold *t, dm_block_t value) in below_threshold()
58 static void check_threshold(struct threshold *t, dm_block_t value) in check_threshold()
93 dm_block_t b;
94 dm_block_t e;
122 enum block_op_type type, dm_block_t b, dm_block_t e) in brb_push()
174 dm_block_t begin;
183 static int add_bop(struct sm_metadata *smm, enum block_op_type type, dm_block_t b, dm_block_t e) in add_bop()
[all …]
Ddm-array.h93 int dm_array_empty(struct dm_array_info *info, dm_block_t *root);
110 int dm_array_resize(struct dm_array_info *info, dm_block_t root,
112 const void *value, dm_block_t *new_root)
131 int dm_array_new(struct dm_array_info *info, dm_block_t *root,
138 int dm_array_del(struct dm_array_info *info, dm_block_t root);
150 int dm_array_get_value(struct dm_array_info *info, dm_block_t root,
168 int dm_array_set_value(struct dm_array_info *info, dm_block_t root,
169 uint32_t index, const void *value, dm_block_t *new_root)
180 int dm_array_walk(struct dm_array_info *info, dm_block_t root,
206 dm_block_t root, struct dm_array_cursor *c);
Ddm-transaction-manager.c25 #define PREFETCH_SENTINEL ((dm_block_t) -1ULL)
29 dm_block_t blocks[PREFETCH_SIZE];
32 static unsigned int prefetch_hash(dm_block_t b) in prefetch_hash()
51 static void prefetch_add(struct prefetch_set *p, dm_block_t b) in prefetch_add()
81 dm_block_t where;
105 static int is_shadow(struct dm_transaction_manager *tm, dm_block_t b) in is_shadow()
126 static void insert_shadow(struct dm_transaction_manager *tm, dm_block_t b) in insert_shadow()
244 dm_block_t new_block; in dm_tm_new_block()
268 static int __shadow_block(struct dm_transaction_manager *tm, dm_block_t orig, in __shadow_block()
273 dm_block_t new; in __shadow_block()
[all …]
Ddm-block-manager.h19 typedef uint64_t dm_block_t; typedef
22 dm_block_t dm_block_location(struct dm_block *b);
42 dm_block_t dm_bm_nr_blocks(struct dm_block_manager *bm);
77 int dm_bm_read_lock(struct dm_block_manager *bm, dm_block_t b,
81 int dm_bm_write_lock(struct dm_block_manager *bm, dm_block_t b,
89 int dm_bm_read_try_lock(struct dm_block_manager *bm, dm_block_t b,
97 int dm_bm_write_lock_zero(struct dm_block_manager *bm, dm_block_t b,
117 void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b);
Ddm-bitset.c37 int dm_bitset_empty(struct dm_disk_bitset *info, dm_block_t *root) in dm_bitset_empty()
73 int dm_bitset_new(struct dm_disk_bitset *info, dm_block_t *root, in dm_bitset_new()
86 int dm_bitset_resize(struct dm_disk_bitset *info, dm_block_t root, in dm_bitset_resize()
88 bool default_value, dm_block_t *new_root) in dm_bitset_resize()
100 int dm_bitset_del(struct dm_disk_bitset *info, dm_block_t root) in dm_bitset_del()
106 int dm_bitset_flush(struct dm_disk_bitset *info, dm_block_t root, in dm_bitset_flush()
107 dm_block_t *new_root) in dm_bitset_flush()
130 static int read_bits(struct dm_disk_bitset *info, dm_block_t root, in read_bits()
148 static int get_array_entry(struct dm_disk_bitset *info, dm_block_t root, in get_array_entry()
149 uint32_t index, dm_block_t *new_root) in get_array_entry()
[all …]
Ddm-space-map-disk.c31 dm_block_t begin;
32 dm_block_t nr_allocated_this_transaction;
42 static int sm_disk_extend(struct dm_space_map *sm, dm_block_t extra_blocks) in sm_disk_extend()
49 static int sm_disk_get_nr_blocks(struct dm_space_map *sm, dm_block_t *count) in sm_disk_get_nr_blocks()
58 static int sm_disk_get_nr_free(struct dm_space_map *sm, dm_block_t *count) in sm_disk_get_nr_free()
67 static int sm_disk_get_count(struct dm_space_map *sm, dm_block_t b, in sm_disk_get_count()
75 static int sm_disk_count_is_more_than_one(struct dm_space_map *sm, dm_block_t b, in sm_disk_count_is_more_than_one()
90 static int sm_disk_set_count(struct dm_space_map *sm, dm_block_t b, in sm_disk_set_count()
104 static int sm_disk_inc_blocks(struct dm_space_map *sm, dm_block_t b, dm_block_t e) in sm_disk_inc_blocks()
117 static int sm_disk_dec_blocks(struct dm_space_map *sm, dm_block_t b, dm_block_t e) in sm_disk_dec_blocks()
[all …]
Ddm-space-map-common.c237 int sm_ll_extend(struct ll_disk *ll, dm_block_t extra_blocks) in sm_ll_extend()
240 dm_block_t i, nr_blocks, nr_indexes; in sm_ll_extend()
280 int sm_ll_lookup_bitmap(struct ll_disk *ll, dm_block_t b, uint32_t *result) in sm_ll_lookup_bitmap()
283 dm_block_t index = b; in sm_ll_lookup_bitmap()
309 static int sm_ll_lookup_big_ref_count(struct ll_disk *ll, dm_block_t b, in sm_ll_lookup_big_ref_count()
324 int sm_ll_lookup(struct ll_disk *ll, dm_block_t b, uint32_t *result) in sm_ll_lookup()
337 int sm_ll_find_free_block(struct ll_disk *ll, dm_block_t begin, in sm_ll_find_free_block()
338 dm_block_t end, dm_block_t *result) in sm_ll_find_free_block()
342 dm_block_t i, index_begin = begin; in sm_ll_find_free_block()
343 dm_block_t index_end = dm_sector_div_up(end, ll->entries_per_block); in sm_ll_find_free_block()
[all …]
Ddm-btree-internal.h49 int bn_read_lock(struct dm_btree_info *info, dm_block_t b,
73 int ro_step(struct ro_spine *s, dm_block_t new_child);
83 dm_block_t root;
89 int shadow_step(struct shadow_spine *s, dm_block_t b,
104 dm_block_t shadow_root(struct shadow_spine *s);
158 int btree_get_overwrite_leaf(struct dm_btree_info *info, dm_block_t root,
160 dm_block_t *new_root, struct dm_block **leaf);
Ddm-array.c218 static int get_ablock(struct dm_array_info *info, dm_block_t b, in get_ablock()
251 static int lookup_ablock(struct dm_array_info *info, dm_block_t root, in lookup_ablock()
270 struct dm_block *block, dm_block_t *root) in insert_ablock()
280 static int __shadow_ablock(struct dm_array_info *info, dm_block_t b, in __shadow_ablock()
301 struct dm_block *block, dm_block_t b, in __reinsert_ablock()
302 dm_block_t *root) in __reinsert_ablock()
325 static int shadow_ablock(struct dm_array_info *info, dm_block_t *root, in shadow_ablock()
331 dm_block_t b; in shadow_ablock()
352 const void *value, dm_block_t *root) in insert_new_ablock()
372 dm_block_t *root) in insert_full_ablocks()
[all …]
Ddm-btree.c129 int dm_btree_empty(struct dm_btree_info *info, dm_block_t *root) in dm_btree_empty()
211 static int push_frame(struct del_stack *s, dm_block_t b, unsigned int level) in push_frame()
273 int dm_btree_del(struct dm_btree_info *info, dm_block_t root) in dm_btree_del()
297 dm_block_t b; in dm_btree_del()
343 static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, in btree_lookup_raw()
374 int dm_btree_lookup(struct dm_btree_info *info, dm_block_t root, in dm_btree_lookup()
419 static int dm_btree_lookup_next_single(struct dm_btree_info *info, dm_block_t root, in dm_btree_lookup_next_single()
470 int dm_btree_lookup_next(struct dm_btree_info *info, dm_block_t root, in dm_btree_lookup_next()
712 dm_block_t root; in shadow_child()
973 static int get_node_free_space(struct dm_btree_info *info, dm_block_t b, unsigned int *space) in get_node_free_space()
[all …]
Ddm-btree-spine.c92 int bn_read_lock(struct dm_btree_info *info, dm_block_t b, in bn_read_lock()
98 static int bn_shadow(struct dm_btree_info *info, dm_block_t orig, in bn_shadow()
140 int ro_step(struct ro_spine *s, dm_block_t new_child) in ro_step()
190 int shadow_step(struct shadow_spine *s, dm_block_t b, in shadow_step()
231 dm_block_t shadow_root(struct shadow_spine *s) in shadow_root()
Ddm-space-map-metadata.h35 dm_block_t nr_blocks,
36 dm_block_t superblock);
Ddm-block-manager.c302 static void report_recursive_bug(dm_block_t b, int r) in report_recursive_bug()
335 dm_block_t dm_block_location(struct dm_block *b) in dm_block_location()
436 dm_block_t dm_bm_nr_blocks(struct dm_block_manager *bm) in dm_bm_nr_blocks()
469 int dm_bm_read_lock(struct dm_block_manager *bm, dm_block_t b, in dm_bm_read_lock()
503 dm_block_t b, const struct dm_block_validator *v, in dm_bm_write_lock()
539 dm_block_t b, const struct dm_block_validator *v, in dm_bm_read_try_lock()
572 dm_block_t b, const struct dm_block_validator *v, in dm_bm_write_lock_zero()
625 void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b) in dm_bm_prefetch()
Ddm-btree-remove.c166 dm_block_t root; in init_child()
493 dm_block_t b = value64(n, 0); in rebalance_children()
545 struct dm_btree_value_type *vt, dm_block_t root, in remove_raw()
594 int dm_btree_remove(struct dm_btree_info *info, dm_block_t root, in dm_btree_remove()
595 uint64_t *keys, dm_block_t *new_root) in dm_btree_remove()
639 struct dm_btree_value_type *vt, dm_block_t root, in remove_nearest()
692 static int remove_one(struct dm_btree_info *info, dm_block_t root, in remove_one()
694 dm_block_t *new_root, unsigned int *nr_removed) in remove_one()
749 int dm_btree_remove_leaves(struct dm_btree_info *info, dm_block_t root, in dm_btree_remove_leaves()
751 dm_block_t *new_root, unsigned int *nr_removed) in dm_btree_remove_leaves()

12