Lines Matching refs:disk

40 	 * disk.
46 * This does not free off the on disk bitset as this will normally be done
87 * Wipes the in-core bitset, and creates a new on disk bitset.
156 * On disk metadata layout
203 struct superblock_disk *disk = dm_block_data(b);
205 disk->blocknr = cpu_to_le64(dm_block_location(b));
206 disk->csum = cpu_to_le32(dm_bm_checksum(&disk->flags,
211 static int check_metadata_version(struct superblock_disk *disk)
213 uint32_t metadata_version = le32_to_cpu(disk->version);
228 struct superblock_disk *disk = dm_block_data(b);
231 if (dm_block_location(b) != le64_to_cpu(disk->blocknr)) {
233 __func__, le64_to_cpu(disk->blocknr),
238 if (le64_to_cpu(disk->magic) != SUPERBLOCK_MAGIC) {
240 __func__, le64_to_cpu(disk->magic),
245 csum_le = cpu_to_le32(dm_bm_checksum(&disk->flags,
248 if (csum_le != disk->csum) {
250 __func__, le32_to_cpu(csum_le), le32_to_cpu(disk->csum));
254 return check_metadata_version(disk);
364 static void ws_pack(const struct writeset_metadata *core, struct writeset_disk *disk)
366 disk->nr_bits = cpu_to_le32(core->nr_bits);
367 disk->root = cpu_to_le64(core->root);
370 static void ws_unpack(const struct writeset_disk *disk, struct writeset_metadata *core)
372 core->nr_bits = le32_to_cpu(disk->nr_bits);
373 core->root = le64_to_cpu(disk->root);
493 static void copy_sm_root(struct era_metadata *md, struct superblock_disk *disk)
495 memcpy(&disk->metadata_space_map_root,
505 static void prepare_superblock(struct era_metadata *md, struct superblock_disk *disk)
507 disk->magic = cpu_to_le64(SUPERBLOCK_MAGIC);
508 disk->flags = cpu_to_le32(0ul);
511 memset(disk->uuid, 0, sizeof(disk->uuid));
512 disk->version = cpu_to_le32(MAX_ERA_VERSION);
514 copy_sm_root(md, disk);
516 disk->data_block_size = cpu_to_le32(md->block_size);
517 disk->metadata_block_size = cpu_to_le32(DM_ERA_METADATA_BLOCK_SIZE >> SECTOR_SHIFT);
518 disk->nr_blocks = cpu_to_le32(md->nr_blocks);
519 disk->current_era = cpu_to_le32(md->current_era);
521 ws_pack(&md->current_writeset->md, &disk->current_writeset);
522 disk->writeset_tree_root = cpu_to_le64(md->writeset_tree_root);
523 disk->era_array_root = cpu_to_le64(md->era_array_root);
524 disk->metadata_snap = cpu_to_le64(md->metadata_snap);
531 struct superblock_disk *disk;
543 disk = dm_block_data(sblock);
544 prepare_superblock(md, disk);
574 struct superblock_disk *disk;
582 disk = dm_block_data(sblock);
585 if (le32_to_cpu(disk->data_block_size) != md->block_size) {
587 le32_to_cpu(disk->data_block_size), md->block_size);
593 disk->metadata_space_map_root,
594 sizeof(disk->metadata_space_map_root),
603 md->nr_blocks = le32_to_cpu(disk->nr_blocks);
604 md->current_era = le32_to_cpu(disk->current_era);
606 ws_unpack(&disk->current_writeset, &md->current_writeset->md);
607 md->writeset_tree_root = le64_to_cpu(disk->writeset_tree_root);
608 md->era_array_root = le64_to_cpu(disk->era_array_root);
609 md->metadata_snap = le64_to_cpu(disk->metadata_snap);
752 struct writeset_disk disk;
762 md->writeset_tree_root, &key, &disk);
773 ws_unpack(&disk, &d->writeset);
1096 struct superblock_disk *disk;
1115 disk = dm_block_data(clone);
1117 le64_to_cpu(disk->writeset_tree_root));
1124 r = dm_array_del(&md->era_array_info, le64_to_cpu(disk->era_array_root));
1309 * Only update the in-core writeset if the on-disk one