Lines Matching refs:sbp

27 static int nilfs_valid_sb(struct nilfs_super_block *sbp);
102 struct nilfs_super_block **sbp = nilfs->ns_sbp; in nilfs_load_super_root() local
113 dat_entry_size = le16_to_cpu(sbp[0]->s_dat_entry_size); in nilfs_load_super_root()
114 checkpoint_size = le16_to_cpu(sbp[0]->s_checkpoint_size); in nilfs_load_super_root()
115 segment_usage_size = le16_to_cpu(sbp[0]->s_segment_usage_size); in nilfs_load_super_root()
173 struct nilfs_super_block *sbp) in nilfs_store_log_cursor() argument
177 nilfs->ns_last_pseg = le64_to_cpu(sbp->s_last_pseg); in nilfs_store_log_cursor()
178 nilfs->ns_last_cno = le64_to_cpu(sbp->s_last_cno); in nilfs_store_log_cursor()
179 nilfs->ns_last_seq = le64_to_cpu(sbp->s_last_seq); in nilfs_store_log_cursor()
210 struct nilfs_super_block *sbp, int *blocksize) in nilfs_get_blocksize() argument
212 unsigned int shift_bits = le32_to_cpu(sbp->s_log_block_size); in nilfs_get_blocksize()
255 struct nilfs_super_block **sbp = nilfs->ns_sbp; in load_nilfs() local
261 if (!nilfs_valid_sb(sbp[1])) { in load_nilfs()
272 memcpy(sbp[0], sbp[1], nilfs->ns_sbsize); in load_nilfs()
273 nilfs->ns_crc_seed = le32_to_cpu(sbp[0]->s_crc_seed); in load_nilfs()
274 nilfs->ns_sbwtime = le64_to_cpu(sbp[0]->s_wtime); in load_nilfs()
277 err = nilfs_get_blocksize(sb, sbp[0], &blocksize); in load_nilfs()
289 err = nilfs_store_log_cursor(nilfs, sbp[0]); in load_nilfs()
409 struct nilfs_super_block *sbp) in nilfs_store_disk_layout() argument
411 if (le32_to_cpu(sbp->s_rev_level) < NILFS_MIN_SUPP_REV) { in nilfs_store_disk_layout()
414 le32_to_cpu(sbp->s_rev_level), in nilfs_store_disk_layout()
415 le16_to_cpu(sbp->s_minor_rev_level), in nilfs_store_disk_layout()
419 nilfs->ns_sbsize = le16_to_cpu(sbp->s_bytes); in nilfs_store_disk_layout()
423 nilfs->ns_inode_size = le16_to_cpu(sbp->s_inode_size); in nilfs_store_disk_layout()
434 nilfs->ns_first_ino = le32_to_cpu(sbp->s_first_ino); in nilfs_store_disk_layout()
436 nilfs->ns_blocks_per_segment = le32_to_cpu(sbp->s_blocks_per_segment); in nilfs_store_disk_layout()
443 nilfs->ns_first_data_block = le64_to_cpu(sbp->s_first_data_block); in nilfs_store_disk_layout()
445 le32_to_cpu(sbp->s_r_segments_percentage); in nilfs_store_disk_layout()
454 nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments)); in nilfs_store_disk_layout()
455 nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed); in nilfs_store_disk_layout()
459 static int nilfs_valid_sb(struct nilfs_super_block *sbp) in nilfs_valid_sb() argument
466 if (!sbp || le16_to_cpu(sbp->s_magic) != NILFS_SUPER_MAGIC) in nilfs_valid_sb()
468 bytes = le16_to_cpu(sbp->s_bytes); in nilfs_valid_sb()
471 crc = crc32_le(le32_to_cpu(sbp->s_crc_seed), (unsigned char *)sbp, in nilfs_valid_sb()
474 crc = crc32_le(crc, (unsigned char *)sbp + sumoff + 4, in nilfs_valid_sb()
476 return crc == le32_to_cpu(sbp->s_sum); in nilfs_valid_sb()
492 static bool nilfs_sb2_bad_offset(struct nilfs_super_block *sbp, u64 offset) in nilfs_sb2_bad_offset() argument
494 unsigned int shift_bits = le32_to_cpu(sbp->s_log_block_size); in nilfs_sb2_bad_offset()
495 u32 blocks_per_segment = le32_to_cpu(sbp->s_blocks_per_segment); in nilfs_sb2_bad_offset()
496 u64 nsegments = le64_to_cpu(sbp->s_nsegments); in nilfs_sb2_bad_offset()
545 struct nilfs_super_block **sbp = nilfs->ns_sbp; in nilfs_load_super_block() local
556 sbp[0] = nilfs_read_super_block(sb, NILFS_SB_OFFSET_BYTES, blocksize, in nilfs_load_super_block()
558 sbp[1] = nilfs_read_super_block(sb, sb2off, blocksize, &sbh[1]); in nilfs_load_super_block()
560 if (!sbp[0]) { in nilfs_load_super_block()
561 if (!sbp[1]) { in nilfs_load_super_block()
568 } else if (!sbp[1]) { in nilfs_load_super_block()
578 valid[0] = nilfs_valid_sb(sbp[0]); in nilfs_load_super_block()
579 valid[1] = nilfs_valid_sb(sbp[1]); in nilfs_load_super_block()
581 le64_to_cpu(sbp[1]->s_last_cno) > in nilfs_load_super_block()
582 le64_to_cpu(sbp[0]->s_last_cno)); in nilfs_load_super_block()
584 if (valid[swp] && nilfs_sb2_bad_offset(sbp[swp], sb2off)) { in nilfs_load_super_block()
587 sbp[1] = NULL; in nilfs_load_super_block()
605 nilfs->ns_sbwtime = le64_to_cpu(sbp[0]->s_wtime); in nilfs_load_super_block()
606 nilfs->ns_prot_seq = le64_to_cpu(sbp[valid[1] & !swp]->s_last_seq); in nilfs_load_super_block()
607 *sbpp = sbp[0]; in nilfs_load_super_block()
626 struct nilfs_super_block *sbp; in init_nilfs() local
638 err = nilfs_load_super_block(nilfs, sb, blocksize, &sbp); in init_nilfs()
642 err = nilfs_store_magic_and_option(sb, sbp, data); in init_nilfs()
646 err = nilfs_check_feature_compatibility(sb, sbp); in init_nilfs()
650 err = nilfs_get_blocksize(sb, sbp, &blocksize); in init_nilfs()
674 err = nilfs_load_super_block(nilfs, sb, blocksize, &sbp); in init_nilfs()
688 err = nilfs_store_disk_layout(nilfs, sbp); in init_nilfs()
694 nilfs->ns_mount_state = le16_to_cpu(sbp->s_state); in init_nilfs()
696 err = nilfs_store_log_cursor(nilfs, sbp); in init_nilfs()