Lines Matching refs:disk_super

144 	struct cache_disk_superblock *disk_super = dm_block_data(b);  in sb_prepare_for_write()  local
146 disk_super->blocknr = cpu_to_le64(dm_block_location(b)); in sb_prepare_for_write()
147 disk_super->csum = cpu_to_le32(dm_bm_checksum(&disk_super->flags, in sb_prepare_for_write()
152 static int check_metadata_version(struct cache_disk_superblock *disk_super) in check_metadata_version() argument
154 uint32_t metadata_version = le32_to_cpu(disk_super->version); in check_metadata_version()
168 struct cache_disk_superblock *disk_super = dm_block_data(b); in sb_check() local
171 if (dm_block_location(b) != le64_to_cpu(disk_super->blocknr)) { in sb_check()
173 le64_to_cpu(disk_super->blocknr), in sb_check()
178 if (le64_to_cpu(disk_super->magic) != CACHE_SUPERBLOCK_MAGIC) { in sb_check()
180 le64_to_cpu(disk_super->magic), in sb_check()
185 csum_le = cpu_to_le32(dm_bm_checksum(&disk_super->flags, in sb_check()
188 if (csum_le != disk_super->csum) { in sb_check()
190 le32_to_cpu(csum_le), le32_to_cpu(disk_super->csum)); in sb_check()
194 return check_metadata_version(disk_super); in sb_check()
286 struct cache_disk_superblock *disk_super) in __copy_sm_root() argument
288 memcpy(&disk_super->metadata_space_map_root, in __copy_sm_root()
297 struct cache_disk_superblock *disk_super; in __write_initial_superblock() local
320 disk_super = dm_block_data(sblock); in __write_initial_superblock()
321 disk_super->flags = 0; in __write_initial_superblock()
322 memset(disk_super->uuid, 0, sizeof(disk_super->uuid)); in __write_initial_superblock()
323 disk_super->magic = cpu_to_le64(CACHE_SUPERBLOCK_MAGIC); in __write_initial_superblock()
324 disk_super->version = cpu_to_le32(MAX_CACHE_VERSION); in __write_initial_superblock()
325 memset(disk_super->policy_name, 0, sizeof(disk_super->policy_name)); in __write_initial_superblock()
326 memset(disk_super->policy_version, 0, sizeof(disk_super->policy_version)); in __write_initial_superblock()
327 disk_super->policy_hint_size = 0; in __write_initial_superblock()
329 __copy_sm_root(cmd, disk_super); in __write_initial_superblock()
331 disk_super->mapping_root = cpu_to_le64(cmd->root); in __write_initial_superblock()
332 disk_super->hint_root = cpu_to_le64(cmd->hint_root); in __write_initial_superblock()
333 disk_super->discard_root = cpu_to_le64(cmd->discard_root); in __write_initial_superblock()
334 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); in __write_initial_superblock()
335 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks)); in __write_initial_superblock()
336 disk_super->metadata_block_size = cpu_to_le32(DM_CACHE_METADATA_BLOCK_SIZE); in __write_initial_superblock()
337 disk_super->data_block_size = cpu_to_le32(cmd->data_block_size); in __write_initial_superblock()
338 disk_super->cache_blocks = cpu_to_le32(0); in __write_initial_superblock()
340 disk_super->read_hits = cpu_to_le32(0); in __write_initial_superblock()
341 disk_super->read_misses = cpu_to_le32(0); in __write_initial_superblock()
342 disk_super->write_hits = cpu_to_le32(0); in __write_initial_superblock()
343 disk_super->write_misses = cpu_to_le32(0); in __write_initial_superblock()
388 static int __check_incompat_features(struct cache_disk_superblock *disk_super, in __check_incompat_features() argument
393 features = le32_to_cpu(disk_super->incompat_flags) & ~DM_CACHE_FEATURE_INCOMPAT_SUPP; in __check_incompat_features()
406 features = le32_to_cpu(disk_super->compat_ro_flags) & ~DM_CACHE_FEATURE_COMPAT_RO_SUPP; in __check_incompat_features()
420 struct cache_disk_superblock *disk_super; in __open_metadata() local
429 disk_super = dm_block_data(sblock); in __open_metadata()
432 if (le32_to_cpu(disk_super->data_block_size) != cmd->data_block_size) { in __open_metadata()
434 le32_to_cpu(disk_super->data_block_size), in __open_metadata()
440 r = __check_incompat_features(disk_super, cmd); in __open_metadata()
445 disk_super->metadata_space_map_root, in __open_metadata()
446 sizeof(disk_super->metadata_space_map_root), in __open_metadata()
455 sb_flags = le32_to_cpu(disk_super->flags); in __open_metadata()
508 static void update_flags(struct cache_disk_superblock *disk_super, in update_flags() argument
511 uint32_t sb_flags = mutator(le32_to_cpu(disk_super->flags)); in update_flags()
512 disk_super->flags = cpu_to_le32(sb_flags); in update_flags()
528 struct cache_disk_superblock *disk_super) in read_superblock_fields() argument
530 cmd->root = le64_to_cpu(disk_super->mapping_root); in read_superblock_fields()
531 cmd->hint_root = le64_to_cpu(disk_super->hint_root); in read_superblock_fields()
532 cmd->discard_root = le64_to_cpu(disk_super->discard_root); in read_superblock_fields()
533 cmd->discard_block_size = le64_to_cpu(disk_super->discard_block_size); in read_superblock_fields()
534 cmd->discard_nr_blocks = to_dblock(le64_to_cpu(disk_super->discard_nr_blocks)); in read_superblock_fields()
535 cmd->data_block_size = le32_to_cpu(disk_super->data_block_size); in read_superblock_fields()
536 cmd->cache_blocks = to_cblock(le32_to_cpu(disk_super->cache_blocks)); in read_superblock_fields()
537 strncpy(cmd->policy_name, disk_super->policy_name, sizeof(cmd->policy_name)); in read_superblock_fields()
538 cmd->policy_version[0] = le32_to_cpu(disk_super->policy_version[0]); in read_superblock_fields()
539 cmd->policy_version[1] = le32_to_cpu(disk_super->policy_version[1]); in read_superblock_fields()
540 cmd->policy_version[2] = le32_to_cpu(disk_super->policy_version[2]); in read_superblock_fields()
541 cmd->policy_hint_size = le32_to_cpu(disk_super->policy_hint_size); in read_superblock_fields()
543 cmd->stats.read_hits = le32_to_cpu(disk_super->read_hits); in read_superblock_fields()
544 cmd->stats.read_misses = le32_to_cpu(disk_super->read_misses); in read_superblock_fields()
545 cmd->stats.write_hits = le32_to_cpu(disk_super->write_hits); in read_superblock_fields()
546 cmd->stats.write_misses = le32_to_cpu(disk_super->write_misses); in read_superblock_fields()
558 struct cache_disk_superblock *disk_super; in __begin_transaction_flags() local
565 disk_super = dm_block_data(sblock); in __begin_transaction_flags()
566 update_flags(disk_super, mutator); in __begin_transaction_flags()
567 read_superblock_fields(cmd, disk_super); in __begin_transaction_flags()
576 struct cache_disk_superblock *disk_super; in __begin_transaction() local
587 disk_super = dm_block_data(sblock); in __begin_transaction()
588 read_superblock_fields(cmd, disk_super); in __begin_transaction()
598 struct cache_disk_superblock *disk_super; in __commit_transaction() local
623 disk_super = dm_block_data(sblock); in __commit_transaction()
626 update_flags(disk_super, mutator); in __commit_transaction()
628 disk_super->mapping_root = cpu_to_le64(cmd->root); in __commit_transaction()
629 disk_super->hint_root = cpu_to_le64(cmd->hint_root); in __commit_transaction()
630 disk_super->discard_root = cpu_to_le64(cmd->discard_root); in __commit_transaction()
631 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); in __commit_transaction()
632 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks)); in __commit_transaction()
633 disk_super->cache_blocks = cpu_to_le32(from_cblock(cmd->cache_blocks)); in __commit_transaction()
634 strncpy(disk_super->policy_name, cmd->policy_name, sizeof(disk_super->policy_name)); in __commit_transaction()
635 disk_super->policy_version[0] = cpu_to_le32(cmd->policy_version[0]); in __commit_transaction()
636 disk_super->policy_version[1] = cpu_to_le32(cmd->policy_version[1]); in __commit_transaction()
637 disk_super->policy_version[2] = cpu_to_le32(cmd->policy_version[2]); in __commit_transaction()
639 disk_super->read_hits = cpu_to_le32(cmd->stats.read_hits); in __commit_transaction()
640 disk_super->read_misses = cpu_to_le32(cmd->stats.read_misses); in __commit_transaction()
641 disk_super->write_hits = cpu_to_le32(cmd->stats.write_hits); in __commit_transaction()
642 disk_super->write_misses = cpu_to_le32(cmd->stats.write_misses); in __commit_transaction()
643 __copy_sm_root(cmd, disk_super); in __commit_transaction()