tunefs(8) on Solnix vs Linux and the BSDs

On Solnix, tunefs is the illumos tunefs at /usr/sbin/tunefs. It changes UFS layout parameters and takes only -a, -d, -e, -m and -o. The BSDs reuse several of these letters, especially -a, -N, -l and -p, for unrelated features, so only -e, -m and -o are safe across systems.

What Solnix runs

A default Solnix system runs the illumos tunefs at /usr/sbin/tunefs. No other variants are shipped. The bundle has no Linux counterpart page, so no Linux comparison is made. When you name a filesystem instead of a special device, it must be listed in /etc/vfstab.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSD-a meaningSolnix -a maxcontig sets the maximum number of contiguously allocated blocks. FreeBSD and NetBSD -a takes enable|disable and toggles an ACL flag (FreeBSD: POSIX.1e, NetBSD: NFSv4). OpenBSD has no -a.
Source: Solnix tunefs(8) -a; FreeBSD tunefs(8) -a; NetBSD tunefs(8) -a; OpenBSD tunefs(8) SYNOPSIS
FreeBSD, OpenBSD, NetBSD-N meaningSolnix has no -N. On OpenBSD and NetBSD, -N displays all settable options without changing anything. On FreeBSD, -N enable|disable toggles the NFSv4 ACL flag, and a script using -N as a dry run would change the filesystem.
Source: Solnix tunefs(8) SYNOPSIS; OpenBSD tunefs(8) -N; NetBSD tunefs(8) -N; FreeBSD tunefs(8) -N
FreeBSD, NetBSD-p meaningSolnix has no -p. FreeBSD -p shows a summary of current tunable settings. NetBSD -p enable|disable toggles the POSIX.1e ACL flag. The Solnix page documents no way to display current settings.
Source: Solnix tunefs(8) SYNOPSIS; FreeBSD tunefs(8) -p; NetBSD tunefs(8) -p
FreeBSD, NetBSD-l meaningSolnix has no -l. FreeBSD -l enable|disable toggles the MAC multilabel flag. NetBSD -l logsize sets the size of the in-filesystem journaling log, and 0 removes it at the next mount.
Source: Solnix tunefs(8) SYNOPSIS; FreeBSD tunefs(8) -l; NetBSD tunefs(8) -l
FreeBSD, OpenBSD, NetBSDaverage file size and files per directorySolnix has no option for expected average file size or files per directory. OpenBSD and NetBSD use -g avgfilesize and -h avgfpdir. FreeBSD uses -f avgfilesize and -s avgfpdir.
Source: Solnix tunefs(8) SYNOPSIS; OpenBSD tunefs(8) -g, -h; NetBSD tunefs(8) -g, -h; FreeBSD tunefs(8) -f, -s
FreeBSD, OpenBSD, NetBSD-d rotdelaySolnix accepts -d rotdelay, but the value is obsolete since Solaris 10 and is always set to 0. None of the BSD synopses has -d.
Source: Solnix tunefs(8) -d; FreeBSD, OpenBSD and NetBSD tunefs(8) SYNOPSIS
FreeBSD, OpenBSD, NetBSDalternate superblocks and imagesSolnix has no -A or -F. On the BSDs, -A also updates the backup superblocks. OpenBSD and NetBSD warn that fsck(8) using a backup superblock loses changes made without -A. OpenBSD and NetBSD -F tunes a file system image.
Source: Solnix tunefs(8) SYNOPSIS; OpenBSD tunefs(8) -A, -F; NetBSD tunefs(8) -A, -F; FreeBSD tunefs(8) -A
FreeBSD, OpenBSD, NetBSD-m minfree defaults and baselineSolnix -m can be 0, and the page says up to a factor of three in throughput is lost against a 10% threshold. It gives no default. FreeBSD defaults to 8% and also compares with 10%. OpenBSD and NetBSD take the default from newfs(8) and compare with 5%.
Source: Solnix tunefs(8) -m; FreeBSD tunefs(8) -m; OpenBSD tunefs(8) -m; NetBSD tunefs(8) -m
FreeBSD, OpenBSD, NetBSD-o space|time default and guidanceSolnix -o documents a default of time, and says to optimize for time unless the file system is over 90% full. OpenBSD and NetBSD tie the choice to minfree: space below 5%. FreeBSD says the kernel normally changes the preference automatically.
Source: Solnix tunefs(8) -o; OpenBSD tunefs(8) -o; NetBSD tunefs(8) -o; FreeBSD tunefs(8) -o
FreeBSD, OpenBSD, NetBSDmounted file systemsFreeBSD says tunefs cannot be run on an active file system. OpenBSD and NetBSD BUGS say changes take effect only on unmounted file systems, and changing the root file system needs a reboot. The Solnix page says nothing about mounted file systems.
Source: FreeBSD tunefs(8) DESCRIPTION; OpenBSD tunefs(8) BUGS; NetBSD tunefs(8) BUGS; Solnix tunefs(8) DESCRIPTION
FreeBSD, NetBSDfeatures with no Solnix optionThe Solnix page has no equivalent of these BSD options. FreeBSD: soft updates (-n), soft updates journaling (-j), GEOM journaling (-J), volume label (-L), metadata space (-k). NetBSD: quotas (-q) and sector size (-S).
Source: FreeBSD tunefs(8) -n, -j, -J, -L, -k; NetBSD tunefs(8) -q, -S; Solnix tunefs(8) SYNOPSIS
FreeBSD, OpenBSD, NetBSDnaming the targetOn Solnix, a filesystem name must be listed in /etc/vfstab. The BSD pages accept special or filesystem (OpenBSD and NetBSD: filesys) and do not mention vfstab.
Source: Solnix tunefs(8) DESCRIPTION; FreeBSD tunefs(8) SYNOPSIS; OpenBSD tunefs(8) SYNOPSIS; NetBSD tunefs(8) SYNOPSIS

Standards

  • POSIX: tunefs is not a POSIX.1-2024 utility.
  • Solnix: The page points to attributes(7) and largefile(7) in SEE ALSO, but the bundle shows no ATTRIBUTES or interface stability section. USAGE refers to largefile(7) for behaviour with files of 2 Gbyte (2^31 bytes) or more.
  • OpenBSD: HISTORY: The tunefs command appeared in 4.2BSD.
  • NetBSD: HISTORY: The tunefs command appeared in 4.2BSD.

Writing portable scripts

  • Use only -e maxbpg, -m minfree and -o space|time. They are the only options present on Solnix, FreeBSD, OpenBSD and NetBSD with the same meaning.
  • Do not use -a, -l, -N or -p in portable scripts. Each means something different, or is missing, depending on the system.
  • Unmount the file system before running tunefs. The FreeBSD, OpenBSD and NetBSD pages require it or warn that changes will not take effect otherwise.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.