fsirand(8) on Solnix vs Linux and the BSDs

On Solnix, fsirand is the illumos command at /usr/sbin/fsirand. It takes only -p and one special device. The FreeBSD and OpenBSD versions also take -b and -f and accept several devices; the NetBSD version has -F and -x instead.

What Solnix runs

A default Solnix system runs the illumos fsirand at /usr/sbin/fsirand. No other variants are shipped. The page also installs a file system ID in the superblock.

Differences

Compared withTopicWhat differs
FreeBSD, OpenBSD-b and -f missingSolnix fsirand has only -p. FreeBSD and OpenBSD also have -b (use the default block size instead of the disklabel value) and -f (run even if the file system is not marked clean). The Solnix page documents neither.
Source: Solnix fsirand(8) SYNOPSIS, OPTIONS; FreeBSD fsirand(8) -b, -f; OpenBSD fsirand(8) -b, -f
NetBSD-F and -x missingNetBSD fsirand has -F (treat special as a file system image) and -x constant (XOR a constant into the random number). Solnix has neither.
Source: NetBSD fsirand(8) -F, -x; Solnix fsirand(8) OPTIONS
FreeBSD, OpenBSDnumber of devicesSolnix fsirand takes exactly one special. FreeBSD and OpenBSD synopses accept one or more special arguments, so a loop over devices in a script is needed on Solnix.
Source: Solnix fsirand(8) SYNOPSIS; FreeBSD fsirand(8) SYNOPSIS; OpenBSD fsirand(8) SYNOPSIS
FreeBSD, OpenBSDread-only mounted file systemsFreeBSD and OpenBSD allow fsirand on an unmounted checked file system or on one mounted read-only. Solnix says only an unmounted file system checked with fsck, with the single exception of the root file system in single-user mode.
Source: Solnix fsirand(8) DESCRIPTION; FreeBSD fsirand(8) DESCRIPTION; OpenBSD fsirand(8) DESCRIPTION
FreeBSD, OpenBSDroot file system rebootSolnix says the system must be re-booted immediately after running fsirand on the root file system in single-user mode. FreeBSD and OpenBSD specify the command reboot -n.
Source: Solnix fsirand(8) DESCRIPTION; FreeBSD fsirand(8) DESCRIPTION; OpenBSD fsirand(8) DESCRIPTION
FreeBSD, OpenBSD, NetBSDnewfs already randomizesThe FreeBSD and OpenBSD pages say newfs(8) already does the equivalent, so running fsirand on a new file system is unnecessary. NetBSD says newfs has done so since NetBSD 2.0 and calls fsirand no longer relevant. The Solnix page does not say this.
Source: FreeBSD fsirand(8) DESCRIPTION; OpenBSD fsirand(8) DESCRIPTION; NetBSD fsirand(8) DESCRIPTION; Solnix fsirand(8) DESCRIPTION
NetBSDexit status and SIGINFONetBSD documents exit zero on success and non-zero on failure, and SIGINFO progress statistics on standard error. The Solnix page documents neither.
Source: NetBSD fsirand(8) (exit status, SIGINFO paragraphs); Solnix fsirand(8)
FreeBSD, OpenBSDmemory useFreeBSD and OpenBSD warn that fsirand may use a lot of memory on large disks with few cylinder groups. The Solnix page has no such caveat and instead points to largefile(7) for files of 2 Gbyte or more.
Source: FreeBSD fsirand(8) CAVEATS; OpenBSD fsirand(8) CAVEATS; Solnix fsirand(8) USAGE
Linuxno Linux counterpartThe bundle includes no Linux page for fsirand, so nothing is stated about Linux.
Source: Bundle header (counterparts: freebsd, openbsd, netbsd only)

Standards

Writing portable scripts

  • Use only fsirand -p special and one device per call if the script must run on Solnix and the BSDs; -b, -f, -F and -x exist on only some of them.

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.