svn commit: r248634 - head/sbin/fsck_ffs

Sean Bruno sbruno at FreeBSD.org
Sat Mar 23 04:26:15 UTC 2013


Author: sbruno
Date: Sat Mar 23 04:26:13 2013
New Revision: 248634
URL: http://svnweb.freebsd.org/changeset/base/248634

Log:
  Revert svn r248625
  
  Clang errors around printf could be trivially fixed, but the breakage in
  sbin/fsdb were to significant for this type of change.
  
  Submitter of this changeset has been notified and hopefully this can be
  restored soon.

Modified:
  head/sbin/fsck_ffs/fsck.h
  head/sbin/fsck_ffs/fsutil.c
  head/sbin/fsck_ffs/inode.c
  head/sbin/fsck_ffs/pass1.c
  head/sbin/fsck_ffs/pass5.c
  head/sbin/fsck_ffs/setup.c
  head/sbin/fsck_ffs/suj.c

Modified: head/sbin/fsck_ffs/fsck.h
==============================================================================
--- head/sbin/fsck_ffs/fsck.h	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/fsck.h	Sat Mar 23 04:26:13 2013	(r248634)
@@ -198,6 +198,7 @@ struct timespec totalreadtime[BT_NUMBUFT
 struct timespec startprog;
 
 struct bufarea sblk;		/* file system superblock */
+struct bufarea cgblk;		/* cylinder group blocks */
 struct bufarea *pdirbp;		/* current directory contents */
 struct bufarea *pbp;		/* current inode block */
 
@@ -215,7 +216,9 @@ struct bufarea *pbp;		/* current inode b
 } while (0)
 
 #define	sbdirty()	dirty(&sblk)
+#define	cgdirty()	dirty(&cgblk)
 #define	sblock		(*sblk.b_un.b_fs)
+#define	cgrp		(*cgblk.b_un.b_cg)
 
 enum fixstate {DONTKNOW, NOFIX, FIX, IGNORE};
 ino_t cursnapshot;
@@ -358,37 +361,6 @@ struct	ufs2_dinode ufs2_zino;
 
 #define	EEXIT	8		/* Standard error exit. */
 
-int flushentry(void);
-/*
- * Wrapper for malloc() that flushes the cylinder group cache to try 
- * to get space.
- */
-static inline void*
-Malloc(int size)
-{
-	void *retval;
-
-	while ((retval = malloc(size)) == NULL)
-		if (flushentry() == 0)
-			break;
-	return (retval);
-}
-
-/*
- * Wrapper for calloc() that flushes the cylinder group cache to try 
- * to get space.
- */
-static inline void*
-Calloc(int cnt, int size)
-{
-	void *retval;
-
-	while ((retval = calloc(cnt, size)) == NULL)
-		if (flushentry() == 0)
-			break;
-	return (retval);
-}
-
 struct fstab;
 
 
@@ -406,7 +378,7 @@ void		cacheino(union dinode *dp, ino_t i
 void		catch(int);
 void		catchquit(int);
 int		changeino(ino_t dir, const char *name, ino_t newnum);
-int		check_cgmagic(int cg, struct bufarea *cgbp);
+int		check_cgmagic(int cg, struct cg *cgp);
 int		chkrange(ufs2_daddr_t blk, int cnt);
 void		ckfini(int markclean);
 int		ckinode(union dinode *dp, struct inodesc *);
@@ -426,7 +398,6 @@ void		freeino(ino_t ino);
 void		freeinodebuf(void);
 int		ftypeok(union dinode *dp);
 void		getblk(struct bufarea *bp, ufs2_daddr_t blk, long size);
-struct bufarea *cgget(int cg);
 struct bufarea *getdatablk(ufs2_daddr_t blkno, long size, int type);
 struct inoinfo *getinoinfo(ino_t inumber);
 union dinode   *getnextinode(ino_t inumber, int rebuildcg);

Modified: head/sbin/fsck_ffs/fsutil.c
==============================================================================
--- head/sbin/fsck_ffs/fsutil.c	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/fsutil.c	Sat Mar 23 04:26:13 2013	(r248634)
@@ -70,7 +70,6 @@ static struct timespec startpass, finish
 struct timeval slowio_starttime;
 int slowio_delay_usec = 10000;	/* Initial IO delay for background fsck */
 int slowio_pollcnt;
-static struct bufarea cgblk;	/* backup buffer for cylinder group blocks */
 static TAILQ_HEAD(buflist, bufarea) bufhead;	/* head of buffer cache list */
 static int numbufs;				/* size of buffer cache */
 static char *buftype[BT_NUMBUFTYPES] = BT_NAMES;
@@ -164,7 +163,7 @@ bufinit(void)
 	char *bufp;
 
 	pbp = pdirbp = (struct bufarea *)0;
-	bufp = Malloc((unsigned int)sblock.fs_bsize);
+	bufp = malloc((unsigned int)sblock.fs_bsize);
 	if (bufp == 0)
 		errx(EEXIT, "cannot allocate buffer pool");
 	cgblk.b_un.b_buf = bufp;
@@ -174,8 +173,8 @@ bufinit(void)
 	if (bufcnt < MINBUFS)
 		bufcnt = MINBUFS;
 	for (i = 0; i < bufcnt; i++) {
-		bp = (struct bufarea *)Malloc(sizeof(struct bufarea));
-		bufp = Malloc((unsigned int)sblock.fs_bsize);
+		bp = (struct bufarea *)malloc(sizeof(struct bufarea));
+		bufp = malloc((unsigned int)sblock.fs_bsize);
 		if (bp == NULL || bufp == NULL) {
 			if (i >= MINBUFS)
 				break;
@@ -194,57 +193,6 @@ bufinit(void)
 }
 
 /*
- * Manage cylinder group buffers.
- */
-static struct bufarea *cgbufs;	/* header for cylinder group cache */
-static int flushtries;		/* number of tries to reclaim memory */
-
-struct bufarea *
-cgget(int cg)
-{
-	struct bufarea *cgbp;
-	struct cg *cgp;
-
-	if (cgbufs == NULL) {
-		cgbufs = Calloc(sblock.fs_ncg, sizeof(struct bufarea));
-		if (cgbufs == NULL)
-			errx(EEXIT, "cannot allocate cylinder group buffers");
-	}
-	cgbp = &cgbufs[cg];
-	if (cgbp->b_un.b_cg != NULL)
-		return (cgbp);
-	cgp = NULL;
-	if (flushtries == 0)
-		cgp = malloc((unsigned int)sblock.fs_cgsize);
-	if (cgp == NULL) {
-		getblk(&cgblk, cgtod(&sblock, cg), sblock.fs_cgsize);
-		return (&cgblk);
-	}
-	cgbp->b_un.b_cg = cgp;
-	initbarea(cgbp, BT_CYLGRP);
-	getblk(cgbp, cgtod(&sblock, cg), sblock.fs_cgsize);
-	return (cgbp);
-}
-
-/*
- * Attempt to flush a cylinder group cache entry.
- * Return whether the flush was successful.
- */
-int
-flushentry(void)
-{
-	struct bufarea *cgbp;
-
-	cgbp = &cgbufs[flushtries++];
-	if (cgbp->b_un.b_cg == NULL)
-		return (0);
-	flush(fswritefd, cgbp);
-	free(cgbp->b_un.b_buf);
-	cgbp->b_un.b_buf = NULL;
-	return (1);
-}
-
-/*
  * Manage a cache of directory blocks.
  */
 struct bufarea *
@@ -415,13 +363,6 @@ ckfini(int markclean)
 	}
 	if (numbufs != cnt)
 		errx(EEXIT, "panic: lost %d buffers", numbufs - cnt);
-	for (cnt = 0; cnt < sblock.fs_ncg; cnt++) {
-		if (cgbufs[cnt].b_un.b_cg == NULL)
-			continue;
-		flush(fswritefd, &cgbufs[cnt]);
-		free(cgbufs[cnt].b_un.b_cg);
-	}
-	free(cgbufs);
 	pbp = pdirbp = (struct bufarea *)0;
 	if (cursnapshot == 0 && sblock.fs_clean != markclean) {
 		if ((sblock.fs_clean = markclean) != 0) {
@@ -507,8 +448,8 @@ static void printIOstats(void)
 
 	clock_gettime(CLOCK_REALTIME_PRECISE, &finishpass);
 	timespecsub(&finishpass, &startpass);
-	printf("Running time: %d.%03ld msec\n",
-		finishpass.tv_sec, finishpass.tv_nsec / 1000000);
+	msec = finishpass.tv_sec * 1000 + finishpass.tv_nsec / 1000000;
+	printf("Running time: %lld msec\n", msec);
 	printf("buffer reads by type:\n");
 	for (totalmsec = 0, i = 0; i < BT_NUMBUFTYPES; i++)
 		totalmsec += readtime[i].tv_sec * 1000 +
@@ -519,10 +460,9 @@ static void printIOstats(void)
 		if (readcnt[i] == 0)
 			continue;
 		msec = readtime[i].tv_sec * 1000 + readtime[i].tv_nsec / 1000000;
-		printf("%21s:%8ld %2ld.%ld%% %4d.%03ld sec %2jd.%jd%%\n",
+		printf("%21s:%8ld %2ld.%ld%% %8lld msec %2lld.%lld%%\n",
 		    buftype[i], readcnt[i], readcnt[i] * 100 / diskreads,
-		    (readcnt[i] * 1000 / diskreads) % 10,
-		    readtime[i].tv_sec, readtime[i].tv_nsec / 1000000,
+		    (readcnt[i] * 1000 / diskreads) % 10, msec,
 		    msec * 100 / totalmsec, (msec * 1000 / totalmsec) % 10);
 	}
 	printf("\n");
@@ -622,9 +562,8 @@ blerase(int fd, ufs2_daddr_t blk, long s
  * test fails, offer an option to rebuild the whole cylinder group.
  */
 int
-check_cgmagic(int cg, struct bufarea *cgbp)
+check_cgmagic(int cg, struct cg *cgp)
 {
-	struct cg *cgp = cgbp->b_un.b_cg;
 
 	/*
 	 * Extended cylinder group checks.
@@ -684,7 +623,7 @@ check_cgmagic(int cg, struct bufarea *cg
 		cgp->cg_nextfreeoff = cgp->cg_clusteroff +
 		    howmany(fragstoblks(&sblock, sblock.fs_fpg), CHAR_BIT);
 	}
-	dirty(cgbp);
+	cgdirty();
 	return (0);
 }
 
@@ -695,8 +634,7 @@ ufs2_daddr_t
 allocblk(long frags)
 {
 	int i, j, k, cg, baseblk;
-	struct bufarea *cgbp;
-	struct cg *cgp;
+	struct cg *cgp = &cgrp;
 
 	if (frags <= 0 || frags > sblock.fs_frag)
 		return (0);
@@ -712,9 +650,8 @@ allocblk(long frags)
 				continue;
 			}
 			cg = dtog(&sblock, i + j);
-			cgbp = cgget(cg);
-			cgp = cgbp->b_un.b_cg;
-			if (!check_cgmagic(cg, cgbp))
+			getblk(&cgblk, cgtod(&sblock, cg), sblock.fs_cgsize);
+			if (!check_cgmagic(cg, cgp))
 				return (0);
 			baseblk = dtogd(&sblock, i + j);
 			for (k = 0; k < frags; k++) {
@@ -726,7 +663,7 @@ allocblk(long frags)
 				cgp->cg_cs.cs_nbfree--;
 			else
 				cgp->cg_cs.cs_nffree -= frags;
-			dirty(cgbp);
+			cgdirty();
 			return (i + j);
 		}
 	}

Modified: head/sbin/fsck_ffs/inode.c
==============================================================================
--- head/sbin/fsck_ffs/inode.c	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/inode.c	Sat Mar 23 04:26:13 2013	(r248634)
@@ -423,7 +423,7 @@ setinodebuf(ino_t inum)
 		partialsize = inobufsize;
 	}
 	initbarea(&inobuf, BT_INODES);
-	if ((inobuf.b_un.b_buf = Malloc((unsigned)inobufsize)) == NULL)
+	if ((inobuf.b_un.b_buf = malloc((unsigned)inobufsize)) == NULL)
 		errx(EEXIT, "cannot allocate space for inode buffer");
 }
 
@@ -454,7 +454,7 @@ cacheino(union dinode *dp, ino_t inumber
 	else
 		blks = howmany(DIP(dp, di_size), sblock.fs_bsize);
 	inp = (struct inoinfo *)
-		Malloc(sizeof(*inp) + (blks - 1) * sizeof(ufs2_daddr_t));
+		malloc(sizeof(*inp) + (blks - 1) * sizeof(ufs2_daddr_t));
 	if (inp == NULL)
 		errx(EEXIT, "cannot increase directory list");
 	inpp = &inphead[inumber % dirhash];
@@ -657,8 +657,7 @@ allocino(ino_t request, int type)
 {
 	ino_t ino;
 	union dinode *dp;
-	struct bufarea *cgbp;
-	struct cg *cgp;
+	struct cg *cgp = &cgrp;
 	int cg;
 
 	if (request == 0)
@@ -671,9 +670,8 @@ allocino(ino_t request, int type)
 	if (ino == maxino)
 		return (0);
 	cg = ino_to_cg(&sblock, ino);
-	cgbp = cgget(cg);
-	cgp = cgbp->b_un.b_cg;
-	if (!check_cgmagic(cg, cgbp))
+	getblk(&cgblk, cgtod(&sblock, cg), sblock.fs_cgsize);
+	if (!check_cgmagic(cg, cgp))
 		return (0);
 	setbit(cg_inosused(cgp), ino % sblock.fs_ipg);
 	cgp->cg_cs.cs_nifree--;
@@ -689,7 +687,7 @@ allocino(ino_t request, int type)
 	default:
 		return (0);
 	}
-	dirty(cgbp);
+	cgdirty();
 	dp = ginode(ino);
 	DIP_SET(dp, di_db[0], allocblk((long)1));
 	if (DIP(dp, di_db[0]) == 0) {

Modified: head/sbin/fsck_ffs/pass1.c
==============================================================================
--- head/sbin/fsck_ffs/pass1.c	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/pass1.c	Sat Mar 23 04:26:13 2013	(r248634)
@@ -61,8 +61,6 @@ pass1(void)
 {
 	struct inostat *info;
 	struct inodesc idesc;
-	struct bufarea *cgbp;
-	struct cg *cgp;
 	ino_t inumber, inosused, mininos;
 	ufs2_daddr_t i, cgd;
 	u_int8_t *cp;
@@ -94,13 +92,12 @@ pass1(void)
 	for (c = 0; c < sblock.fs_ncg; c++) {
 		inumber = c * sblock.fs_ipg;
 		setinodebuf(inumber);
-		cgbp = cgget(c);
-		cgp = cgbp->b_un.b_cg;
+		getblk(&cgblk, cgtod(&sblock, c), sblock.fs_cgsize);
 		rebuildcg = 0;
-		if (!check_cgmagic(c, cgbp))
+		if (!check_cgmagic(c, &cgrp))
 			rebuildcg = 1;
 		if (!rebuildcg && sblock.fs_magic == FS_UFS2_MAGIC) {
-			inosused = cgp->cg_initediblk;
+			inosused = cgrp.cg_initediblk;
 			if (inosused > sblock.fs_ipg) {
 				pfatal(
 "Too many initialized inodes (%ju > %d) in cylinder group %d\nReset to %d\n",
@@ -130,7 +127,7 @@ pass1(void)
 		 * read only those inodes in from disk.
 		 */
 		if ((preen || inoopt) && usedsoftdep && !rebuildcg) {
-			cp = &cg_inosused(cgp)[(inosused - 1) / CHAR_BIT];
+			cp = &cg_inosused(&cgrp)[(inosused - 1) / CHAR_BIT];
 			for ( ; inosused > 0; inosused -= CHAR_BIT, cp--) {
 				if (*cp == 0)
 					continue;
@@ -152,7 +149,7 @@ pass1(void)
 			inostathead[c].il_stat = 0;
 			continue;
 		}
-		info = Calloc((unsigned)inosused, sizeof(struct inostat));
+		info = calloc((unsigned)inosused, sizeof(struct inostat));
 		if (info == NULL)
 			errx(EEXIT, "cannot alloc %u bytes for inoinfo",
 			    (unsigned)(sizeof(struct inostat) * inosused));
@@ -172,7 +169,7 @@ pass1(void)
 			 * valid number for this cylinder group.
 			 */
 			if (checkinode(inumber, &idesc, rebuildcg) == 0 &&
-			    i > cgp->cg_initediblk)
+			    i > cgrp.cg_initediblk)
 				break;
 		}
 		/*
@@ -184,16 +181,16 @@ pass1(void)
 		mininos = roundup(inosused + INOPB(&sblock), INOPB(&sblock));
 		if (inoopt && !preen && !rebuildcg &&
 		    sblock.fs_magic == FS_UFS2_MAGIC &&
-		    cgp->cg_initediblk > 2 * INOPB(&sblock) &&
-		    mininos < cgp->cg_initediblk) {
-			i = cgp->cg_initediblk;
+		    cgrp.cg_initediblk > 2 * INOPB(&sblock) &&
+		    mininos < cgrp.cg_initediblk) {
+			i = cgrp.cg_initediblk;
 			if (mininos < 2 * INOPB(&sblock))
-				cgp->cg_initediblk = 2 * INOPB(&sblock);
+				cgrp.cg_initediblk = 2 * INOPB(&sblock);
 			else
-				cgp->cg_initediblk = mininos;
+				cgrp.cg_initediblk = mininos;
 			pwarn("CYLINDER GROUP %d: RESET FROM %ju TO %d %s\n",
-			    c, i, cgp->cg_initediblk, "VALID INODES");
-			dirty(cgbp);
+			    c, i, cgrp.cg_initediblk, "VALID INODES");
+			cgdirty();
 		}
 		if (inosused < sblock.fs_ipg)
 			continue;
@@ -202,11 +199,11 @@ pass1(void)
 			inosused = 0;
 		else
 			inosused = lastino - (c * sblock.fs_ipg);
-		if (rebuildcg && inosused > cgp->cg_initediblk &&
+		if (rebuildcg && inosused > cgrp.cg_initediblk &&
 		    sblock.fs_magic == FS_UFS2_MAGIC) {
-			cgp->cg_initediblk = roundup(inosused, INOPB(&sblock));
+			cgrp.cg_initediblk = roundup(inosused, INOPB(&sblock));
 			pwarn("CYLINDER GROUP %d: FOUND %d VALID INODES\n", c,
-			    cgp->cg_initediblk);
+			    cgrp.cg_initediblk);
 		}
 		/*
 		 * If we were not able to determine in advance which inodes
@@ -222,7 +219,7 @@ pass1(void)
 			inostathead[c].il_stat = 0;
 			continue;
 		}
-		info = Calloc((unsigned)inosused, sizeof(struct inostat));
+		info = calloc((unsigned)inosused, sizeof(struct inostat));
 		if (info == NULL)
 			errx(EEXIT, "cannot alloc %u bytes for inoinfo",
 			    (unsigned)(sizeof(struct inostat) * inosused));
@@ -485,7 +482,7 @@ pass1check(struct inodesc *idesc)
 				}
 				return (STOP);
 			}
-			new = (struct dups *)Malloc(sizeof(struct dups));
+			new = (struct dups *)malloc(sizeof(struct dups));
 			if (new == NULL) {
 				pfatal("DUP TABLE OVERFLOW.");
 				if (reply("CONTINUE") == 0) {

Modified: head/sbin/fsck_ffs/pass5.c
==============================================================================
--- head/sbin/fsck_ffs/pass5.c	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/pass5.c	Sat Mar 23 04:26:13 2013	(r248634)
@@ -59,14 +59,14 @@ pass5(void)
 	int c, i, j, blk, frags, basesize, mapsize;
 	int inomapsize, blkmapsize;
 	struct fs *fs = &sblock;
+	struct cg *cg = &cgrp;
 	ufs2_daddr_t d, dbase, dmax, start;
 	int rewritecg = 0;
 	struct csum *cs;
 	struct csum_total cstotal;
 	struct inodesc idesc[3];
 	char buf[MAXBSIZE];
-	struct cg *cg, *newcg = (struct cg *)buf;
-	struct bufarea *cgbp;
+	struct cg *newcg = (struct cg *)buf;
 
 	inoinfo(WINO)->ino_state = USTATE;
 	memset(newcg, 0, (size_t)fs->fs_cgsize);
@@ -162,8 +162,7 @@ pass5(void)
 			    c * 100 / sblock.fs_ncg);
 			got_sigalarm = 0;
 		}
-		cgbp = cgget(c);
-		cg = cgbp->b_un.b_cg;
+		getblk(&cgblk, cgtod(fs, c), fs->fs_cgsize);
 		if (!cg_chkmagic(cg))
 			pfatal("CG %d: BAD MAGIC NUMBER\n", c);
 		newcg->cg_time = cg->cg_time;
@@ -325,14 +324,14 @@ pass5(void)
 		}
 		if (rewritecg) {
 			memmove(cg, newcg, (size_t)fs->fs_cgsize);
-			dirty(cgbp);
+			cgdirty();
 			continue;
 		}
 		if (cursnapshot == 0 &&
 		    memcmp(newcg, cg, basesize) != 0 &&
 		    dofix(&idesc[2], "SUMMARY INFORMATION BAD")) {
 			memmove(cg, newcg, (size_t)basesize);
-			dirty(cgbp);
+			cgdirty();
 		}
 		if (bkgrdflag != 0 || usedsoftdep || debug)
 			update_maps(cg, newcg, bkgrdflag);
@@ -341,7 +340,7 @@ pass5(void)
 		    dofix(&idesc[1], "BLK(S) MISSING IN BIT MAPS")) {
 			memmove(cg_inosused(cg), cg_inosused(newcg),
 			      (size_t)mapsize);
-			dirty(cgbp);
+			cgdirty();
 		}
 	}
 	if (cursnapshot == 0 &&

Modified: head/sbin/fsck_ffs/setup.c
==============================================================================
--- head/sbin/fsck_ffs/setup.c	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/setup.c	Sat Mar 23 04:26:13 2013	(r248634)
@@ -240,7 +240,7 @@ setup(char *dev)
 	 * read in the summary info.
 	 */
 	asked = 0;
-	sblock.fs_csp = Calloc(1, sblock.fs_cssize);
+	sblock.fs_csp = calloc(1, sblock.fs_cssize);
 	if (sblock.fs_csp == NULL) {
 		printf("cannot alloc %u bytes for cg summary info\n",
 		    (unsigned)sblock.fs_cssize);
@@ -265,13 +265,13 @@ setup(char *dev)
 	 * allocate and initialize the necessary maps
 	 */
 	bmapsize = roundup(howmany(maxfsblock, CHAR_BIT), sizeof(short));
-	blockmap = Calloc((unsigned)bmapsize, sizeof (char));
+	blockmap = calloc((unsigned)bmapsize, sizeof (char));
 	if (blockmap == NULL) {
 		printf("cannot alloc %u bytes for blockmap\n",
 		    (unsigned)bmapsize);
 		goto badsb;
 	}
-	inostathead = Calloc((unsigned)(sblock.fs_ncg),
+	inostathead = calloc((unsigned)(sblock.fs_ncg),
 	    sizeof(struct inostatlist));
 	if (inostathead == NULL) {
 		printf("cannot alloc %u bytes for inostathead\n",
@@ -282,9 +282,9 @@ setup(char *dev)
 	dirhash = numdirs;
 	inplast = 0;
 	listmax = numdirs + 10;
-	inpsort = (struct inoinfo **)Calloc((unsigned)listmax,
+	inpsort = (struct inoinfo **)calloc((unsigned)listmax,
 	    sizeof(struct inoinfo *));
-	inphead = (struct inoinfo **)Calloc((unsigned)numdirs,
+	inphead = (struct inoinfo **)calloc((unsigned)numdirs,
 	    sizeof(struct inoinfo *));
 	if (inpsort == NULL || inphead == NULL) {
 		printf("cannot alloc %ju bytes for inphead\n",
@@ -444,8 +444,8 @@ sblock_init(void)
 	lfdir = 0;
 	initbarea(&sblk, BT_SUPERBLK);
 	initbarea(&asblk, BT_SUPERBLK);
-	sblk.b_un.b_buf = Malloc(SBLOCKSIZE);
-	asblk.b_un.b_buf = Malloc(SBLOCKSIZE);
+	sblk.b_un.b_buf = malloc(SBLOCKSIZE);
+	asblk.b_un.b_buf = malloc(SBLOCKSIZE);
 	if (sblk.b_un.b_buf == NULL || asblk.b_un.b_buf == NULL)
 		errx(EEXIT, "cannot allocate space for superblock");
 	if ((lp = getdisklabel(NULL, fsreadfd)))

Modified: head/sbin/fsck_ffs/suj.c
==============================================================================
--- head/sbin/fsck_ffs/suj.c	Sat Mar 23 03:28:20 2013	(r248633)
+++ head/sbin/fsck_ffs/suj.c	Sat Mar 23 04:26:13 2013	(r248634)
@@ -161,7 +161,7 @@ errmalloc(size_t n)
 {
 	void *a;
 
-	a = Malloc(n);
+	a = malloc(n);
 	if (a == NULL)
 		err(EX_OSERR, "malloc(%zu)", n);
 	return (a);
@@ -194,7 +194,7 @@ opendisk(const char *devnam)
 {
 	if (disk != NULL)
 		return;
-	disk = Malloc(sizeof(*disk));
+	disk = malloc(sizeof(*disk));
 	if (disk == NULL)
 		err(EX_OSERR, "malloc(%zu)", sizeof(*disk));
 	if (ufs_disk_fillout(disk, devnam) == -1) {


More information about the svn-src-all mailing list