The mount_msdos command attaches the MS-DOS file
system residing on the device special to the
global file system namespace at the location indicated by
node. This command is invoked by
mount(8) when using the syntax

mount
[options] -t msdos
specialnode

The special device must correspond to a
partition registered in the
disklabel(5).

This command is normally executed by
mount(8) at boot time, but can be
used by any user to mount an MS-DOS file system on any directory that they own
(provided, of course, that they have appropriate access to the device that
contains the file system).

Force listing and generation of Windows 95/98 long
filenames and separate creation/modification/access dates.

If neither -s nor
-l are given,
mount_msdos searches the root directory of
the file system to be mounted for any existing Windows 95/98 long
filenames. If no such entries are found, -s
is the default. Otherwise -l is assumed.

Force behaviour to ignore and not generate Windows 95/98
long filenames.

If neither -s nor
-l are given,
mount_msdos searches the root directory of
the file system to be mounted for any existing Windows 95/98 long
filenames. If no such entries are found, -s
is the default. Otherwise -l is assumed.

Set the owner of the files in the file system to
uid. The default owner is the owner of
the directory on which the file system is being mounted.

File permissions for FAT file systems are imitated, since the file system has no
real concept of permissions. The default mask is taken from the directory on
which the file system is being mounted, except when the
-m option is used. FAT does have a “read
only” mode, in which the writable bit is unset. If such files are
found, they are marked non-writable; it can be set using
chmod -w or unset using chmod
+w.

File modes work the same way for directories. However a directory will inherit
the executable bit if it is readable. See
chmod(1) for more information
about octal file modes.

The original code was written by Paul Popelka
<paulp@uts.amdahl.com>
as a patch to 386BSD-0.1 in November 1992. The current
version is based on code written by Christopher G.
Demetriou
<cgd@netbsd.org>
in April 1994.

The maximum file size supported by the MS-DOS file system is one byte less than
4GB. This is a FAT file system limitation, documented by Microsoft in
Knowledge Base article 314463.

The MS-DOS file system (even with long filenames) does not support filenames
with trailing dots or spaces. Any such characters will be silently removed
before the directory entry is written. This too is a FAT file system
limitation.

The use of the -9 flag could result in damaged file
systems, albeit the damage is in part taken care of by procedures similar to
the ones used in Windows 95/98.

The default handling for -s and
-l will result in empty file systems being
populated with short filenames only. To generate long filenames on empty DOS
file systems use -l.

Note that Windows 95/98 handles only access dates, but not access times.