Lines Matching refs:disk_super

177 	struct cache_disk_superblock *disk_super = dm_block_data(b);  in sb_prepare_for_write()  local
179 disk_super->blocknr = cpu_to_le64(dm_block_location(b)); in sb_prepare_for_write()
180 disk_super->csum = cpu_to_le32(dm_bm_checksum(&disk_super->flags, in sb_prepare_for_write()
185 static int check_metadata_version(struct cache_disk_superblock *disk_super) in check_metadata_version() argument
187 uint32_t metadata_version = le32_to_cpu(disk_super->version); in check_metadata_version()
202 struct cache_disk_superblock *disk_super = dm_block_data(b); in sb_check() local
205 if (dm_block_location(b) != le64_to_cpu(disk_super->blocknr)) { in sb_check()
207 __func__, le64_to_cpu(disk_super->blocknr), in sb_check()
212 if (le64_to_cpu(disk_super->magic) != CACHE_SUPERBLOCK_MAGIC) { in sb_check()
214 __func__, le64_to_cpu(disk_super->magic), in sb_check()
219 csum_le = cpu_to_le32(dm_bm_checksum(&disk_super->flags, in sb_check()
222 if (csum_le != disk_super->csum) { in sb_check()
224 __func__, le32_to_cpu(csum_le), le32_to_cpu(disk_super->csum)); in sb_check()
228 return check_metadata_version(disk_super); in sb_check()
322 struct cache_disk_superblock *disk_super) in __copy_sm_root() argument
324 memcpy(&disk_super->metadata_space_map_root, in __copy_sm_root()
338 struct cache_disk_superblock *disk_super; in __write_initial_superblock() local
361 disk_super = dm_block_data(sblock); in __write_initial_superblock()
362 disk_super->flags = 0; in __write_initial_superblock()
363 memset(disk_super->uuid, 0, sizeof(disk_super->uuid)); in __write_initial_superblock()
364 disk_super->magic = cpu_to_le64(CACHE_SUPERBLOCK_MAGIC); in __write_initial_superblock()
365 disk_super->version = cpu_to_le32(cmd->version); in __write_initial_superblock()
366 memset(disk_super->policy_name, 0, sizeof(disk_super->policy_name)); in __write_initial_superblock()
367 memset(disk_super->policy_version, 0, sizeof(disk_super->policy_version)); in __write_initial_superblock()
368 disk_super->policy_hint_size = cpu_to_le32(0); in __write_initial_superblock()
370 __copy_sm_root(cmd, disk_super); in __write_initial_superblock()
372 disk_super->mapping_root = cpu_to_le64(cmd->root); in __write_initial_superblock()
373 disk_super->hint_root = cpu_to_le64(cmd->hint_root); in __write_initial_superblock()
374 disk_super->discard_root = cpu_to_le64(cmd->discard_root); in __write_initial_superblock()
375 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); in __write_initial_superblock()
376 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks)); in __write_initial_superblock()
377 disk_super->metadata_block_size = cpu_to_le32(DM_CACHE_METADATA_BLOCK_SIZE); in __write_initial_superblock()
378 disk_super->data_block_size = cpu_to_le32(cmd->data_block_size); in __write_initial_superblock()
379 disk_super->cache_blocks = cpu_to_le32(0); in __write_initial_superblock()
381 disk_super->read_hits = cpu_to_le32(0); in __write_initial_superblock()
382 disk_super->read_misses = cpu_to_le32(0); in __write_initial_superblock()
383 disk_super->write_hits = cpu_to_le32(0); in __write_initial_superblock()
384 disk_super->write_misses = cpu_to_le32(0); in __write_initial_superblock()
387 disk_super->dirty_root = cpu_to_le64(cmd->dirty_root); in __write_initial_superblock()
438 static int __check_incompat_features(struct cache_disk_superblock *disk_super, in __check_incompat_features() argument
443 incompat_flags = le32_to_cpu(disk_super->incompat_flags); in __check_incompat_features()
457 features = le32_to_cpu(disk_super->compat_ro_flags) & ~DM_CACHE_FEATURE_COMPAT_RO_SUPP; in __check_incompat_features()
471 struct cache_disk_superblock *disk_super; in __open_metadata() local
480 disk_super = dm_block_data(sblock); in __open_metadata()
483 if (le32_to_cpu(disk_super->data_block_size) != cmd->data_block_size) { in __open_metadata()
485 le32_to_cpu(disk_super->data_block_size), in __open_metadata()
491 r = __check_incompat_features(disk_super, cmd); in __open_metadata()
496 disk_super->metadata_space_map_root, in __open_metadata()
497 sizeof(disk_super->metadata_space_map_root), in __open_metadata()
507 sb_flags = le32_to_cpu(disk_super->flags); in __open_metadata()
568 static void update_flags(struct cache_disk_superblock *disk_super, in update_flags() argument
571 uint32_t sb_flags = mutator(le32_to_cpu(disk_super->flags)); in update_flags()
573 disk_super->flags = cpu_to_le32(sb_flags); in update_flags()
589 struct cache_disk_superblock *disk_super) in read_superblock_fields() argument
591 cmd->version = le32_to_cpu(disk_super->version); in read_superblock_fields()
592 cmd->flags = le32_to_cpu(disk_super->flags); in read_superblock_fields()
593 cmd->root = le64_to_cpu(disk_super->mapping_root); in read_superblock_fields()
594 cmd->hint_root = le64_to_cpu(disk_super->hint_root); in read_superblock_fields()
595 cmd->discard_root = le64_to_cpu(disk_super->discard_root); in read_superblock_fields()
596 cmd->discard_block_size = le64_to_cpu(disk_super->discard_block_size); in read_superblock_fields()
597 cmd->discard_nr_blocks = to_dblock(le64_to_cpu(disk_super->discard_nr_blocks)); in read_superblock_fields()
598 cmd->data_block_size = le32_to_cpu(disk_super->data_block_size); in read_superblock_fields()
599 cmd->cache_blocks = to_cblock(le32_to_cpu(disk_super->cache_blocks)); in read_superblock_fields()
600 strncpy(cmd->policy_name, disk_super->policy_name, sizeof(cmd->policy_name)); in read_superblock_fields()
601 cmd->policy_version[0] = le32_to_cpu(disk_super->policy_version[0]); in read_superblock_fields()
602 cmd->policy_version[1] = le32_to_cpu(disk_super->policy_version[1]); in read_superblock_fields()
603 cmd->policy_version[2] = le32_to_cpu(disk_super->policy_version[2]); in read_superblock_fields()
604 cmd->policy_hint_size = le32_to_cpu(disk_super->policy_hint_size); in read_superblock_fields()
606 cmd->stats.read_hits = le32_to_cpu(disk_super->read_hits); in read_superblock_fields()
607 cmd->stats.read_misses = le32_to_cpu(disk_super->read_misses); in read_superblock_fields()
608 cmd->stats.write_hits = le32_to_cpu(disk_super->write_hits); in read_superblock_fields()
609 cmd->stats.write_misses = le32_to_cpu(disk_super->write_misses); in read_superblock_fields()
612 cmd->dirty_root = le64_to_cpu(disk_super->dirty_root); in read_superblock_fields()
624 struct cache_disk_superblock *disk_super; in __begin_transaction_flags() local
631 disk_super = dm_block_data(sblock); in __begin_transaction_flags()
632 update_flags(disk_super, mutator); in __begin_transaction_flags()
633 read_superblock_fields(cmd, disk_super); in __begin_transaction_flags()
642 struct cache_disk_superblock *disk_super; in __begin_transaction() local
653 disk_super = dm_block_data(sblock); in __begin_transaction()
654 read_superblock_fields(cmd, disk_super); in __begin_transaction()
664 struct cache_disk_superblock *disk_super; in __commit_transaction() local
696 disk_super = dm_block_data(sblock); in __commit_transaction()
698 disk_super->flags = cpu_to_le32(cmd->flags); in __commit_transaction()
700 update_flags(disk_super, mutator); in __commit_transaction()
702 disk_super->mapping_root = cpu_to_le64(cmd->root); in __commit_transaction()
704 disk_super->dirty_root = cpu_to_le64(cmd->dirty_root); in __commit_transaction()
705 disk_super->hint_root = cpu_to_le64(cmd->hint_root); in __commit_transaction()
706 disk_super->discard_root = cpu_to_le64(cmd->discard_root); in __commit_transaction()
707 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); in __commit_transaction()
708 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks)); in __commit_transaction()
709 disk_super->cache_blocks = cpu_to_le32(from_cblock(cmd->cache_blocks)); in __commit_transaction()
710 strncpy(disk_super->policy_name, cmd->policy_name, sizeof(disk_super->policy_name)); in __commit_transaction()
711 disk_super->policy_version[0] = cpu_to_le32(cmd->policy_version[0]); in __commit_transaction()
712 disk_super->policy_version[1] = cpu_to_le32(cmd->policy_version[1]); in __commit_transaction()
713 disk_super->policy_version[2] = cpu_to_le32(cmd->policy_version[2]); in __commit_transaction()
714 disk_super->policy_hint_size = cpu_to_le32(cmd->policy_hint_size); in __commit_transaction()
716 disk_super->read_hits = cpu_to_le32(cmd->stats.read_hits); in __commit_transaction()
717 disk_super->read_misses = cpu_to_le32(cmd->stats.read_misses); in __commit_transaction()
718 disk_super->write_hits = cpu_to_le32(cmd->stats.write_hits); in __commit_transaction()
719 disk_super->write_misses = cpu_to_le32(cmd->stats.write_misses); in __commit_transaction()
720 __copy_sm_root(cmd, disk_super); in __commit_transaction()
1788 struct cache_disk_superblock *disk_super; in dm_cache_metadata_set_needs_check() local
1799 disk_super = dm_block_data(sblock); in dm_cache_metadata_set_needs_check()
1800 disk_super->flags = cpu_to_le32(cmd->flags); in dm_cache_metadata_set_needs_check()