Lines Matching defs:disk_super

175 	struct cache_disk_superblock *disk_super = dm_block_data(b);
177 disk_super->blocknr = cpu_to_le64(dm_block_location(b));
178 disk_super->csum = cpu_to_le32(dm_bm_checksum(&disk_super->flags,
183 static int check_metadata_version(struct cache_disk_superblock *disk_super)
185 uint32_t metadata_version = le32_to_cpu(disk_super->version);
200 struct cache_disk_superblock *disk_super = dm_block_data(b);
203 if (dm_block_location(b) != le64_to_cpu(disk_super->blocknr)) {
205 le64_to_cpu(disk_super->blocknr),
210 if (le64_to_cpu(disk_super->magic) != CACHE_SUPERBLOCK_MAGIC) {
212 le64_to_cpu(disk_super->magic),
217 csum_le = cpu_to_le32(dm_bm_checksum(&disk_super->flags,
220 if (csum_le != disk_super->csum) {
222 le32_to_cpu(csum_le), le32_to_cpu(disk_super->csum));
226 return check_metadata_version(disk_super);
320 struct cache_disk_superblock *disk_super)
322 memcpy(&disk_super->metadata_space_map_root,
336 struct cache_disk_superblock *disk_super;
359 disk_super = dm_block_data(sblock);
360 disk_super->flags = 0;
361 memset(disk_super->uuid, 0, sizeof(disk_super->uuid));
362 disk_super->magic = cpu_to_le64(CACHE_SUPERBLOCK_MAGIC);
363 disk_super->version = cpu_to_le32(cmd->version);
364 memset(disk_super->policy_name, 0, sizeof(disk_super->policy_name));
365 memset(disk_super->policy_version, 0, sizeof(disk_super->policy_version));
366 disk_super->policy_hint_size = cpu_to_le32(0);
368 __copy_sm_root(cmd, disk_super);
370 disk_super->mapping_root = cpu_to_le64(cmd->root);
371 disk_super->hint_root = cpu_to_le64(cmd->hint_root);
372 disk_super->discard_root = cpu_to_le64(cmd->discard_root);
373 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size);
374 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks));
375 disk_super->metadata_block_size = cpu_to_le32(DM_CACHE_METADATA_BLOCK_SIZE);
376 disk_super->data_block_size = cpu_to_le32(cmd->data_block_size);
377 disk_super->cache_blocks = cpu_to_le32(0);
379 disk_super->read_hits = cpu_to_le32(0);
380 disk_super->read_misses = cpu_to_le32(0);
381 disk_super->write_hits = cpu_to_le32(0);
382 disk_super->write_misses = cpu_to_le32(0);
385 disk_super->dirty_root = cpu_to_le64(cmd->dirty_root);
436 static int __check_incompat_features(struct cache_disk_superblock *disk_super,
441 incompat_flags = le32_to_cpu(disk_super->incompat_flags);
455 features = le32_to_cpu(disk_super->compat_ro_flags) & ~DM_CACHE_FEATURE_COMPAT_RO_SUPP;
469 struct cache_disk_superblock *disk_super;
478 disk_super = dm_block_data(sblock);
481 if (le32_to_cpu(disk_super->data_block_size) != cmd->data_block_size) {
483 le32_to_cpu(disk_super->data_block_size),
489 r = __check_incompat_features(disk_super, cmd);
494 disk_super->metadata_space_map_root,
495 sizeof(disk_super->metadata_space_map_root),
505 sb_flags = le32_to_cpu(disk_super->flags);
565 static void update_flags(struct cache_disk_superblock *disk_super,
568 uint32_t sb_flags = mutator(le32_to_cpu(disk_super->flags));
569 disk_super->flags = cpu_to_le32(sb_flags);
585 struct cache_disk_superblock *disk_super)
587 cmd->version = le32_to_cpu(disk_super->version);
588 cmd->flags = le32_to_cpu(disk_super->flags);
589 cmd->root = le64_to_cpu(disk_super->mapping_root);
590 cmd->hint_root = le64_to_cpu(disk_super->hint_root);
591 cmd->discard_root = le64_to_cpu(disk_super->discard_root);
592 cmd->discard_block_size = le64_to_cpu(disk_super->discard_block_size);
593 cmd->discard_nr_blocks = to_dblock(le64_to_cpu(disk_super->discard_nr_blocks));
594 cmd->data_block_size = le32_to_cpu(disk_super->data_block_size);
595 cmd->cache_blocks = to_cblock(le32_to_cpu(disk_super->cache_blocks));
596 strncpy(cmd->policy_name, disk_super->policy_name, sizeof(cmd->policy_name));
597 cmd->policy_version[0] = le32_to_cpu(disk_super->policy_version[0]);
598 cmd->policy_version[1] = le32_to_cpu(disk_super->policy_version[1]);
599 cmd->policy_version[2] = le32_to_cpu(disk_super->policy_version[2]);
600 cmd->policy_hint_size = le32_to_cpu(disk_super->policy_hint_size);
602 cmd->stats.read_hits = le32_to_cpu(disk_super->read_hits);
603 cmd->stats.read_misses = le32_to_cpu(disk_super->read_misses);
604 cmd->stats.write_hits = le32_to_cpu(disk_super->write_hits);
605 cmd->stats.write_misses = le32_to_cpu(disk_super->write_misses);
608 cmd->dirty_root = le64_to_cpu(disk_super->dirty_root);
620 struct cache_disk_superblock *disk_super;
627 disk_super = dm_block_data(sblock);
628 update_flags(disk_super, mutator);
629 read_superblock_fields(cmd, disk_super);
638 struct cache_disk_superblock *disk_super;
649 disk_super = dm_block_data(sblock);
650 read_superblock_fields(cmd, disk_super);
660 struct cache_disk_superblock *disk_super;
692 disk_super = dm_block_data(sblock);
694 disk_super->flags = cpu_to_le32(cmd->flags);
696 update_flags(disk_super, mutator);
698 disk_super->mapping_root = cpu_to_le64(cmd->root);
700 disk_super->dirty_root = cpu_to_le64(cmd->dirty_root);
701 disk_super->hint_root = cpu_to_le64(cmd->hint_root);
702 disk_super->discard_root = cpu_to_le64(cmd->discard_root);
703 disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size);
704 disk_super->discard_nr_blocks = cpu_to_le64(from_dblock(cmd->discard_nr_blocks));
705 disk_super->cache_blocks = cpu_to_le32(from_cblock(cmd->cache_blocks));
706 strncpy(disk_super->policy_name, cmd->policy_name, sizeof(disk_super->policy_name));
707 disk_super->policy_version[0] = cpu_to_le32(cmd->policy_version[0]);
708 disk_super->policy_version[1] = cpu_to_le32(cmd->policy_version[1]);
709 disk_super->policy_version[2] = cpu_to_le32(cmd->policy_version[2]);
710 disk_super->policy_hint_size = cpu_to_le32(cmd->policy_hint_size);
712 disk_super->read_hits = cpu_to_le32(cmd->stats.read_hits);
713 disk_super->read_misses = cpu_to_le32(cmd->stats.read_misses);
714 disk_super->write_hits = cpu_to_le32(cmd->stats.write_hits);
715 disk_super->write_misses = cpu_to_le32(cmd->stats.write_misses);
716 __copy_sm_root(cmd, disk_super);
1781 struct cache_disk_superblock *disk_super;
1792 disk_super = dm_block_data(sblock);
1793 disk_super->flags = cpu_to_le32(cmd->flags);