QNX 4 compatible filesystem support


driver ... qnx4 qnx4_options... &

Runs on:

QNX Neutrino


Where driver is any of the devb-* drivers, and qnx4_options is one or more of the following, separated by commas:

When to pre-read the .bitmap file. Scanning the bitmap is required to return the count of free blocks. It also allows for improved write() performance by creating an in-memory summary of where free blocks might be located within the filesystem.

The value must be one of the following:

  • always — calculate/store .bitmap details for all media.
  • lazy — don't read the bitmap for non-removable media at mount time, but when it's first needed (e.g., by a statvfs() call or df). This can help speed up system boot times (since on a large disk, the .bitmap files may be several megabytes in length, and if read right away, can interfere with the starting of other processes on an embedded system).
  • nonrmv (the default) — act as always for nonremovable media, and lazy for removable media
Allow persistent over-grown files; don't truncate them when they're closed. Certain file-write access patterns (e.g., O_APPEND) are detected, and the file isn't shrunk back at the last close. This is useful for log files that you keep appending to, and so on.
Never embed inode details; always place in fixed-size .inodes.
Enable a more aggressive file-extent over-allocation heuristic.
Attempt to repair any file marked as "busy" on the filesystem (i.e., a file that was being grown or shrunk when the system was improperly shut down). The default action is to return EBADFSYS to any attempt to open such a file; this option will instead truncate the file to its last-known valid size, unset the "busy" indicator, and allow access. This truncation may result in lost data and unused blocks marked as used in the bitmap, so run chkfsys later to ensure full filesystem consistency.

In addition, you can specify any of the filesystem options described for io-blk.so.


The fs-qnx4.so shared object provides support for QNX 4 filesystems. It's automatically loaded by the devb-* drivers when mounting a QNX 4 filesystem.

Note: The maximum numeric group or user ID on a QNX 4 filesystem is 65534.

Summary of filesystem commands

The following table shows the shared objects and related commands for the filesystems:

Partition type Filesystem Shared object Initialize with: Check with:
1, 4, or 6 DOS fs-dos.so mkdosfs chkdosfs
7 Windows NTa fs-nt.so N/A N/A
11, 12, or 14 FAT32 fs-dos.so mkdosfs chkdosfs
77, 78, or 79 QNX 4 fs-qnx4.so dinit chkfsys
131 Linux (Ext2) fs-ext2.so N/A N/A
175 Apple Macintosh HFS or HFS Plusa fs-mac.so N/A N/A
177, 178, or 179 Power-Safe fs-qnx6.so mkqnx6fs chkqnx6fsb
  Read-only compressed (RCFS) fs-rcfs.so mkrcfs N/A

a Read-only.

b Not usually necessary.

For more information, see the Filesystems chapter of the System Architecture guide.


To enable support for long filenames (more than 48 characters) on an existing QNX 4 compatible filesystem, login as root and create an empty, read-only file named .longfilenames in the root directory of that filesystem.

To enable support for long filenames on a new QNX 4 filesystem, use the -N option to dinit.