Lines Matching refs:sm
167 struct dm_space_map sm;
274 static void sm_metadata_destroy(struct dm_space_map *sm)
276 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
281 static int sm_metadata_get_nr_blocks(struct dm_space_map *sm, dm_block_t *count)
283 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
290 static int sm_metadata_get_nr_free(struct dm_space_map *sm, dm_block_t *count)
292 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
300 static int sm_metadata_get_count(struct dm_space_map *sm, dm_block_t b,
305 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
340 static int sm_metadata_count_is_more_than_one(struct dm_space_map *sm,
345 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
392 static int sm_metadata_set_count(struct dm_space_map *sm, dm_block_t b,
397 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
411 static int sm_metadata_inc_block(struct dm_space_map *sm, dm_block_t b)
415 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
428 static int sm_metadata_dec_block(struct dm_space_map *sm, dm_block_t b)
432 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
445 static int sm_metadata_new_block_(struct dm_space_map *sm, dm_block_t *b)
449 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
482 static int sm_metadata_new_block(struct dm_space_map *sm, dm_block_t *b)
485 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
487 int r = sm_metadata_new_block_(sm, b);
493 r = sm_metadata_get_nr_free(sm, &count);
504 static int sm_metadata_commit(struct dm_space_map *sm)
507 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
519 static int sm_metadata_register_threshold_callback(struct dm_space_map *sm,
524 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
531 static int sm_metadata_root_size(struct dm_space_map *sm, size_t *result)
538 static int sm_metadata_copy_root(struct dm_space_map *sm, void *where_le, size_t max)
540 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
556 static int sm_metadata_extend(struct dm_space_map *sm, dm_block_t extra_blocks);
581 static void sm_bootstrap_destroy(struct dm_space_map *sm)
585 static int sm_bootstrap_extend(struct dm_space_map *sm, dm_block_t extra_blocks)
592 static int sm_bootstrap_get_nr_blocks(struct dm_space_map *sm, dm_block_t *count)
594 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
601 static int sm_bootstrap_get_nr_free(struct dm_space_map *sm, dm_block_t *count)
603 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
610 static int sm_bootstrap_get_count(struct dm_space_map *sm, dm_block_t b,
613 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
620 static int sm_bootstrap_count_is_more_than_one(struct dm_space_map *sm,
628 static int sm_bootstrap_set_count(struct dm_space_map *sm, dm_block_t b,
636 static int sm_bootstrap_new_block(struct dm_space_map *sm, dm_block_t *b)
638 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
651 static int sm_bootstrap_inc_block(struct dm_space_map *sm, dm_block_t b)
653 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
658 static int sm_bootstrap_dec_block(struct dm_space_map *sm, dm_block_t b)
660 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
665 static int sm_bootstrap_commit(struct dm_space_map *sm)
670 static int sm_bootstrap_root_size(struct dm_space_map *sm, size_t *result)
677 static int sm_bootstrap_copy_root(struct dm_space_map *sm, void *where,
704 static int sm_metadata_extend(struct dm_space_map *sm, dm_block_t extra_blocks)
707 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
714 memcpy(sm, &bootstrap_ops, sizeof(*sm));
752 memcpy(sm, &ops, sizeof(*sm));
766 memcpy(&smm->sm, &ops, sizeof(smm->sm));
768 return &smm->sm;
771 int dm_sm_metadata_create(struct dm_space_map *sm,
778 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
786 memcpy(&smm->sm, &bootstrap_ops, sizeof(smm->sm));
794 memcpy(&smm->sm, &ops, sizeof(smm->sm));
814 return sm_metadata_commit(sm);
817 int dm_sm_metadata_open(struct dm_space_map *sm,
822 struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);