Date: Tue, 9 Mar 2010 19:31:08 +0000 (UTC) From: Maxim Sobolev <sobomax@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r204919 - head/sbin/newfs Message-ID: <201003091931.o29JV83g008354@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sobomax Date: Tue Mar 9 19:31:08 2010 New Revision: 204919 URL: http://svn.freebsd.org/changeset/base/204919 Log: o bdeficize expand_number_int() function; o revert most of the recent changes (int -> int64_t conversion) by using this functon for parsing all options. Modified: head/sbin/newfs/mkfs.c head/sbin/newfs/newfs.c head/sbin/newfs/newfs.h Modified: head/sbin/newfs/mkfs.c ============================================================================== --- head/sbin/newfs/mkfs.c Tue Mar 9 19:19:07 2010 (r204918) +++ head/sbin/newfs/mkfs.c Tue Mar 9 19:31:08 2010 (r204919) @@ -191,8 +191,8 @@ restart: exit(17); } if (sblock.fs_fsize < sectorsize) { - printf("increasing fragment size from %d to sector size (%jd)\n", - sblock.fs_fsize, (intmax_t)sectorsize); + printf("increasing fragment size from %d to sector size (%d)\n", + sblock.fs_fsize, sectorsize); sblock.fs_fsize = sectorsize; } if (sblock.fs_bsize > MAXBSIZE) { @@ -337,8 +337,8 @@ restart: } else if (density < minfragsperinode * fsize) { origdensity = density; density = minfragsperinode * fsize; - fprintf(stderr, "density increased from %d to %jd\n", - origdensity, (intmax_t)density); + fprintf(stderr, "density increased from %d to %d\n", + origdensity, density); } origdensity = density; for (;;) { @@ -346,9 +346,8 @@ restart: if (fragsperinode < minfragsperinode) { bsize <<= 1; fsize <<= 1; - printf("Block size too small for a file system %s %jd\n", - "of this size. Increasing blocksize to", - (intmax_t)bsize); + printf("Block size too small for a file system %s %d\n", + "of this size. Increasing blocksize to", bsize); goto restart; } minfpg = fragsperinode * INOPB(&sblock); @@ -372,8 +371,7 @@ restart: density -= sblock.fs_fsize; } if (density != origdensity) - printf("density reduced from %d to %jd\n", origdensity, - (intmax_t)density); + printf("density reduced from %d to %d\n", origdensity, density); /* * Start packing more blocks into the cylinder group until * it cannot grow any larger, the number of cylinder groups Modified: head/sbin/newfs/newfs.c ============================================================================== --- head/sbin/newfs/newfs.c Tue Mar 9 19:19:07 2010 (r204918) +++ head/sbin/newfs/newfs.c Tue Mar 9 19:31:08 2010 (r204919) @@ -94,17 +94,17 @@ int nflag; /* do not create .snap dire intmax_t fssize; /* file system size */ int sectorsize; /* bytes/sector */ int realsectorsize; /* bytes/sector in hardware */ -int64_t fsize = 0; /* fragment size */ -int64_t bsize = 0; /* block size */ -int64_t maxbsize = 0; /* maximum clustering */ -int64_t maxblkspercg = MAXBLKSPERCG; /* maximum blocks per cylinder group */ +int fsize = 0; /* fragment size */ +int bsize = 0; /* block size */ +int maxbsize = 0; /* maximum clustering */ +int maxblkspercg = MAXBLKSPERCG; /* maximum blocks per cylinder group */ int minfree = MINFREE; /* free space threshold */ int opt = DEFAULTOPT; /* optimization preference (space or time) */ -int64_t density; /* number of bytes per inode */ -int64_t maxcontig = 0; /* max contiguous blocks to allocate */ -int64_t maxbpg; /* maximum blocks per file in a cyl group */ -int64_t avgfilesize = AVFILESIZ;/* expected average file size */ -int64_t avgfilesperdir = AFPDIR;/* expected number of files per directory */ +int density; /* number of bytes per inode */ +int maxcontig = 0; /* max contiguous blocks to allocate */ +int maxbpg; /* maximum blocks per file in a cyl group */ +int avgfilesize = AVFILESIZ;/* expected average file size */ +int avgfilesperdir = AFPDIR;/* expected number of files per directory */ u_char *volumelabel = NULL; /* volume label for filesystem */ struct uufsd disk; /* libufs disk structure */ @@ -186,13 +186,13 @@ main(int argc, char *argv[]) Xflag++; break; case 'a': - rval = expand_number(optarg, &maxcontig); + rval = expand_number_int(optarg, &maxcontig); if (rval < 0 || maxcontig <= 0) errx(1, "%s: bad maximum contiguous blocks", optarg); break; case 'b': - rval = expand_number(optarg, &bsize); + rval = expand_number_int(optarg, &bsize); if (rval < 0) errx(1, "%s: bad block size", optarg); @@ -204,39 +204,39 @@ main(int argc, char *argv[]) optarg, MAXBSIZE); break; case 'c': - rval = expand_number(optarg, &maxblkspercg); + rval = expand_number_int(optarg, &maxblkspercg); if (rval < 0 || maxblkspercg <= 0) errx(1, "%s: bad blocks per cylinder group", optarg); break; case 'd': - rval = expand_number(optarg, &maxbsize); + rval = expand_number_int(optarg, &maxbsize); if (rval < 0 || maxbsize < MINBSIZE) errx(1, "%s: bad extent block size", optarg); break; case 'e': - rval = expand_number(optarg, &maxbpg); + rval = expand_number_int(optarg, &maxbpg); if (rval < 0 || maxbpg <= 0) errx(1, "%s: bad blocks per file in a cylinder group", optarg); break; case 'f': - rval = expand_number(optarg, &fsize); + rval = expand_number_int(optarg, &fsize); if (rval < 0 || fsize <= 0) errx(1, "%s: bad fragment size", optarg); break; case 'g': - rval = expand_number(optarg, &avgfilesize); + rval = expand_number_int(optarg, &avgfilesize); if (rval < 0 || avgfilesize <= 0) errx(1, "%s: bad average file size", optarg); break; case 'h': - rval = expand_number(optarg, &avgfilesperdir); + rval = expand_number_int(optarg, &avgfilesperdir); if (rval < 0 || avgfilesperdir <= 0) errx(1, "%s: bad average files per dir", optarg); break; case 'i': - rval = expand_number(optarg, &density); + rval = expand_number_int(optarg, &density); if (rval < 0 || density <= 0) errx(1, "%s: bad bytes per inode", optarg); break; @@ -505,9 +505,9 @@ expand_number_int(const char *buf, int * int rval; rval = expand_number(buf, &num64); - if (rval != 0) + if (rval < 0) return (rval); - if (num64 > INT_MAX) { + if (num64 > INT_MAX || num64 < INT_MIN) { errno = ERANGE; return (-1); } Modified: head/sbin/newfs/newfs.h ============================================================================== --- head/sbin/newfs/newfs.h Tue Mar 9 19:19:07 2010 (r204918) +++ head/sbin/newfs/newfs.h Tue Mar 9 19:31:08 2010 (r204919) @@ -88,17 +88,17 @@ extern int nflag; /* do not create .sna extern intmax_t fssize; /* file system size */ extern int sectorsize; /* bytes/sector */ extern int realsectorsize; /* bytes/sector in hardware*/ -extern int64_t fsize; /* fragment size */ -extern int64_t bsize; /* block size */ -extern int64_t maxbsize; /* maximum clustering */ -extern int64_t maxblkspercg; /* maximum blocks per cylinder group */ +extern int fsize; /* fragment size */ +extern int bsize; /* block size */ +extern int maxbsize; /* maximum clustering */ +extern int maxblkspercg; /* maximum blocks per cylinder group */ extern int minfree; /* free space threshold */ extern int opt; /* optimization preference (space or time) */ -extern int64_t density; /* number of bytes per inode */ -extern int64_t maxcontig; /* max contiguous blocks to allocate */ -extern int64_t maxbpg; /* maximum blocks per file in a cyl group */ -extern int64_t avgfilesize; /* expected average file size */ -extern int64_t avgfilesperdir; /* expected number of files per directory */ +extern int density; /* number of bytes per inode */ +extern int maxcontig; /* max contiguous blocks to allocate */ +extern int maxbpg; /* maximum blocks per file in a cyl group */ +extern int avgfilesize; /* expected average file size */ +extern int avgfilesperdir; /* expected number of files per directory */ extern u_char *volumelabel; /* volume label for filesystem */ extern struct uufsd disk; /* libufs disk structure */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003091931.o29JV83g008354>