Lines Matching refs:disk_super

175 	struct cache_disk_superblock *disk_super = dm_block_data(b);  in sb_prepare_for_write()  local
177 disk_super->blocknr = cpu_to_le64(dm_block_location(b)); in sb_prepare_for_write()
178 disk_super->csum = cpu_to_le32(dm_bm_checksum(&disk_super->flags, in sb_prepare_for_write()
183 static int check_metadata_version(struct cache_disk_superblock *disk_super) in check_metadata_version() argument
185 uint32_t metadata_version = le32_to_cpu(disk_super->version); in check_metadata_version()
200 struct cache_disk_superblock *disk_super = dm_block_data(b); in sb_check() local
203 if (dm_block_location(b) != le64_to_cpu(disk_super->blocknr)) { in sb_check()
205 le64_to_cpu(disk_super->blocknr), in sb_check()
210 if (le64_to_cpu(disk_super->magic) != CACHE_SUPERBLOCK_MAGIC) { in sb_check()
212 le64_to_cpu(disk_super->magic), in sb_check()
217 csum_le = cpu_to_le32(dm_bm_checksum(&disk_super->flags, in sb_check()
220 if (csum_le != disk_super->csum) { in sb_check()
222 le32_to_cpu(csum_le), le32_to_cpu(disk_super->csum)); in sb_check()
226 return check_metadata_version(disk_super); in sb_check()
320 struct cache_disk_superblock *disk_super) in __copy_sm_root() argument
322 memcpy(&disk_super->metadata_space_map_root, in __copy_sm_root()
336 struct cache_disk_superblock *disk_super; in __write_initial_superblock() local
359 disk_super = dm_block_data(sblock); in __write_initial_superblock()
360 disk_super->flags = 0; in __write_initial_superblock()
361 memset(disk_super->uuid, 0, sizeof(disk_super->uuid)); in __write_initial_superblock()
362 disk_super->magic = cpu_to_le64(CACHE_SUPERBLOCK_MAGIC); in __write_initial_superblock()
363 disk_super->version = cpu_to_le32(cmd->version); in __write_initial_superblock()
364 memset(disk_super->policy_name, 0, sizeof(disk_super->policy_name)); in __write_initial_superblock()
365 memset(disk_super->policy_version, 0, sizeof(disk_super->policy_version)); in __write_initial_superblock()
366 disk_super->policy_hint_size = cpu_to_le32(0); in __write_initial_superblock()
368 __copy_sm_root(cmd, disk_super); in __write_initial_superblock()
370 disk_super->mapping_root = cpu_to_le64(cmd->root); in __write_initial_superblock()
371 disk_super->hint_root = cpu_to_le64(cmd->hint_root); in __write_initial_superblock()
372 disk_super->discard_root = cpu_to_le64(cmd->discard_root); in __write_initial_superblock()
373 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); in __write_initial_superblock()
374 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks)); in __write_initial_superblock()
375 disk_super->metadata_block_size = cpu_to_le32(DM_CACHE_METADATA_BLOCK_SIZE); in __write_initial_superblock()
376 disk_super->data_block_size = cpu_to_le32(cmd->data_block_size); in __write_initial_superblock()
377 disk_super->cache_blocks = cpu_to_le32(0); in __write_initial_superblock()
379 disk_super->read_hits = cpu_to_le32(0); in __write_initial_superblock()
380 disk_super->read_misses = cpu_to_le32(0); in __write_initial_superblock()
381 disk_super->write_hits = cpu_to_le32(0); in __write_initial_superblock()
382 disk_super->write_misses = cpu_to_le32(0); in __write_initial_superblock()
385 disk_super->dirty_root = cpu_to_le64(cmd->dirty_root); in __write_initial_superblock()
436 static int __check_incompat_features(struct cache_disk_superblock *disk_super, in __check_incompat_features() argument
441 incompat_flags = le32_to_cpu(disk_super->incompat_flags); in __check_incompat_features()
455 features = le32_to_cpu(disk_super->compat_ro_flags) & ~DM_CACHE_FEATURE_COMPAT_RO_SUPP; in __check_incompat_features()
469 struct cache_disk_superblock *disk_super; in __open_metadata() local
478 disk_super = dm_block_data(sblock); in __open_metadata()
481 if (le32_to_cpu(disk_super->data_block_size) != cmd->data_block_size) { in __open_metadata()
483 le32_to_cpu(disk_super->data_block_size), in __open_metadata()
489 r = __check_incompat_features(disk_super, cmd); in __open_metadata()
494 disk_super->metadata_space_map_root, in __open_metadata()
495 sizeof(disk_super->metadata_space_map_root), in __open_metadata()
505 sb_flags = le32_to_cpu(disk_super->flags); in __open_metadata()
559 static void update_flags(struct cache_disk_superblock *disk_super, in update_flags() argument
562 uint32_t sb_flags = mutator(le32_to_cpu(disk_super->flags)); in update_flags()
563 disk_super->flags = cpu_to_le32(sb_flags); in update_flags()
579 struct cache_disk_superblock *disk_super) in read_superblock_fields() argument
581 cmd->version = le32_to_cpu(disk_super->version); in read_superblock_fields()
582 cmd->flags = le32_to_cpu(disk_super->flags); in read_superblock_fields()
583 cmd->root = le64_to_cpu(disk_super->mapping_root); in read_superblock_fields()
584 cmd->hint_root = le64_to_cpu(disk_super->hint_root); in read_superblock_fields()
585 cmd->discard_root = le64_to_cpu(disk_super->discard_root); in read_superblock_fields()
586 cmd->discard_block_size = le64_to_cpu(disk_super->discard_block_size); in read_superblock_fields()
587 cmd->discard_nr_blocks = to_dblock(le64_to_cpu(disk_super->discard_nr_blocks)); in read_superblock_fields()
588 cmd->data_block_size = le32_to_cpu(disk_super->data_block_size); in read_superblock_fields()
589 cmd->cache_blocks = to_cblock(le32_to_cpu(disk_super->cache_blocks)); in read_superblock_fields()
590 strncpy(cmd->policy_name, disk_super->policy_name, sizeof(cmd->policy_name)); in read_superblock_fields()
591 cmd->policy_version[0] = le32_to_cpu(disk_super->policy_version[0]); in read_superblock_fields()
592 cmd->policy_version[1] = le32_to_cpu(disk_super->policy_version[1]); in read_superblock_fields()
593 cmd->policy_version[2] = le32_to_cpu(disk_super->policy_version[2]); in read_superblock_fields()
594 cmd->policy_hint_size = le32_to_cpu(disk_super->policy_hint_size); in read_superblock_fields()
596 cmd->stats.read_hits = le32_to_cpu(disk_super->read_hits); in read_superblock_fields()
597 cmd->stats.read_misses = le32_to_cpu(disk_super->read_misses); in read_superblock_fields()
598 cmd->stats.write_hits = le32_to_cpu(disk_super->write_hits); in read_superblock_fields()
599 cmd->stats.write_misses = le32_to_cpu(disk_super->write_misses); in read_superblock_fields()
602 cmd->dirty_root = le64_to_cpu(disk_super->dirty_root); in read_superblock_fields()
614 struct cache_disk_superblock *disk_super; in __begin_transaction_flags() local
621 disk_super = dm_block_data(sblock); in __begin_transaction_flags()
622 update_flags(disk_super, mutator); in __begin_transaction_flags()
623 read_superblock_fields(cmd, disk_super); in __begin_transaction_flags()
632 struct cache_disk_superblock *disk_super; in __begin_transaction() local
643 disk_super = dm_block_data(sblock); in __begin_transaction()
644 read_superblock_fields(cmd, disk_super); in __begin_transaction()
654 struct cache_disk_superblock *disk_super; in __commit_transaction() local
686 disk_super = dm_block_data(sblock); in __commit_transaction()
688 disk_super->flags = cpu_to_le32(cmd->flags); in __commit_transaction()
690 update_flags(disk_super, mutator); in __commit_transaction()
692 disk_super->mapping_root = cpu_to_le64(cmd->root); in __commit_transaction()
694 disk_super->dirty_root = cpu_to_le64(cmd->dirty_root); in __commit_transaction()
695 disk_super->hint_root = cpu_to_le64(cmd->hint_root); in __commit_transaction()
696 disk_super->discard_root = cpu_to_le64(cmd->discard_root); in __commit_transaction()
697 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); in __commit_transaction()
698 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks)); in __commit_transaction()
699 disk_super->cache_blocks = cpu_to_le32(from_cblock(cmd->cache_blocks)); in __commit_transaction()
700 strncpy(disk_super->policy_name, cmd->policy_name, sizeof(disk_super->policy_name)); in __commit_transaction()
701 disk_super->policy_version[0] = cpu_to_le32(cmd->policy_version[0]); in __commit_transaction()
702 disk_super->policy_version[1] = cpu_to_le32(cmd->policy_version[1]); in __commit_transaction()
703 disk_super->policy_version[2] = cpu_to_le32(cmd->policy_version[2]); in __commit_transaction()
704 disk_super->policy_hint_size = cpu_to_le32(cmd->policy_hint_size); in __commit_transaction()
706 disk_super->read_hits = cpu_to_le32(cmd->stats.read_hits); in __commit_transaction()
707 disk_super->read_misses = cpu_to_le32(cmd->stats.read_misses); in __commit_transaction()
708 disk_super->write_hits = cpu_to_le32(cmd->stats.write_hits); in __commit_transaction()
709 disk_super->write_misses = cpu_to_le32(cmd->stats.write_misses); in __commit_transaction()
710 __copy_sm_root(cmd, disk_super); in __commit_transaction()
1775 struct cache_disk_superblock *disk_super; in dm_cache_metadata_set_needs_check() local
1786 disk_super = dm_block_data(sblock); in dm_cache_metadata_set_needs_check()
1787 disk_super->flags = cpu_to_le32(cmd->flags); in dm_cache_metadata_set_needs_check()