Lines Matching refs:disk

38 	 * disk.
44 * This does not free off the on disk bitset as this will normally be done
85 * Wipes the in-core bitset, and creates a new on disk bitset.
152 * On disk metadata layout
196 struct superblock_disk *disk = dm_block_data(b);
198 disk->blocknr = cpu_to_le64(dm_block_location(b));
199 disk->csum = cpu_to_le32(dm_bm_checksum(&disk->flags,
204 static int check_metadata_version(struct superblock_disk *disk)
206 uint32_t metadata_version = le32_to_cpu(disk->version);
220 struct superblock_disk *disk = dm_block_data(b);
223 if (dm_block_location(b) != le64_to_cpu(disk->blocknr)) {
225 le64_to_cpu(disk->blocknr),
230 if (le64_to_cpu(disk->magic) != SUPERBLOCK_MAGIC) {
232 le64_to_cpu(disk->magic),
237 csum_le = cpu_to_le32(dm_bm_checksum(&disk->flags,
240 if (csum_le != disk->csum) {
242 le32_to_cpu(csum_le), le32_to_cpu(disk->csum));
246 return check_metadata_version(disk);
354 static void ws_pack(const struct writeset_metadata *core, struct writeset_disk *disk)
356 disk->nr_bits = cpu_to_le32(core->nr_bits);
357 disk->root = cpu_to_le64(core->root);
360 static void ws_unpack(const struct writeset_disk *disk, struct writeset_metadata *core)
362 core->nr_bits = le32_to_cpu(disk->nr_bits);
363 core->root = le64_to_cpu(disk->root);
478 static void copy_sm_root(struct era_metadata *md, struct superblock_disk *disk)
480 memcpy(&disk->metadata_space_map_root,
490 static void prepare_superblock(struct era_metadata *md, struct superblock_disk *disk)
492 disk->magic = cpu_to_le64(SUPERBLOCK_MAGIC);
493 disk->flags = cpu_to_le32(0ul);
496 memset(disk->uuid, 0, sizeof(disk->uuid));
497 disk->version = cpu_to_le32(MAX_ERA_VERSION);
499 copy_sm_root(md, disk);
501 disk->data_block_size = cpu_to_le32(md->block_size);
502 disk->metadata_block_size = cpu_to_le32(DM_ERA_METADATA_BLOCK_SIZE >> SECTOR_SHIFT);
503 disk->nr_blocks = cpu_to_le32(md->nr_blocks);
504 disk->current_era = cpu_to_le32(md->current_era);
506 ws_pack(&md->current_writeset->md, &disk->current_writeset);
507 disk->writeset_tree_root = cpu_to_le64(md->writeset_tree_root);
508 disk->era_array_root = cpu_to_le64(md->era_array_root);
509 disk->metadata_snap = cpu_to_le64(md->metadata_snap);
516 struct superblock_disk *disk;
528 disk = dm_block_data(sblock);
529 prepare_superblock(md, disk);
559 struct superblock_disk *disk;
567 disk = dm_block_data(sblock);
570 if (le32_to_cpu(disk->data_block_size) != md->block_size) {
572 le32_to_cpu(disk->data_block_size), md->block_size);
578 disk->metadata_space_map_root,
579 sizeof(disk->metadata_space_map_root),
588 md->nr_blocks = le32_to_cpu(disk->nr_blocks);
589 md->current_era = le32_to_cpu(disk->current_era);
591 ws_unpack(&disk->current_writeset, &md->current_writeset->md);
592 md->writeset_tree_root = le64_to_cpu(disk->writeset_tree_root);
593 md->era_array_root = le64_to_cpu(disk->era_array_root);
594 md->metadata_snap = le64_to_cpu(disk->metadata_snap);
735 struct writeset_disk disk;
745 md->writeset_tree_root, &key, &disk);
756 ws_unpack(&disk, &d->writeset);
1077 struct superblock_disk *disk;
1096 disk = dm_block_data(clone);
1098 le64_to_cpu(disk->writeset_tree_root));
1105 r = dm_array_del(&md->era_array_info, le64_to_cpu(disk->era_array_root));
1287 * Only update the in-core writeset if the on-disk one