fs-dos.so

DOS filesystem (QNX Neutrino)

Syntax:

driver ... dos dos_options ... &

Runs on:

Neutrino

Options:

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

case
Use case-sensitive filename matching (forces long filenames). DOS/FAT is normally a case-preserving, case-insensitive filesystem.
codepage=mapping
Install a DOS codepage for mapping of locale 8.3 filenames. These names are used only when the corresponding (Unicode) long filename is absent (created pre-Win95) or has been disabled (using lfn=ignore) or for the volume label; specification of the appropriate locale will also allow portability of filenames created by fs-dos.so to older versions of DOS. Use the "chcp" native command on a DOS system to determine its active codepage. Supported values for mapping are: cp437, cp850, cp852, cp866, cp1250, cp1251, and cp1252.
compat=mode
Set DOS/Windows compatibility mode. Certain versions of DOS implement minor individual peculiarities of the FAT on-disk format, although this is unlikely to affect any normal or typical filesystem client usage. Supported values for mode are: dos, os2, win95, win98, win2k, and auto (the default).
exe=exec_mode
Specify how to handle the POSIX x-bit for executables; exec_mode can be one of:
all
Make all files executable.
none
Make no files executable.
system
Use the DOS "system" attribute to indicate which files are executable.
auto
Make files ending in .exe, .bat, and .com executable.

The default is auto.

fat=lazy|nonrmv|always
Set pre-reading of the FAT. Scanning the FAT 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 — always read the entire FAT at mount time
  • lazy — read the FAT only when required (statvfs() query)
  • nonrmv — act as always for nonremovable media, and lazy for removable media

The default is nonrmv.

fsi=mode
Set the handling of the FAT32/FSI record (this contains a count of free clusters plus a hint at the next free cluster). The mode is one of:
  • ignore — ignore the record.
  • lazy — update the record only when unmounting.
  • update — update it whenever the FAT is modified.
  • use — update it and use it (normally the free block count is calculated at mounting).

The default is lazy.

gid=group
Set the owning group of all files to group. The default is 0 (root).
hidden=hidden_mode
Specify what to do with files that have the DOS "hidden" attribute; hidden_mode can be one of:
ignore
The hidden files are ignored; the files don't appear in the filesystem.
show
The hidden files appear in the filesystem as normal files.
dot
The hidden files appear in the filesystem with a dot (.) prefixed to their names. Files created with a leading dot have the DOS "hidden" attribute set.

The default is show.

lfn=lfn_mode
Specify what to do with long filenames:
ignore
Ignore long filenames. Only 8.3 filenames are displayed or created.
show
Show long filenames. Long filenames are created if the filename is longer than 8.3 or if mixed case is used.
always
Always create both short and long filenames.

The default is show.

lnk=lnk_mode
Set the handling of Windows shortcut files. The options are:
ignore
Place no special meaning on these files (the default).
all
Turn all shortcut files into symbolic links pointing to their shortcut targets.
local
Turn into symbolic links only those shortcut files that point to targets within this filesystem.
notrunc
Enforce short (8.3) filenames. This option is valid only with lfn=ignore. By default, filename components beyond the 8.3 limit are silently ignored. For example, LONGFILENAME.TXT becomes LONGFILE.TXT.
posix=posix_mode
Set POSIX check and emulation modes; posix_mode can be one of the following:
none
Disable POSIX checks and emulation.
  • There are no . and .. entries in the root directory.
  • The link count of every directory is always 2.
emulate
Provide the following features beyond those provided by FAT:
  • Create the . and .. entries in the root directory.
  • Calculate directory size.
  • Calculate the number of links per directory, based on the subdirectories.
  • Ignore modification attempts that cannot be stored on disk or recreated by emulation, but don't raise errors.
strict
Set stricter POSIX checks. Provide the same features listed under emulate mode, but flag as errors modification attempts that cannot be stored on disk or recreated by emulation. E.g. an error of EINVAL is flagged for attempts to do any of the following:
  • Set the userid or group ID to something other than the default.
  • Remove an r permission.
  • Set an s permission.
  • Set a file modification or access time to pre-1980.

The default is emulate.

sfn=mode
Set the display of 8.3 filenames; mode is one of:
  • lower — always user lowercase (file.c).
  • upper — always use uppercase (FILE.C).
  • windows — emulate WindowsNT and use all lowercase or all uppercase according to the attributes of each filename (e.g. file.c or FILE.C).

The default is lower.

uid=user
Set the owner of all files to user. The default is 0 (root).
umask=mask
Apply this permission mask to all files. The default is 0 (all permissions).
vollabel=vollabel_mode
Specify what to do with the DOS volume name; vollabel_mode can be one of:
ignore
The volume label isn't displayed.
show
The volume label is displayed as a name-special file.
equals
The volume label is displayed as a name-special file with an = prefixed to its name.

The default is equals.

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

Description:

The fs-dos.so shared object lets you mount DOS filesystems (FAT12, FAT16, and FAT32) under QNX Neutrino.

The fs-dos.so shared object is automatically loaded by the devb-* drivers when mounting a DOS FAT filesystem.

Note: This filesystem uses UTF-8 encoding for presentation of its filenames; attempts to specify a filename not using UTF-8 encoding will fail (with an error of EILSEQ).

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

a Read-only.

b Not usually necessary.

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