Lines Matching defs:super

194 	struct super_block_data super;
215 static inline bool is_converted_super_block(struct super_block_data *super)
217 return super->version == 7;
332 return open_layout_reader(layout, region, -layout->super.start_offset,
347 return open_layout_writer(layout, region, -layout->super.start_offset,
352 struct super_block_data *super)
354 memset(super, 0, sizeof(*super));
355 memcpy(super->magic_label, LAYOUT_MAGIC, MAGIC_SIZE);
356 create_unique_nonce_data(super->nonce_info);
358 super->nonce = generate_primary_nonce(super->nonce_info,
359 sizeof(super->nonce_info));
360 super->version = SUPER_VERSION_CURRENT;
361 super->block_size = sls->block_size;
362 super->index_count = 1;
363 super->max_saves = sls->save_count;
364 super->open_chapter_blocks = sls->open_chapter_blocks;
365 super->page_map_blocks = sls->page_map_blocks;
366 super->volume_offset = 0;
367 super->start_offset = 0;
377 u64 primary_nonce = layout->super.nonce;
432 generate_super_block_data(sls, &layout->super);
634 reset_index_save_layout(isl, layout->super.page_map_blocks);
644 for (i = 0; i < layout->super.max_saves; i++) {
665 u16 region_count = 5 + layout->super.max_saves;
682 for (i = 0; i < layout->super.max_saves; i++)
687 if (is_converted_super_block(&layout->super)) {
691 sizeof(layout->super.volume_offset) -
692 sizeof(layout->super.start_offset));
723 memcpy(buffer + offset, &layout->super.magic_label, MAGIC_SIZE);
725 memcpy(buffer + offset, &layout->super.nonce_info, NONCE_INFO_SIZE);
727 encode_u64_le(buffer, &offset, layout->super.nonce);
728 encode_u32_le(buffer, &offset, layout->super.version);
729 encode_u32_le(buffer, &offset, layout->super.block_size);
730 encode_u16_le(buffer, &offset, layout->super.index_count);
731 encode_u16_le(buffer, &offset, layout->super.max_saves);
733 encode_u64_le(buffer, &offset, layout->super.open_chapter_blocks);
734 encode_u64_le(buffer, &offset, layout->super.page_map_blocks);
736 if (is_converted_super_block(&layout->super)) {
737 encode_u64_le(buffer, &offset, layout->super.volume_offset);
738 encode_u64_le(buffer, &offset, layout->super.start_offset);
760 result = uds_write_config_contents(writer, config, layout->super.version);
866 for (i = 0; i < layout->super.max_saves; i++) {
968 for (i = 0; i < layout->super.max_saves; i++) {
981 struct super_block_data *super,
1005 .block_count = super->page_map_blocks,
1009 next_block += super->page_map_blocks;
1012 super->page_map_blocks -
1013 super->open_chapter_blocks);
1029 .block_count = super->open_chapter_blocks,
1034 next_block += super->open_chapter_blocks;
1056 instantiate_index_save_layout(isl, &layout->super, layout->index.nonce,
1201 struct super_block_data *super = &layout->super;
1205 result = vdo_allocate(saved_size, u8, "super block data", &buffer);
1215 memcpy(&super->magic_label, buffer, MAGIC_SIZE);
1217 memcpy(&super->nonce_info, buffer + offset, NONCE_INFO_SIZE);
1219 decode_u64_le(buffer, &offset, &super->nonce);
1220 decode_u32_le(buffer, &offset, &super->version);
1221 decode_u32_le(buffer, &offset, &super->block_size);
1222 decode_u16_le(buffer, &offset, &super->index_count);
1223 decode_u16_le(buffer, &offset, &super->max_saves);
1225 decode_u64_le(buffer, &offset, &super->open_chapter_blocks);
1226 decode_u64_le(buffer, &offset, &super->page_map_blocks);
1228 if (is_converted_super_block(super)) {
1229 decode_u64_le(buffer, &offset, &super->volume_offset);
1230 decode_u64_le(buffer, &offset, &super->start_offset);
1232 super->volume_offset = 0;
1233 super->start_offset = 0;
1238 if (memcmp(super->magic_label, LAYOUT_MAGIC, MAGIC_SIZE) != 0)
1242 if ((super->version < SUPER_VERSION_MINIMUM) ||
1243 (super->version == 4) || (super->version == 5) || (super->version == 6) ||
1244 (super->version > SUPER_VERSION_MAXIMUM)) {
1247 super->version);
1250 if (super->volume_offset < super->start_offset) {
1253 (unsigned long long) super->start_offset,
1254 (unsigned long long) super->volume_offset);
1258 if (super->index_count != 1) {
1261 super->index_count);
1264 if (generate_primary_nonce(super->nonce_info, sizeof(super->nonce_info)) != super->nonce) {
1312 next_block += sil->volume.block_count + layout->super.volume_offset;
1314 for (i = 0; i < layout->super.max_saves; i++) {
1324 next_block -= layout->super.volume_offset;
1339 result = vdo_allocate(layout->super.max_saves, struct index_save_layout,
1365 result = verify_region(&layout->seal, next_block + layout->super.volume_offset,
1383 struct super_block_data *super = &layout->super;
1401 if (super->block_size != block_size) {
1405 super->block_size, block_size);
1408 first_block -= (super->volume_offset - super->start_offset);
1596 for (j = 0; j < layout->super.max_saves; j++) {
1626 offset = layout->super.volume_offset - layout->super.start_offset;
1755 layout->super.volume_offset -
1756 layout->super.start_offset);