The root filesystem is mounted by the kernel during system startup. Each filesystem can be mounted on any directory in the root filesystem, except /. A mount point is simply a directory. When a filesystem is mounted on that directory, the previous contents of the directory are hidden for the duration of the mount, as shown in Figure 5.1.
In order to mount a filesystem, the filesystem type, the device (slice or logical volume), and the mount point must be passed to the mount command. In the example below, a VxFS filesystem is mounted on /mnt1. Running the mount command by itself shows all the filesystems that are currently mounted, along with their mount options:
# mount -F vxfs /dev/vx/dsk/vol1 /mntl # mount | grep mnt1 /mnt1 on /dev/vx/dsk/vol1 read/write/setuid/delaylog/ nolargefiles/ioerror=mwdisable/dev=1580006 on Tue Jul 3 09:40:27 2002
Note that the mount shows default mount options as well as options that were explicitly requested. On Linux, the -t option is used to specify the filesystem type so the command would be invoked with mount -t vxfs.
As with mkfs, the mount command is a switchout command. The generic mount runs first and locates the filesystem-specific command to run, as the following output shows. Note the use of the access() system call. There are a number of well-known locations for which the filesystem-dependent mount command can be located.
1379: execve(“/usr/sbin/mount”, 0xFFBEFD8C, 0xFFBEFDA4) argc = 5 … 1379: access(“/usr/lib/fs/vxfs/mount”, ...