LOFS(7FS) | File Systems | LOFS(7FS) |
lofs
—
#include <sys/param.h>
#include <sys/mount.h>
int
mount
(const char *dir,
const char *virtual, int mflag,
"lofs", NULL,
0);
virtual is the mount point for the virtual
file system. dir is the pathname of the existing file
system. mflag specifies the mount options; the
MS_DATA
bit in mflag must be
set. If the MS_RDONLY
bit in
mflag is not set, accesses to the loop back file
system are the same as for the underlying file system. Otherwise, all
accesses in the loopback file system will be read-only. All other
mount(2) options are inherited from the
underlying file systems.
A loopback mount of / onto /tmp/newroot allows the entire file system hierarchy to appear as if it were duplicated under /tmp/newroot, including any file systems mounted from remote NFS servers. All files would then be accessible either from a pathname relative to / or from a pathname relative to /tmp/newroot until such time as a file system is mounted in /tmp/newroot or any of its subdirectories.
Loopback mounts of / can be performed in conjunction with the chroot(2) system call, to provide a complete virtual file system to a process or family of processes.
Recursive traversal of loopback mount points is not allowed. After the loopback mount of /tmp/newroot, the file /tmp/newroot/tmp/newroot does not contain yet another file system hierarchy; rather, it appears just as /tmp/newroot did before the loopback mount was performed (for example, as an empty directory).
lofs
file systems are mounted using:
mount -F lofs /tmp /mnt
lofs
mounted file systems map
to their underlying file system. If a mount point is made available in
multiple locations via lofs
and is busy in any of
those locations, an attempt to mount a file system at that mount point fails
unless the overlay flag is specified. See
mount(1M). Examples of a mount point
being busy within a lofs
mount include having a file
system mounted on it or it being a processes' current working directory.
November 24, 2014 | OmniOS |