summaryrefslogtreecommitdiffstats
path: root/sbin/newlfs/newfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/newlfs/newfs.c')
-rw-r--r--sbin/newlfs/newfs.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sbin/newlfs/newfs.c b/sbin/newlfs/newfs.c
index 25ac7f0..2f7c11f 100644
--- a/sbin/newlfs/newfs.c
+++ b/sbin/newlfs/newfs.c
@@ -312,6 +312,23 @@ main(argc, argv)
pp = &lp->d_partitions[*cp - 'a'];
if (pp->p_size == 0)
fatal("%s: `%c' partition is unavailable", argv[0], *cp);
+ if (fsize == 0) {
+ fsize = pp->p_fsize;
+ if (fsize <= 0)
+ fsize = MAX(DFL_FRAGSIZE, lp->d_secsize);
+ }
+
+ if (bsize == 0) {
+ bsize = pp->p_frag * fsize;
+ if (bsize <= 0)
+ bsize = MIN(DFL_LFSBLOCK, 8 * fsize);
+ }
+
+ if (segsize == 0) {
+ segsize = pp->p_cpg * bsize;
+ if (segsize <= 0)
+ segsize = DFL_LFSSEG;
+ }
/* If we're making a LFS, we break out here */
exit(make_lfs(fso, lp, pp, minfree, bsize, segsize));
OpenPOWER on IntegriCloud