Date: Tue, 18 Feb 1997 17:02:58 -0500 From: Dan Cross <tenser@spitfire.ecsel.psu.edu> To: Gary Roberts <wangel@wgrobez1.remote.louisville.edu> Cc: freebsd-current@freebsd.org Subject: Re: -current make world still dying Message-ID: <19970218220258.12075.qmail@spitfire.ecsel.psu.edu> In-Reply-To: Your message of "Tue, 18 Feb 1997 07:28:55 EST." <Pine.NEB.3.95.970218072456.5939A-100000@wgrobez1.remote.louisville.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
> FYI: > make world is still dying in -current(As of 12:05, 02-18-97). The make > with df.c is fixed, however make world is now failing w/ the following > error: > > cc -O -c /usr/src/sbin/fsck/inode.c > /usr/src/sbin/fsck/inode.c: In function `pinode': > /usr/src/sbin/fsck/inode.c:517: request for member `tv_sec' in something > not a structure or union > /usr/src/sbin/fsck/inode.c: In function `allocino': > /usr/src/sbin/fsck/inode.c:588: request for member `tv_sec' in something > not a structure or union > > That's it...just wanted to let you know. This looks like the product of the Lite2 merge. :-) Here's are patches against -current as of last night. (For some reason, CVSup today decided that it needed to edit every single file in the rep- ository. :-) Was a new tag added or something? I just woke up and I'm behind on mail. :-) ****CAVEAT**** I'm really not sure if these patches ``do the right thing''. They only make fsck compile, they may or may not make fsck work right, and, in fact, they may make fsck work WRONG, so use at your own risk. :-) The best solution will be to integrate in the fsck(8) from 4.4BSD-Lite2. The stuff with getvfsbyname() was partly adapted from mount(8). - Dan C. ---begin fsck.patch *** inode.c 1997/02/18 20:48:57 1.1 --- inode.c 1997/02/18 20:49:32 *************** *** 514,520 **** if (preen) printf("%s: ", cdevname); printf("SIZE=%qu ", dp->di_size); ! p = ctime(&dp->di_mtime.tv_sec); printf("MTIME=%12.12s %4.4s ", &p[4], &p[20]); } --- 514,520 ---- if (preen) printf("%s: ", cdevname); printf("SIZE=%qu ", dp->di_size); ! p = ctime((const time_t *)&dp->di_mtime); printf("MTIME=%12.12s %4.4s ", &p[4], &p[20]); } *************** *** 585,591 **** return (0); } dp->di_mode = type; ! (void)time(&dp->di_atime.tv_sec); dp->di_mtime = dp->di_ctime = dp->di_atime; dp->di_size = sblock.fs_fsize; dp->di_blocks = btodb(sblock.fs_fsize); --- 585,591 ---- return (0); } dp->di_mode = type; ! (void)time((time_t *)&dp->di_atime); dp->di_mtime = dp->di_ctime = dp->di_atime; dp->di_size = sblock.fs_fsize; dp->di_blocks = btodb(sblock.fs_fsize); *** pass5.c 1997/02/18 20:49:50 1.1 --- pass5.c 1997/02/18 21:16:31 *************** *** 103,110 **** switch ((int)fs->fs_postblformat) { case FS_42POSTBLFMT: ! basesize = (char *)(&ocg->cg_btot[0]) - (char *)(&ocg->cg_link); ! sumsize = &ocg->cg_iused[0] - (char *)(&ocg->cg_btot[0]); mapsize = &ocg->cg_free[howmany(fs->fs_fpg, NBBY)] - (u_char *)&ocg->cg_iused[0]; ocg->cg_magic = CG_MAGIC; --- 103,112 ---- switch ((int)fs->fs_postblformat) { case FS_42POSTBLFMT: ! basesize = (char *)(&ocg->cg_btot[0]) - ! (char *)(&ocg->cg_firstfield); ! sumsize = (char *)&ocg->cg_iused[0] - ! (char *)(&ocg->cg_btot[0]); mapsize = &ocg->cg_free[howmany(fs->fs_fpg, NBBY)] - (u_char *)&ocg->cg_iused[0]; ocg->cg_magic = CG_MAGIC; *************** *** 114,120 **** case FS_DYNAMICPOSTBLFMT: newcg->cg_btotoff = ! &newcg->cg_space[0] - (u_char *)(&newcg->cg_link); newcg->cg_boff = newcg->cg_btotoff + fs->fs_cpg * sizeof(long); newcg->cg_iusedoff = newcg->cg_boff + --- 116,122 ---- case FS_DYNAMICPOSTBLFMT: newcg->cg_btotoff = ! &newcg->cg_space[0] - (u_char *)(&newcg->cg_firstfield); newcg->cg_boff = newcg->cg_btotoff + fs->fs_cpg * sizeof(long); newcg->cg_iusedoff = newcg->cg_boff + *************** *** 136,142 **** howmany(fs->fs_cpg * fs->fs_spc / NSPB(fs), NBBY); } newcg->cg_magic = CG_MAGIC; ! basesize = &newcg->cg_space[0] - (u_char *)(&newcg->cg_link); sumsize = newcg->cg_iusedoff - newcg->cg_btotoff; mapsize = newcg->cg_nextfreeoff - newcg->cg_iusedoff; break; --- 138,145 ---- howmany(fs->fs_cpg * fs->fs_spc / NSPB(fs), NBBY); } newcg->cg_magic = CG_MAGIC; ! basesize = &newcg->cg_space[0] - ! (u_char *)(&newcg->cg_firstfield); sumsize = newcg->cg_iusedoff - newcg->cg_btotoff; mapsize = newcg->cg_nextfreeoff - newcg->cg_iusedoff; break; *************** *** 249,255 **** } } if (fs->fs_contigsumsize > 0) { ! long *sump = cg_clustersum(newcg); u_char *mapp = cg_clustersfree(newcg); int map = *mapp++; int bit = 1; --- 252,258 ---- } } if (fs->fs_contigsumsize > 0) { ! int32_t *sump = cg_clustersum(newcg); u_char *mapp = cg_clustersfree(newcg); int map = *mapp++; int bit = 1; *** setup.c 1997/02/18 21:22:45 1.1 --- setup.c 1997/02/18 21:26:36 *************** *** 223,231 **** sblock.fs_nrpos = 8; sblock.fs_postbloff = (char *)(&sblock.fs_opostbl[0][0]) - ! (char *)(&sblock.fs_link); sblock.fs_rotbloff = &sblock.fs_space[0] - ! (u_char *)(&sblock.fs_link); sblock.fs_cgsize = fragroundup(&sblock, CGSIZE(&sblock)); sbdirty(); --- 223,231 ---- sblock.fs_nrpos = 8; sblock.fs_postbloff = (char *)(&sblock.fs_opostbl[0][0]) - ! (char *)(&sblock.fs_firstfield); sblock.fs_rotbloff = &sblock.fs_space[0] - ! (u_char *)(&sblock.fs_firstfield); sblock.fs_cgsize = fragroundup(&sblock, CGSIZE(&sblock)); sbdirty(); *************** *** 348,355 **** getblk(&asblk, cgsblock(&sblock, sblock.fs_ncg - 1), sblock.fs_sbsize); if (asblk.b_errs) return (0); ! altsblock.fs_link = sblock.fs_link; ! altsblock.fs_rlink = sblock.fs_rlink; altsblock.fs_time = sblock.fs_time; altsblock.fs_cstotal = sblock.fs_cstotal; altsblock.fs_cgrotor = sblock.fs_cgrotor; --- 348,355 ---- getblk(&asblk, cgsblock(&sblock, sblock.fs_ncg - 1), sblock.fs_sbsize); if (asblk.b_errs) return (0); ! altsblock.fs_firstfield = sblock.fs_firstfield; ! altsblock.fs_unused_1 = sblock.fs_unused_1; altsblock.fs_time = sblock.fs_time; altsblock.fs_cstotal = sblock.fs_cstotal; altsblock.fs_cgrotor = sblock.fs_cgrotor; *** main.c 1997/02/18 20:50:26 1.1 --- main.c 1997/02/18 21:37:12 *************** *** 45,50 **** --- 45,51 ---- #include <sys/time.h> #include <sys/proc.h> #include <sys/mount.h> + #include <ufs/ufs/ufsmount.h> #include <ufs/ufs/dinode.h> #include <ufs/ffs/fs.h> #include <fstab.h> *************** *** 180,185 **** --- 181,187 ---- daddr_t n_ffree, n_bfree; struct dups *dp; struct zlncnt *zlnp; + struct vfsconf *vfc; int cylno; if (preen && child) *************** *** 328,334 **** args.export.ex_flags = 0; args.export.ex_root = 0; flags |= MNT_UPDATE | MNT_RELOAD; ! ret = mount(MOUNT_UFS, "/", flags, &args); if (ret == 0) return(0); } --- 330,339 ---- args.export.ex_flags = 0; args.export.ex_root = 0; flags |= MNT_UPDATE | MNT_RELOAD; ! /* Just temporary until lite2 fsck merge. */ ! vfc = getvfsbyname("ufs"); ! ret = mount(vfc ? vfc->vfc_name : MOUNT_UFS, ! "/", flags, &args); if (ret == 0) return(0); } ---end fsck.patch
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970218220258.12075.qmail>