Skip site navigation (1)Skip section navigation (2)
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>