summaryrefslogtreecommitdiff
path: root/ufs-utils/mkfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'ufs-utils/mkfs.c')
-rw-r--r--ufs-utils/mkfs.c41
1 files changed, 36 insertions, 5 deletions
diff --git a/ufs-utils/mkfs.c b/ufs-utils/mkfs.c
index 7246505b..dd293fde 100644
--- a/ufs-utils/mkfs.c
+++ b/ufs-utils/mkfs.c
@@ -33,7 +33,7 @@
#ifndef lint
/*static char sccsid[] = "from: @(#)mkfs.c 8.3 (Berkeley) 2/3/94";*/
-static char *rcsid = "$Id: mkfs.c,v 1.6 1994/10/18 18:26:04 mib Exp $";
+static char *rcsid = "$Id: mkfs.c,v 1.7 1994/11/24 23:39:21 roland Exp $";
#endif /* not lint */
#include <unistd.h>
@@ -103,7 +103,9 @@ static char *rcsid = "$Id: mkfs.c,v 1.6 1994/10/18 18:26:04 mib Exp $";
* variables set up by front end.
*/
#define extern
+#ifdef MFS
extern int mfs; /* run as the memory based filesystem */
+#endif
extern int Nflag; /* run mkfs without writing file system */
extern int Oflag; /* format as an 4.3BSD file system */
extern int fssize; /* file system size */
@@ -204,7 +206,9 @@ main (int argc, char **argv)
exit (1);
}
+#ifdef MFS
mfs = 0;
+#endif
Oflag = 0;
fssize = st.st_size / DEV_BSIZE;
@@ -285,6 +289,7 @@ mkfs(pp, fsys, fi, fo)
#ifndef STANDALONE
time(&utime);
#endif
+#ifdef MFS
if (mfs) {
ppid = getpid();
(void) signal(SIGUSR1, started);
@@ -304,6 +309,7 @@ mkfs(pp, fsys, fi, fo)
if ((membase = malloc(fssize * sectorsize)) == 0)
exit(12);
}
+#endif
fsi = fi;
fso = fo;
if (Oflag) {
@@ -538,7 +544,7 @@ mkfs(pp, fsys, fi, fo)
}
sblock.fs_fpg = (sblock.fs_cpg * sblock.fs_spc) / NSPF(&sblock);
if ((sblock.fs_cpg * sblock.fs_spc) % NSPB(&sblock) != 0) {
- printf("panic (fs_cpg * fs_spc) % NSPF != 0");
+ printf("panic (fs_cpg * fs_spc) %% NSPF != 0");
exit(24);
}
if (sblock.fs_cpg < mincpg) {
@@ -677,7 +683,11 @@ next:
NSPF(&sblock);
warn = 0;
}
- if (warn && !mfs) {
+ if (warn
+#ifdef MFS
+ && !mfs
+#endif
+ ) {
printf("Warning: %d sector(s) in last cylinder unallocated\n",
sblock.fs_spc -
(fssize * NSPF(&sblock) - (sblock.fs_ncyl - 1)
@@ -713,7 +723,10 @@ next:
/*
* Dump out summary information about file system.
*/
- if (!mfs) {
+#ifdef MFS
+ if (!mfs)
+#endif
+ {
printf("%s:\t%d sectors in %d %s of %d tracks, %d sectors\n",
fsys, sblock.fs_size * NSPF(&sblock), sblock.fs_ncyl,
"cylinders", sblock.fs_ntrak, sblock.fs_nsect);
@@ -729,19 +742,29 @@ next:
* Now build the cylinders group blocks and
* then print out indices of cylinder groups.
*/
+#ifdef MFS
if (!mfs)
+#endif
printf("super-block backups (for fsck -b #) at:");
for (cylno = 0; cylno < sblock.fs_ncg; cylno++) {
initcg(cylno, utime);
+#ifdef MFS
if (mfs)
continue;
+#endif
if (cylno % 8 == 0)
printf("\n");
printf(" %d,", fsbtodb(&sblock, cgsblock(&sblock, cylno)));
}
+#ifdef MFS
if (!mfs)
+#endif
printf("\n");
- if (Nflag && !mfs)
+ if (Nflag
+#ifdef MFS
+ && !mfs
+#endif
+ )
exit(0);
/*
* Now construct the initial file system,
@@ -775,6 +798,7 @@ next:
* Notify parent process of success.
* Dissociate from session and tty.
*/
+#ifdef MFS
if (mfs) {
kill(ppid, SIGUSR1);
(void) setsid();
@@ -783,6 +807,7 @@ next:
(void) close(2);
(void) chdir("/");
}
+#endif
}
/*
@@ -1017,9 +1042,11 @@ fsinit(utime)
/*
* create the root directory
*/
+#ifdef MFS
if (mfs)
node.di_model = IFDIR | 01777;
else
+#endif
node.di_model = IFDIR | UMASK;
node.di_modeh = 0;
node.di_nlink = PREDEFDIR;
@@ -1239,10 +1266,12 @@ rdfs(bno, size, bf)
{
int n;
+#ifdef MFS
if (mfs) {
bcopy(membase + bno * sectorsize, bf, size);
return;
}
+#endif
if (lseek(fsi, (off_t)bno * sectorsize, 0) < 0) {
printf("seek error: %ld\n", bno);
perror("rdfs");
@@ -1266,10 +1295,12 @@ wtfs(bno, size, bf)
{
int n;
+#ifdef MFS
if (mfs) {
bcopy(bf, membase + bno * sectorsize, size);
return;
}
+#endif
if (Nflag)
return;
if (lseek(fso, (off_t)bno * sectorsize, SEEK_SET) < 0) {