Home | History | Annotate | Download | only in fsck_lfs

Lines Matching refs:osb

616 try_verify(struct lfs *osb, struct uvnode *devvp, daddr_t goal, int debug)
628 daddr = lfs_sb_getoffset(osb);
630 serial = lfs_sb_getserial(osb);
635 if (lfs_sntod(osb, lfs_dtosn(osb, daddr)) == daddr) {
636 if (daddr == lfs_sb_gets0addr(osb))
637 daddr += lfs_btofsb(osb, LFS_LABELPAD);
640 if (lfs_sb_getsboff(osb, i) < daddr)
642 if (lfs_sb_getsboff(osb, i) == daddr)
643 daddr += lfs_btofsb(osb, LFS_SBPAD);
648 bread(devvp, LFS_FSBTODB(osb, daddr), lfs_sb_getsumsize(osb),
655 if (lfs_ss_getmagic(osb, sp) != SS_MAGIC ||
656 lfs_ss_getident(osb, sp) != lfs_sb_getident(osb) ||
657 lfs_ss_getserial(osb, sp) < serial || /* XXX strengthen this */
658 lfs_ss_getsumsum(osb, sp) !=
659 cksum((char *)sp + lfs_ss_getsumstart(osb),
660 lfs_sb_getsumsize(osb) - lfs_ss_getsumstart(osb))) {
663 if (lfs_ss_getmagic(osb, sp) != SS_MAGIC)
667 else if (lfs_ss_getident(osb, sp) != lfs_sb_getident(osb))
671 (uintmax_t)lfs_ss_getident(osb, sp),
672 (uintmax_t)lfs_sb_getident(osb));
673 else if (lfs_ss_getserial(osb, sp) >= serial)
677 (int)lfs_ss_getserial(osb, sp), (int)serial);
685 if (debug && lfs_ss_getserial(osb, sp) != serial)
687 (int)serial, (int)lfs_ss_getserial(osb, sp));
689 bc = check_summary(osb, sp, daddr, debug, devvp, NULL);
696 (int)lfs_ss_getserial(osb, sp));
699 daddr += lfs_btofsb(osb, lfs_sb_getsumsize(osb) + bc);
700 if (lfs_dtosn(osb, odaddr) != lfs_dtosn(osb, daddr) ||
701 lfs_dtosn(osb, daddr) != lfs_dtosn(osb, daddr +
702 lfs_btofsb(osb, lfs_sb_getsumsize(osb) + lfs_sb_getbsize(osb)) - 1)) {
703 daddr = lfs_ss_getnext(osb, sp);
713 if (lfs_ss_getflags(osb, sp) & (SS_CLEAN | SS_RFW))
715 if (hitclean == 0 && (lfs_ss_getflags(osb, sp) & SS_CONT) == 0)
732 struct lfs *osb, *nsb;
740 osb = NULL;
752 osb = sb1;
755 osb = sb0;
760 osb = sb1;
763 osb = sb0;
771 daddr = try_verify(osb, devvp, lfs_sb_getoffset(nsb), debug);
777 (intmax_t)(lfs_sb_gettstamp(nsb) - lfs_sb_gettstamp(osb)));
780 pwarn("** Newer checkpoint invalid; lost %jd seconds of data\n", (intmax_t)(lfs_sb_gettstamp(nsb) - lfs_sb_gettstamp(osb)));
782 return (daddr == lfs_sb_getoffset(nsb) ? nsb : osb);
785 return osb;