summaryrefslogtreecommitdiff
path: root/sbin/newfs/newfs.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2001-04-03 22:59:36 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2001-04-03 22:59:36 +0000
commitcd5d50237a86384b0f884e5b3e604ef25e789bb4 (patch)
tree50d9199ec817f45e790d5945400da3a28f8ac848 /sbin/newfs/newfs.c
parent73b28a4d96bbe9849062fa47d399216b8c6f66af (diff)
mount_mfs should not take the -U flag sync mfs is async and you cannot
have both aync and soft updates (not that it makes sense to have soft updates on mfs anyway). Also sync the usage in mount_mfs mode to the man page.
Diffstat (limited to 'sbin/newfs/newfs.c')
-rw-r--r--sbin/newfs/newfs.c72
1 files changed, 42 insertions, 30 deletions
diff --git a/sbin/newfs/newfs.c b/sbin/newfs/newfs.c
index 29560602d36..37a923ba764 100644
--- a/sbin/newfs/newfs.c
+++ b/sbin/newfs/newfs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: newfs.c,v 1.22 2000/04/30 05:07:46 bjc Exp $ */
+/* $OpenBSD: newfs.c,v 1.23 2001/04/03 22:59:35 millert Exp $ */
/* $NetBSD: newfs.c,v 1.20 1996/05/16 07:13:03 thorpej Exp $ */
/*
@@ -44,7 +44,7 @@ static char copyright[] =
#if 0
static char sccsid[] = "@(#)newfs.c 8.8 (Berkeley) 4/18/94";
#else
-static char rcsid[] = "$OpenBSD: newfs.c,v 1.22 2000/04/30 05:07:46 bjc Exp $";
+static char rcsid[] = "$OpenBSD: newfs.c,v 1.23 2001/04/03 22:59:35 millert Exp $";
#endif
#endif /* not lint */
@@ -218,7 +218,7 @@ main(argc, argv)
fatal("insane maxpartitions value %d", maxpartitions);
opstring = mfs ?
- "NT:Ua:b:c:d:e:f:i:m:o:s:" :
+ "NT:a:b:c:d:e:f:i:m:o:s:" :
"NOS:UT:a:b:c:d:e:f:i:k:l:m:n:o:p:qr:s:t:u:x:z:";
while ((ch = getopt(argc, argv, opstring)) != -1) {
switch (ch) {
@@ -713,8 +713,43 @@ fatal(fmt, va_alist)
/*NOTREACHED*/
}
+struct fsoptions {
+ char *str;
+ int mfs_too;
+} fsopts[] = {
+ { "-N do not create file system, just print out parameters", 1 },
+ { "-O create a 4.3BSD format filesystem", 0 },
+ { "-S sector size", 0 },
+#ifdef COMPAT
+ { "-T disktype", 0 },
+#endif
+ { "-U enable soft updates", 0 },
+ { "-a maximum contiguous blocks", 1 },
+ { "-b block size", 1 },
+ { "-c cylinders/group", 1 },
+ { "-d rotational delay between contiguous blocks", 1 },
+ { "-e maximum blocks per file in a cylinder group", 1 },
+ { "-f frag size", 1 },
+ { "-i number of bytes per inode", 1 },
+ { "-k sector 0 skew, per track", 0 },
+ { "-l hardware sector interleave", 0 },
+ { "-m minimum free space %%", 1 },
+ { "-n number of distinguished rotational positions", 0 },
+ { "-o optimization preference (`space' or `time')", 1 },
+ { "-p spare sectors per track", 0 },
+ { "-r revolutions/minute", 0 },
+ { "-s file system size (sectors)", 1 },
+ { "-t file system type", 0 },
+ { "-u sectors/track", 0 },
+ { "-x spare sectors per cylinder", 0 },
+ { "-z tracks/cylinder", 0 },
+ { NULL, NULL }
+};
+
usage()
{
+ struct fsoptions *fsopt;
+
if (mfs) {
fprintf(stderr,
"usage: %s [ -fsoptions ] special-device mount-point\n",
@@ -724,32 +759,9 @@ usage()
"usage: %s [ -fsoptions ] special-device\n", __progname);
}
fprintf(stderr, "where fsoptions are:\n");
- fprintf(stderr,
- "\t-N do not create file system, just print out parameters\n");
- fprintf(stderr, "\t-O create a 4.3BSD format filesystem\n");
- fprintf(stderr, "\t-S sector size\n");
-#ifdef COMPAT
- fprintf(stderr, "\t-T disktype\n");
-#endif
- fprintf(stderr, "\t-U enable soft updates\n");
- fprintf(stderr, "\t-a maximum contiguous blocks\n");
- fprintf(stderr, "\t-b block size\n");
- fprintf(stderr, "\t-c cylinders/group\n");
- fprintf(stderr, "\t-d rotational delay between contiguous blocks\n");
- fprintf(stderr, "\t-e maximum blocks per file in a cylinder group\n");
- fprintf(stderr, "\t-f frag size\n");
- fprintf(stderr, "\t-i number of bytes per inode\n");
- fprintf(stderr, "\t-k sector 0 skew, per track\n");
- fprintf(stderr, "\t-l hardware sector interleave\n");
- fprintf(stderr, "\t-m minimum free space %%\n");
- fprintf(stderr, "\t-n number of distinguished rotational positions\n");
- fprintf(stderr, "\t-o optimization preference (`space' or `time')\n");
- fprintf(stderr, "\t-p spare sectors per track\n");
- fprintf(stderr, "\t-r revolutions/minute\n");
- fprintf(stderr, "\t-s file system size (sectors)\n");
- fprintf(stderr, "\t-t file system type\n");
- fprintf(stderr, "\t-u sectors/track\n");
- fprintf(stderr, "\t-x spare sectors per cylinder\n");
- fprintf(stderr, "\t-z tracks/cylinder\n");
+ for (fsopt = fsopts; fsopt->str; fsopt++) {
+ if (!mfs || fsopt->mfs_too)
+ fprintf(stderr, "\t%s\n", fsopt->str);
+ }
exit(1);
}