Home
last modified time | relevance | path

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

12

/linux-5.19.10/drivers/md/
Ddm-thin-metadata.h119 dm_block_t *result);
136 dm_block_t block;
146 int dm_thin_find_block(struct dm_thin_device *td, dm_block_t block,
154 dm_block_t begin, dm_block_t end,
155 dm_block_t *thin_begin, dm_block_t *thin_end,
156 dm_block_t *pool_begin, bool *maybe_shared);
161 int dm_pool_alloc_data_block(struct dm_pool_metadata *pmd, dm_block_t *result);
166 int dm_thin_insert_block(struct dm_thin_device *td, dm_block_t block,
167 dm_block_t data_block);
170 dm_block_t begin, dm_block_t end);
[all …]
Ddm-cache-block-types.h20 typedef dm_block_t __bitwise dm_oblock_t;
22 typedef dm_block_t __bitwise dm_dblock_t;
24 static inline dm_oblock_t to_oblock(dm_block_t b) in to_oblock()
29 static inline dm_block_t from_oblock(dm_oblock_t b) in from_oblock()
31 return (__force dm_block_t) b; in from_oblock()
44 static inline dm_dblock_t to_dblock(dm_block_t b) in to_dblock()
49 static inline dm_block_t from_dblock(dm_dblock_t b) in from_dblock()
51 return (__force dm_block_t) b; in from_dblock()
Ddm-thin-metadata.c184 dm_block_t root;
185 dm_block_t details_root;
204 dm_block_t metadata_reserve;
303 static uint64_t pack_block_time(dm_block_t b, uint32_t t) in pack_block_time()
308 static void unpack_block_time(uint64_t v, dm_block_t *b, uint32_t *t) in unpack_block_time()
319 typedef int (*run_fn)(struct dm_space_map *, dm_block_t, dm_block_t);
908 dm_block_t total; in __set_metadata_reserve()
909 dm_block_t max_blocks = 4096; /* 16M */ in __set_metadata_reserve()
1075 dm_block_t dev_root; in __create_thin()
1151 dm_block_t origin_root; in __create_snap()
[all …]
Ddm-era-target.c30 dm_block_t root;
54 unsigned nr_bits, dm_block_t *root) in setup_on_disk_bitset()
73 static int writeset_alloc(struct writeset *ws, dm_block_t nr_blocks) in writeset_alloc()
88 dm_block_t nr_blocks) in writeset_init()
104 static bool writeset_marked(struct writeset *ws, dm_block_t block) in writeset_marked()
110 struct writeset_metadata *m, dm_block_t block, in writeset_marked_on_disk()
113 dm_block_t old = m->root; in writeset_marked_on_disk()
267 dm_block_t block_size;
280 dm_block_t writeset_tree_root;
281 dm_block_t era_array_root;
[all …]
Ddm-thin.c121 dm_block_t b, dm_block_t e, struct dm_cell_key *key) in build_key()
129 static void build_data_key(struct dm_thin_device *td, dm_block_t b, in build_data_key()
135 static void build_virtual_key(struct dm_thin_device *td, dm_block_t b, in build_virtual_key()
238 dm_block_t low_water_blocks;
328 dm_block_t low_water_blocks;
369 static sector_t block_to_sectors(struct pool *pool, dm_block_t b) in block_to_sectors()
395 static int issue_discard(struct discard_op *op, dm_block_t data_b, dm_block_t data_e) in issue_discard()
675 static dm_block_t get_bio_block(struct thin_c *tc, struct bio *bio) in get_bio_block()
692 dm_block_t *begin, dm_block_t *end) in get_bio_block_range()
716 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-5.19.10/drivers/md/persistent-data/
Ddm-space-map.h24 int (*extend)(struct dm_space_map *sm, dm_block_t extra_blocks);
30 int (*get_nr_blocks)(struct dm_space_map *sm, dm_block_t *count);
40 int (*get_nr_free)(struct dm_space_map *sm, dm_block_t *count);
42 int (*get_count)(struct dm_space_map *sm, dm_block_t b, uint32_t *result);
43 int (*count_is_more_than_one)(struct dm_space_map *sm, dm_block_t b,
45 int (*set_count)(struct dm_space_map *sm, dm_block_t b, uint32_t count);
49 int (*inc_blocks)(struct dm_space_map *sm, dm_block_t b, dm_block_t e);
50 int (*dec_blocks)(struct dm_space_map *sm, dm_block_t b, dm_block_t e);
55 int (*new_block)(struct dm_space_map *sm, dm_block_t *b);
70 dm_block_t threshold,
[all …]
Ddm-space-map-common.h50 typedef int (*load_ie_fn)(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *result);
51 typedef int (*save_ie_fn)(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *ie);
54 typedef dm_block_t (*max_index_entries_fn)(struct ll_disk *ll);
67 dm_block_t index;
78 dm_block_t nr_blocks;
79 dm_block_t nr_allocated;
84 dm_block_t bitmap_root;
86 dm_block_t ref_count_root;
117 int sm_ll_extend(struct ll_disk *ll, dm_block_t extra_blocks);
118 int sm_ll_lookup_bitmap(struct ll_disk *ll, dm_block_t b, uint32_t *result);
[all …]
Ddm-btree.h94 int dm_btree_empty(struct dm_btree_info *info, dm_block_t *root);
100 int dm_btree_del(struct dm_btree_info *info, dm_block_t root);
109 int dm_btree_lookup(struct dm_btree_info *info, dm_block_t root,
116 int dm_btree_lookup_next(struct dm_btree_info *info, dm_block_t root,
122 int dm_btree_insert(struct dm_btree_info *info, dm_block_t root,
123 uint64_t *keys, void *value, dm_block_t *new_root)
131 int dm_btree_insert_notify(struct dm_btree_info *info, dm_block_t root,
132 uint64_t *keys, void *value, dm_block_t *new_root,
141 int dm_btree_remove(struct dm_btree_info *info, dm_block_t root,
142 uint64_t *keys, dm_block_t *new_root);
[all …]
Ddm-bitset.h93 int dm_bitset_empty(struct dm_disk_bitset *info, dm_block_t *new_root);
108 int dm_bitset_new(struct dm_disk_bitset *info, dm_block_t *root,
121 int dm_bitset_resize(struct dm_disk_bitset *info, dm_block_t old_root,
123 bool default_value, dm_block_t *new_root);
128 int dm_bitset_del(struct dm_disk_bitset *info, dm_block_t root);
140 int dm_bitset_set_bit(struct dm_disk_bitset *info, dm_block_t root,
141 uint32_t index, dm_block_t *new_root);
153 int dm_bitset_clear_bit(struct dm_disk_bitset *info, dm_block_t root,
154 uint32_t index, dm_block_t *new_root);
167 int dm_bitset_test_bit(struct dm_disk_bitset *info, dm_block_t root,
[all …]
Ddm-transaction-manager.h85 int dm_tm_shadow_block(struct dm_transaction_manager *tm, dm_block_t orig,
93 int dm_tm_read_lock(struct dm_transaction_manager *tm, dm_block_t b,
102 void dm_tm_inc(struct dm_transaction_manager *tm, dm_block_t b);
103 void dm_tm_inc_range(struct dm_transaction_manager *tm, dm_block_t b, dm_block_t e);
104 void dm_tm_dec(struct dm_transaction_manager *tm, dm_block_t b);
105 void dm_tm_dec_range(struct dm_transaction_manager *tm, dm_block_t b, dm_block_t e);
112 typedef void (*dm_tm_run_fn)(struct dm_transaction_manager *, dm_block_t, dm_block_t);
116 int dm_tm_ref(struct dm_transaction_manager *tm, dm_block_t b, uint32_t *result);
122 int dm_tm_block_is_shared(struct dm_transaction_manager *tm, dm_block_t b,
144 int dm_tm_create_with_sm(struct dm_block_manager *bm, dm_block_t sb_location,
[all …]
Ddm-space-map-metadata.c26 dm_block_t threshold;
27 dm_block_t current_value;
38 static void set_threshold(struct threshold *t, dm_block_t value, in set_threshold()
47 static bool below_threshold(struct threshold *t, dm_block_t value) in below_threshold()
57 static void check_threshold(struct threshold *t, dm_block_t value) in check_threshold()
92 dm_block_t b;
93 dm_block_t e;
120 enum block_op_type type, dm_block_t b, dm_block_t e) in brb_push()
172 dm_block_t begin;
181 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.h92 int dm_array_empty(struct dm_array_info *info, dm_block_t *root);
109 int dm_array_resize(struct dm_array_info *info, dm_block_t root,
111 const void *value, dm_block_t *new_root)
130 int dm_array_new(struct dm_array_info *info, dm_block_t *root,
137 int dm_array_del(struct dm_array_info *info, dm_block_t root);
149 int dm_array_get_value(struct dm_array_info *info, dm_block_t root,
167 int dm_array_set_value(struct dm_array_info *info, dm_block_t root,
168 uint32_t index, const void *value, dm_block_t *new_root)
179 int dm_array_walk(struct dm_array_info *info, dm_block_t root,
205 dm_block_t root, struct dm_array_cursor *c);
Ddm-block-manager.h18 typedef uint64_t dm_block_t; typedef
21 dm_block_t dm_block_location(struct dm_block *b);
40 dm_block_t dm_bm_nr_blocks(struct dm_block_manager *bm);
73 int dm_bm_read_lock(struct dm_block_manager *bm, dm_block_t b,
77 int dm_bm_write_lock(struct dm_block_manager *bm, dm_block_t b,
85 int dm_bm_read_try_lock(struct dm_block_manager *bm, dm_block_t b,
93 int dm_bm_write_lock_zero(struct dm_block_manager *bm, dm_block_t b,
113 void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b);
Ddm-transaction-manager.c24 #define PREFETCH_SENTINEL ((dm_block_t) -1ULL)
28 dm_block_t blocks[PREFETCH_SIZE];
31 static unsigned prefetch_hash(dm_block_t b) in prefetch_hash()
49 static void prefetch_add(struct prefetch_set *p, dm_block_t b) in prefetch_add()
79 dm_block_t where;
103 static int is_shadow(struct dm_transaction_manager *tm, dm_block_t b) in is_shadow()
124 static void insert_shadow(struct dm_transaction_manager *tm, dm_block_t b) in insert_shadow()
239 dm_block_t new_block; in dm_tm_new_block()
263 static int __shadow_block(struct dm_transaction_manager *tm, dm_block_t orig, in __shadow_block()
268 dm_block_t new; in __shadow_block()
[all …]
Ddm-bitset.c36 int dm_bitset_empty(struct dm_disk_bitset *info, dm_block_t *root) in dm_bitset_empty()
72 int dm_bitset_new(struct dm_disk_bitset *info, dm_block_t *root, in dm_bitset_new()
84 int dm_bitset_resize(struct dm_disk_bitset *info, dm_block_t root, in dm_bitset_resize()
86 bool default_value, dm_block_t *new_root) in dm_bitset_resize()
98 int dm_bitset_del(struct dm_disk_bitset *info, dm_block_t root) in dm_bitset_del()
104 int dm_bitset_flush(struct dm_disk_bitset *info, dm_block_t root, in dm_bitset_flush()
105 dm_block_t *new_root) in dm_bitset_flush()
128 static int read_bits(struct dm_disk_bitset *info, dm_block_t root, in read_bits()
146 static int get_array_entry(struct dm_disk_bitset *info, dm_block_t root, in get_array_entry()
147 uint32_t index, dm_block_t *new_root) in get_array_entry()
[all …]
Ddm-space-map-disk.c30 dm_block_t begin;
31 dm_block_t nr_allocated_this_transaction;
41 static int sm_disk_extend(struct dm_space_map *sm, dm_block_t extra_blocks) in sm_disk_extend()
48 static int sm_disk_get_nr_blocks(struct dm_space_map *sm, dm_block_t *count) in sm_disk_get_nr_blocks()
56 static int sm_disk_get_nr_free(struct dm_space_map *sm, dm_block_t *count) in sm_disk_get_nr_free()
64 static int sm_disk_get_count(struct dm_space_map *sm, dm_block_t b, in sm_disk_get_count()
71 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()
86 static int sm_disk_set_count(struct dm_space_map *sm, dm_block_t b, in sm_disk_set_count()
101 static int sm_disk_inc_blocks(struct dm_space_map *sm, dm_block_t b, dm_block_t e) in sm_disk_inc_blocks()
114 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.c236 int sm_ll_extend(struct ll_disk *ll, dm_block_t extra_blocks) in sm_ll_extend()
239 dm_block_t i, nr_blocks, nr_indexes; in sm_ll_extend()
279 int sm_ll_lookup_bitmap(struct ll_disk *ll, dm_block_t b, uint32_t *result) in sm_ll_lookup_bitmap()
282 dm_block_t index = b; in sm_ll_lookup_bitmap()
308 static int sm_ll_lookup_big_ref_count(struct ll_disk *ll, dm_block_t b, in sm_ll_lookup_big_ref_count()
323 int sm_ll_lookup(struct ll_disk *ll, dm_block_t b, uint32_t *result) in sm_ll_lookup()
336 int sm_ll_find_free_block(struct ll_disk *ll, dm_block_t begin, in sm_ll_find_free_block()
337 dm_block_t end, dm_block_t *result) in sm_ll_find_free_block()
341 dm_block_t i, index_begin = begin; in sm_ll_find_free_block()
342 dm_block_t index_end = dm_sector_div_up(end, ll->entries_per_block); in sm_ll_find_free_block()
[all …]
Ddm-btree-internal.h48 int bn_read_lock(struct dm_btree_info *info, dm_block_t b,
72 int ro_step(struct ro_spine *s, dm_block_t new_child);
82 dm_block_t root;
88 int shadow_step(struct shadow_spine *s, dm_block_t b,
103 dm_block_t shadow_root(struct shadow_spine *s);
156 int btree_get_overwrite_leaf(struct dm_btree_info *info, dm_block_t root,
158 dm_block_t *new_root, struct dm_block **leaf);
Ddm-array.c216 static int get_ablock(struct dm_array_info *info, dm_block_t b, in get_ablock()
249 static int lookup_ablock(struct dm_array_info *info, dm_block_t root, in lookup_ablock()
268 struct dm_block *block, dm_block_t *root) in insert_ablock()
278 static int __shadow_ablock(struct dm_array_info *info, dm_block_t b, in __shadow_ablock()
299 struct dm_block *block, dm_block_t b, in __reinsert_ablock()
300 dm_block_t *root) in __reinsert_ablock()
323 static int shadow_ablock(struct dm_array_info *info, dm_block_t *root, in shadow_ablock()
329 dm_block_t b; in shadow_ablock()
350 const void *value, dm_block_t *root) in insert_new_ablock()
370 dm_block_t *root) in insert_full_ablocks()
[all …]
Ddm-btree.c126 int dm_btree_empty(struct dm_btree_info *info, dm_block_t *root) in dm_btree_empty()
208 static int push_frame(struct del_stack *s, dm_block_t b, unsigned level) in push_frame()
270 int dm_btree_del(struct dm_btree_info *info, dm_block_t root) in dm_btree_del()
294 dm_block_t b; in dm_btree_del()
340 static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, in btree_lookup_raw()
371 int dm_btree_lookup(struct dm_btree_info *info, dm_block_t root, in dm_btree_lookup()
416 static int dm_btree_lookup_next_single(struct dm_btree_info *info, dm_block_t root, in dm_btree_lookup_next_single()
467 int dm_btree_lookup_next(struct dm_btree_info *info, dm_block_t root, in dm_btree_lookup_next()
703 dm_block_t root; in shadow_child()
964 static int get_node_free_space(struct dm_btree_info *info, dm_block_t b, unsigned *space) in get_node_free_space()
[all …]
Ddm-space-map-metadata.h34 dm_block_t nr_blocks,
35 dm_block_t superblock);
Ddm-btree-spine.c91 int bn_read_lock(struct dm_btree_info *info, dm_block_t b, in bn_read_lock()
97 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()
191 int shadow_step(struct shadow_spine *s, dm_block_t b, in shadow_step()
232 dm_block_t shadow_root(struct shadow_spine *s) in shadow_root()
Ddm-block-manager.c300 static void report_recursive_bug(dm_block_t b, int r) in report_recursive_bug()
333 dm_block_t dm_block_location(struct dm_block *b) in dm_block_location()
423 dm_block_t dm_bm_nr_blocks(struct dm_block_manager *bm) in dm_bm_nr_blocks()
455 int dm_bm_read_lock(struct dm_block_manager *bm, dm_block_t b, in dm_bm_read_lock()
489 dm_block_t b, struct dm_block_validator *v, in dm_bm_write_lock()
525 dm_block_t b, struct dm_block_validator *v, in dm_bm_read_try_lock()
558 dm_block_t b, struct dm_block_validator *v, in dm_bm_write_lock_zero()
612 void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b) in dm_bm_prefetch()
Ddm-btree-remove.c163 dm_block_t root; in init_child()
489 dm_block_t b = value64(n, 0); in rebalance_children()
541 struct dm_btree_value_type *vt, dm_block_t root, in remove_raw()
589 int dm_btree_remove(struct dm_btree_info *info, dm_block_t root, in dm_btree_remove()
590 uint64_t *keys, dm_block_t *new_root) in dm_btree_remove()
634 struct dm_btree_value_type *vt, dm_block_t root, in remove_nearest()
686 static int remove_one(struct dm_btree_info *info, dm_block_t root, in remove_one()
688 dm_block_t *new_root, unsigned *nr_removed) in remove_one()
743 int dm_btree_remove_leaves(struct dm_btree_info *info, dm_block_t root, in dm_btree_remove_leaves()
745 dm_block_t *new_root, unsigned *nr_removed) in dm_btree_remove_leaves()

12