Lines Matching defs:disk_super

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