Lines Matching defs:lfsp
127 print_ientry(int i, struct lfs *lfsp, IFILE *ip)
133 version = lfs_if_getversion(lfsp, ip);
134 daddr = lfs_if_getdaddr(lfsp, ip);
135 nextfree = lfs_if_getnextfree(lfsp, ip);
143 nextfree == LFS_ORPHAN_NEXTFREE(lfsp) ? "orphan" : "-");
353 dump_ifile(int fd, struct lfs *lfsp, int do_ientries, int do_segentries, daddr_t addr)
364 psize = lfs_sb_getbsize(lfsp);
366 addr = lfs_sb_getidaddr(lfsp);
369 get(fd, fsbtobyte(lfsp, addr), dpage, psize);
372 for (i = LFS_INOPB(lfsp); i-- > 0; ) {
373 dip = DINO_IN_BLOCK(lfsp, dpage, i);
374 if (lfs_dino_getinumber(lfsp, dip) == LFS_IFILE_INUM)
384 if (lfs_dino_getinumber(lfsp, dip) != LFS_IFILE_INUM) {
391 dump_dinode(lfsp, dip);
394 nblocks = lfs_dino_getsize(lfsp, dip) >> lfs_sb_getbshift(lfsp);
400 pdb = lfs_dino_getdb(lfsp, dip, i);
401 get(fd, fsbtobyte(lfsp, pdb), ipage, psize);
402 if (i < lfs_sb_getcleansz(lfsp)) {
403 dump_cleaner_info(lfsp, ipage);
409 if (i < (lfs_sb_getsegtabsz(lfsp) + lfs_sb_getcleansz(lfsp))) {
411 inum = dump_ipage_segusage(lfsp, inum, ipage,
412 lfs_sb_getsepb(lfsp));
414 inum = (i < lfs_sb_getsegtabsz(lfsp) + lfs_sb_getcleansz(lfsp) - 1);
422 inum = dump_ipage_ifile(lfsp, inum, ipage, lfs_sb_getifpb(lfsp));
430 get(fd, fsbtobyte(lfsp, lfs_dino_getib(lfsp, dip, 0)), indir, psize);
431 block_limit = MIN(i + lfs_sb_getnindir(lfsp), nblocks);
433 thisblock = lfs_iblock_get(lfsp, indir, offset);
436 get(fd, fsbtobyte(lfsp, thisblock), ipage, psize);
437 if (i < lfs_sb_getcleansz(lfsp)) {
438 dump_cleaner_info(lfsp, ipage);
442 if (i < lfs_sb_getsegtabsz(lfsp) + lfs_sb_getcleansz(lfsp)) {
444 inum = dump_ipage_segusage(lfsp, inum, ipage,
445 lfs_sb_getsepb(lfsp));
447 inum = (i < lfs_sb_getsegtabsz(lfsp) + lfs_sb_getcleansz(lfsp) - 1);
455 inum = dump_ipage_ifile(lfsp, inum, ipage, lfs_sb_getifpb(lfsp));
458 if (nblocks <= ULFS_NDADDR + lfs_sb_getnindir(lfsp))
463 get(fd, fsbtobyte(lfsp, lfs_dino_getib(lfsp, dip, 1)), dindir, psize);
464 for (j = 0; j < lfs_sb_getnindir(lfsp); j++) {
465 thisblock = lfs_iblock_get(lfsp, dindir, j);
468 get(fd, fsbtobyte(lfsp, thisblock), indir, psize);
469 block_limit = MIN(i + lfs_sb_getnindir(lfsp), nblocks);
471 thisblock = lfs_iblock_get(lfsp, indir, offset);
474 get(fd, fsbtobyte(lfsp, thisblock), ipage, psize);
475 if (i < lfs_sb_getcleansz(lfsp)) {
476 dump_cleaner_info(lfsp, ipage);
480 if (i < lfs_sb_getsegtabsz(lfsp) + lfs_sb_getcleansz(lfsp)) {
482 inum = dump_ipage_segusage(lfsp,
483 inum, ipage, lfs_sb_getsepb(lfsp));
485 inum = (i < lfs_sb_getsegtabsz(lfsp) +
486 lfs_sb_getcleansz(lfsp) - 1);
494 inum = dump_ipage_ifile(lfsp, inum,
495 ipage, lfs_sb_getifpb(lfsp));
505 dump_ipage_ifile(struct lfs *lfsp, int i, char *pp, int tot)
510 if (lfsp->lfs_is64)
512 if (lfs_sb_getversion(lfsp) > 1)
519 print_ientry(cnt, lfsp, (IFILE *)ip);
524 dump_ipage_segusage(struct lfs *lfsp, int i, char *pp, int tot)
532 cnt < lfs_sb_getnseg(lfsp) && cnt < max; cnt++) {
534 print_suentry(cnt, sp, lfsp);
538 print_suentry(cnt, sp, lfsp);
542 if (lfs_sb_getversion(lfsp) > 1)
547 if (max >= lfs_sb_getnseg(lfsp))
588 dump_sum(int fd, struct lfs *lfsp, SEGSUM *sp, int segnum, daddr_t addr)
606 sumstart = lfs_ss_getsumstart(lfsp);
607 if (lfs_ss_getmagic(lfsp, sp) != SS_MAGIC ||
608 lfs_ss_getsumsum(lfsp, sp) != (ck = cksum((char *)sp + sumstart,
609 lfs_sb_getsumsize(lfsp) - sumstart))) {
611 if (lfs_dtosn(lfsp, addr + LFS_FSBTODB(lfsp, 1)) ==
612 lfs_dtosn(lfsp, addr))
618 if (lfs_sb_getversion(lfsp) > 1 && lfs_ss_getident(lfsp, sp) != lfs_sb_getident(lfsp)) {
626 ssflags = lfs_ss_getflags(lfsp, sp);
628 "next ", (intmax_t)lfs_ss_getnext(lfsp, sp),
629 "nfinfo ", lfs_ss_getnfinfo(lfsp, sp),
630 "ninos ", lfs_ss_getninos(lfsp, sp),
635 "sumsum ", lfs_ss_getsumsum(lfsp, sp),
636 "datasum ", lfs_ss_getdatasum(lfsp, sp));
637 if (lfs_sb_getversion(lfsp) == 1) {
638 t = lfs_ss_getocreate(lfsp, sp);
641 t = lfs_ss_getcreate(lfsp, sp);
643 (void)printf(" roll_id %-8x", lfs_ss_getident(lfsp, sp));
645 (long long)lfs_ss_getserial(lfsp, sp));
649 iip = SEGSUM_IINFOSTART(lfsp, sp);
650 diblock = emalloc(lfs_sb_getbsize(lfsp));
654 for (i = 0; i < lfs_ss_getninos(lfsp, sp); iip = NEXTLOWER_IINFO(lfsp, iip)) {
656 numbytes += lfs_sb_getibsize(lfsp); /* add bytes for inode block */
657 printf("\t0x%jx {", (intmax_t)lfs_ii_getblock(lfsp, iip));
658 get(fd, fsbtobyte(lfsp, lfs_ii_getblock(lfsp, iip)), diblock, lfs_sb_getibsize(lfsp));
659 for (j = 0; i < lfs_ss_getninos(lfsp, sp) && j < LFS_INOPB(lfsp); j++, i++) {
662 dip = DINO_IN_BLOCK(lfsp, diblock, j);
663 (void)printf("%juv%d", lfs_dino_getinumber(lfsp, dip),
664 lfs_dino_getgen(lfsp, dip));
670 fp = SEGSUM_FINFOBASE(lfsp, sp);
671 for (i = 0; i < lfs_ss_getnfinfo(lfsp, sp); i++) {
673 (uintmax_t)lfs_fi_getino(lfsp, fp),
674 lfs_fi_getversion(lfsp, fp),
675 lfs_fi_getnblocks(lfsp, fp),
676 lfs_fi_getlastlength(lfsp, fp));
677 lfs_blocks_fromfinfo(lfsp, &fipblocks, fp);
678 numblocks += lfs_fi_getnblocks(lfsp, fp);
679 for (j = 0; j < lfs_fi_getnblocks(lfsp, fp); j++) {
681 (intmax_t)lfs_blocks_get(lfsp, &fipblocks, j));
684 if (j == lfs_fi_getnblocks(lfsp, fp) - 1)
685 numbytes += lfs_fi_getlastlength(lfsp, fp);
687 numbytes += lfs_sb_getbsize(lfsp);
691 fp = NEXT_FINFO(lfsp, fp);
702 iip2 = SEGSUM_IINFOSTART(lfsp, sp);
703 fp = SEGSUM_FINFOBASE(lfsp, sp);
704 if (lfs_sb_getversion(lfsp) == 1) {
712 addr += lfs_btofsb(lfsp, lfs_sb_getsumsize(lfsp));
713 buf = emalloc(lfs_sb_getbsize(lfsp));
714 for (i = 0; i < lfs_ss_getnfinfo(lfsp, sp); i++) {
715 while (addr == lfs_ii_getblock(lfsp, iip2)) {
716 get(fd, fsbtobyte(lfsp, addr), buf, lfs_sb_getibsize(lfsp));
718 addr += lfs_btofsb(lfsp, lfs_sb_getibsize(lfsp));
719 iip2 = NEXTLOWER_IINFO(lfsp, iip2);
722 for (j = 0; j < lfs_fi_getnblocks(lfsp, fp); j++) {
723 get(fd, fsbtobyte(lfsp, addr), buf, lfs_sb_getfsize(lfsp));
725 if (j == lfs_fi_getnblocks(lfsp, fp) - 1)
726 addr += lfs_btofsb(lfsp, lfs_fi_getlastlength(lfsp, fp));
728 addr += lfs_btofsb(lfsp, lfs_sb_getbsize(lfsp));
731 fp = NEXT_FINFO(lfsp, fp);
733 while (addr == lfs_ii_getblock(lfsp, iip2)) {
734 get(fd, fsbtobyte(lfsp, addr), buf, lfs_sb_getibsize(lfsp));
736 addr += lfs_btofsb(lfsp, lfs_sb_getibsize(lfsp));
737 iip2 = NEXTLOWER_IINFO(lfsp, iip2);
745 if (datasum != lfs_ss_getdatasum(lfsp, sp))
746 printf("** computed datasum 0x%lx does not match given datasum 0x%lx\n", (unsigned long)datasum, (unsigned long)lfs_ss_getdatasum(lfsp, sp));
753 dump_segment(int fd, int segnum, daddr_t addr, struct lfs *lfsp, int dump_sb)
764 (long long)lfs_dtosn(lfsp, addr), (long long)addr);
765 sum_offset = fsbtobyte(lfsp, addr);
766 sumblock = emalloc(lfs_sb_getsumsize(lfsp));
768 if (lfs_sb_getversion(lfsp) > 1 && segnum == 0) {
769 if (lfs_fsbtob(lfsp, lfs_sb_gets0addr(lfsp)) < LFS_LABELPAD) {
771 sum_offset += lfs_fragroundup(lfsp, LFS_LABELPAD) -
772 lfs_fsbtob(lfsp, lfs_sb_gets0addr(lfsp));
773 addr += lfs_btofsb(lfsp, lfs_fragroundup(lfsp, LFS_LABELPAD)) -
774 lfs_sb_gets0addr(lfsp);
784 get(fd, sum_offset, sumblock, lfs_sb_getsumsize(lfsp));
786 sumstart = lfs_ss_getsumstart(lfsp);
787 if (whyfailed == NULL && lfs_ss_getmagic(lfsp, sump) !=
791 (unsigned long)lfs_ss_getmagic(lfsp, sump),
794 if (whyfailed == NULL && lfs_ss_getsumsum(lfsp, sump) !=
796 lfs_sb_getsumsize(lfsp) - sumstart))
798 if (whyfailed == NULL && lfs_sb_getversion(lfsp) > 1 &&
799 lfs_ss_getident(lfsp, sump) != lfs_sb_getident(lfsp))
807 if ((sb = (!lfsp->lfs_is64 && sbmagic == LFS_MAGIC)
808 || (lfsp->lfs_is64 && sbmagic == LFS64_MAGIC))) {
810 (unsigned)lfs_btofsb(lfsp, sum_offset));
818 if (lfs_sb_getversion(lfsp) > 1)
819 sum_offset += lfs_fragroundup(lfsp, LFS_SBPAD);
830 nbytes = dump_sum(fd, lfsp, sump, segnum,
831 lfs_btofsb(lfsp, sum_offset));
833 sum_offset += lfs_sb_getsumsize(lfsp) + nbytes;
839 new_addr = lfs_btofsb(lfsp, sum_offset);
841 if (lfs_dtosn(lfsp, new_addr) != lfs_dtosn(lfsp, addr))
849 dump_super(struct lfs *lfsp)
855 "magic ", lfsp->lfs_dlfs_u.u_32.dlfs_magic,
856 "version ", lfs_sb_getversion(lfsp),
857 "size ", (uintmax_t)lfs_sb_getsize(lfsp));
859 "ssize ", lfs_sb_getssize(lfsp),
860 "dsize ", (uintmax_t)lfs_sb_getdsize(lfsp),
861 "bsize ", lfs_sb_getbsize(lfsp));
863 "fsize ", lfs_sb_getfsize(lfsp),
864 "frag ", lfs_sb_getfrag(lfsp),
865 "minfree ", lfs_sb_getminfree(lfsp));
867 "inopb ", lfs_sb_getinopb(lfsp),
868 "ifpb ", lfs_sb_getifpb(lfsp),
869 "nindir ", lfs_sb_getnindir(lfsp));
871 "nseg ", lfs_sb_getnseg(lfsp),
872 "sepb ", lfs_sb_getsepb(lfsp),
873 "cleansz ", lfs_sb_getcleansz(lfsp));
875 "segtabsz ", lfs_sb_getsegtabsz(lfsp),
876 "segmask ", lfs_sb_getsegmask(lfsp),
877 "segshift ", lfs_sb_getsegshift(lfsp));
879 "bmask ", (uintmax_t)lfs_sb_getbmask(lfsp),
880 "bshift ", lfs_sb_getbshift(lfsp),
881 "ffmask ", (uintmax_t)lfs_sb_getffmask(lfsp));
883 "ffshift ", lfs_sb_getffshift(lfsp),
884 "fbmask ", (uintmax_t)lfs_sb_getfbmask(lfsp),
885 "fbshift ", lfs_sb_getfbshift(lfsp));
888 "sushift ", lfs_sb_getsushift(lfsp),
889 "fsbtodb ", lfs_sb_getfsbtodb(lfsp),
890 "cksum ", lfs_sb_getcksum(lfsp));
892 "nclean ", lfs_sb_getnclean(lfsp),
893 "dmeta ", lfs_sb_getdmeta(lfsp),
894 "minfreeseg ", lfs_sb_getminfreeseg(lfsp));
896 "roll_id ", lfs_sb_getident(lfsp),
897 "interleave ", lfs_sb_getinterleave(lfsp),
898 "sumsize ", lfs_sb_getsumsize(lfsp));
900 "seg0addr ", (intmax_t)lfs_sb_gets0addr(lfsp),
901 "maxfilesize ", (uintmax_t)lfs_sb_getmaxfilesize(lfsp));
906 (void)printf(" 0x%-8jx", (intmax_t)lfs_sb_getsboff(lfsp, i));
914 "freehd ", (uintmax_t)lfs_sb_getfreehd(lfsp),
915 "idaddr ", (intmax_t)lfs_sb_getidaddr(lfsp));
917 "uinodes ", lfs_sb_getuinodes(lfsp),
918 "bfree ", (intmax_t)lfs_sb_getbfree(lfsp),
919 "avail ", (intmax_t)lfs_sb_getavail(lfsp));
921 "nfiles ", (uintmax_t)lfs_sb_getnfiles(lfsp),
922 "lastseg ", (uintmax_t)lfs_sb_getlastseg(lfsp),
923 "nextseg ", (uintmax_t)lfs_sb_getnextseg(lfsp));
925 "curseg ", (uintmax_t)lfs_sb_getcurseg(lfsp),
926 "offset ", (uintmax_t)lfs_sb_getoffset(lfsp),
927 "serial ", (uintmax_t)lfs_sb_getserial(lfsp));
928 stamp = lfs_sb_gettstamp(lfsp);
931 if (!lfsp->lfs_is64) {
934 "ifile ", lfs_sb_getifile(lfsp));
950 dump_cleaner_info(struct lfs *lfsp, void *ipage)
955 if (lfs_sb_getversion(lfsp) > 1) {
957 (uintmax_t)lfs_ci_getfree_head(lfsp, cip));
959 (uintmax_t)lfs_ci_getfree_tail(lfsp, cip));
962 lfs_ci_getclean(lfsp, cip), lfs_ci_getdirty(lfsp, cip));
964 (intmax_t)lfs_ci_getbfree(lfsp, cip),
965 (intmax_t)lfs_ci_getavail(lfsp, cip));
969 dump_inoblk(int fd, struct lfs *lfsp, daddr_t daddr, ino_t ino)
976 buf = emalloc(lfs_sb_getfsize(lfsp));
977 get(fd, lfs_fsbtob(lfsp, daddr), buf, lfs_sb_getfsize(lfsp));
978 for (i = 0; i < LFS_INOPB(lfsp); ++i) {
979 dip = DINO_IN_BLOCK(lfsp, buf, i);
980 dino = lfs_dino_getinumber(lfsp, dip);
986 dump_dinode(lfsp, dip);