projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add optional nbpi to specify "number of bytes per inode"
[unix-history]
/
usr
/
src
/
sbin
/
newfs
/
mkfs.c
diff --git
a/usr/src/sbin/newfs/mkfs.c
b/usr/src/sbin/newfs/mkfs.c
index
f0a30e6
..
3281f2a
100644
(file)
--- a/
usr/src/sbin/newfs/mkfs.c
+++ b/
usr/src/sbin/newfs/mkfs.c
@@
-1,9
+1,9
@@
-static char *sccsid = "@(#)mkfs.c 2.1
0
(Berkeley) %G%";
+static char *sccsid = "@(#)mkfs.c 2.1
1
(Berkeley) %G%";
/*
* make file system for cylinder-group style file systems
*
/*
* make file system for cylinder-group style file systems
*
- * usage: mkfs special size [ nsect ntrak bsize fsize cpg ]
+ * usage: mkfs special size [ nsect ntrak bsize fsize cpg
minfree rps nbpi
]
*/
/*
*/
/*
@@
-128,7
+128,7
@@
main(argc, argv)
argc--, argv++;
time(&utime);
if (argc < 2) {
argc--, argv++;
time(&utime);
if (argc < 2) {
- printf("usage: mkfs special size [ nsect ntrak bsize fsize cpg minfree rps ]\n");
+ printf("usage: mkfs special size [ nsect ntrak bsize fsize cpg minfree rps
nbpi
]\n");
exit(1);
}
fsys = argv[0];
exit(1);
}
fsys = argv[0];
@@
-387,9
+387,17
@@
next:
* Compute number of inode blocks per cylinder group.
* Start with one inode per NBPI bytes; adjust as necessary.
*/
* Compute number of inode blocks per cylinder group.
* Start with one inode per NBPI bytes; adjust as necessary.
*/
+ inos = MAX(NBPI, sblock.fs_fsize);
+ if (argc > 9) {
+ i = atoi(argv[9]);
+ if (i <= 0)
+ printf("%s: bogus nbpi reset to %d\n", argv[9], inos);
+ else
+ inos = i;
+ }
i = sblock.fs_iblkno + MAXIPG / INOPF(&sblock);
i = sblock.fs_iblkno + MAXIPG / INOPF(&sblock);
- inos = (fssize - sblock.fs_ncg * i) * sblock.fs_fsize /
-
MAX(NBPI, sblock.fs_fsize) /
INOPB(&sblock);
+ inos = (fssize - sblock.fs_ncg * i) * sblock.fs_fsize /
inos /
+ INOPB(&sblock);
if (inos <= 0)
inos = 1;
sblock.fs_ipg = ((inos / sblock.fs_ncg) + 1) * INOPB(&sblock);
if (inos <= 0)
inos = 1;
sblock.fs_ipg = ((inos / sblock.fs_ncg) + 1) * INOPB(&sblock);