At n2k16 David Vasek pointed out that FFS partitions on 4K disks are
authorkrw <krw@openbsd.org>
Sat, 23 Jul 2016 09:12:33 +0000 (09:12 +0000)
committerkrw <krw@openbsd.org>
Sat, 23 Jul 2016 09:12:33 +0000 (09:12 +0000)
created with far fewer inodes than DEV_BSIZE devices.

Scale the default 'density' value by (sector size)/DEV_BSIZE to
create the same number of inodes. Obviously a NO-OP on DEV_BSIZE
devices.

Thanks David!

ok deraadt@

sbin/newfs/newfs.c

index e0bc0c9..69f480d 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: newfs.c,v 1.106 2016/05/31 16:41:08 deraadt Exp $     */
+/*     $OpenBSD: newfs.c,v 1.107 2016/07/23 09:12:33 krw Exp $ */
 /*     $NetBSD: newfs.c,v 1.20 1996/05/16 07:13:03 thorpej Exp $       */
 
 /*
@@ -482,7 +482,7 @@ havelabel:
                        bsize = MINIMUM(DFL_BLKSIZE, 8 * fsize);
        }
        if (density == 0)
-               density = NFPI * fsize;
+               density = (NFPI * fsize) / (sectorsize / DEV_BSIZE);
        if (minfree < MINFREE && opt != FS_OPTSPACE && reqopt == -1) {
                warnx("warning: changing optimization to space "
                    "because minfree is less than %d%%\n", MINFREE);