| Portability | portable |
|---|---|
| Stability | experimental |
| Maintainer | Nicola Squartini <tensor5@gmail.com> |
| Safe Haskell | Safe |
System.Linux.Mount
Contents
Description
linux-mount provides bindings to the Linux
mount() and
umount() syscalls. All
functions below may fail with if the
user does not have the required privileges.
isPermissionError
- mount :: String -> FilePath -> String -> [MountFlag] -> DriverData -> IO ()
- remount :: FilePath -> [MountFlag] -> DriverData -> IO ()
- data MountFlag
- = ReadOnly
- | NoSUID
- | NoDev
- | NoExec
- | Synchronous
- | MandLock
- | DirSync
- | NoATime
- | NoDirATime
- | Silent
- | PosixACL
- | RelATime
- | IVersion
- | StrictATime
- type DriverData = ByteString
- noData :: DriverData
- bind :: FilePath -> FilePath -> IO ()
- rBind :: FilePath -> FilePath -> IO ()
- rebind :: FilePath -> [MountFlag] -> IO ()
- makeShared :: FilePath -> IO ()
- makeRShared :: FilePath -> IO ()
- makeSlave :: FilePath -> IO ()
- makeRSlave :: FilePath -> IO ()
- makePrivate :: FilePath -> IO ()
- makeRPrivate :: FilePath -> IO ()
- makeUnbindable :: FilePath -> IO ()
- makeRUnbindable :: FilePath -> IO ()
- move :: FilePath -> FilePath -> IO ()
- umount :: FilePath -> IO ()
- umountWith :: UmountFlag -> SymLink -> FilePath -> IO ()
- data UmountFlag
- data SymLink
Mount a filesystem
Arguments
| :: String | Device file |
| -> FilePath | Mount point |
| -> String | Filesystem type |
| -> [MountFlag] | List of mount options |
| -> DriverData | Driver specific options |
| -> IO () |
Mount a filesystem (call to
mount()).
Arguments
| :: FilePath | Mount point |
| -> [MountFlag] | List of mount options |
| -> DriverData | Driver specific options |
| -> IO () |
Alter flags of a mounted filesystem (call to
mount() with
MS_REMOUNT).
Mount flags
A filesystem independent option to be used when mounting a filesystem.
Constructors
| ReadOnly | Mount read-only ( |
| NoSUID | Ignore suid and sgid bits ( |
| NoDev | Disallow access to device special files
( |
| NoExec | Disallow program execution ( |
| Synchronous | Writes are synced at once ( |
| MandLock | Allow mandatory locks on a filesystem
( |
| DirSync | Directory modifications are synchronous
( |
| NoATime | Do not update access times ( |
| NoDirATime | Do not update directory access times
( |
| Silent | Silent mount ( |
| PosixACL | VFS does not apply the umask ( |
| RelATime | Update atime relative to mtime/ctime
( |
| IVersion | Update inode I_version field
( |
| StrictATime | Always perform atime updates
( |
type DriverData = ByteStringSource
Filesystem dependent options to be used when mounting a filesystem; the
content of is passed directly to the filesystem driver.
DriverData
Empty .
DriverData
Bind a filesystem
Mount an already mounted filesystem under a new directory (call to
mount() with
MS_BIND).
Mount an already mounted filesystem and all its submounts under a new
directory (call to
mount() with MS_BIND
and MS_REC).
Alter flags of a bound filesystem (call to
mount() with
MS_REMOUNT and MS_BIND).
Change propagation flags
These functions change the propagation flag of an already mounted filesystem, as explained in https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt. They all take the mount point as argument.
makeShared :: FilePath -> IO ()Source
Set the MS_SHARED propagation flag on a mounted filesystem.
makeRShared :: FilePath -> IO ()Source
Set the MS_SHARED propagation flag on a mounted filesystem and
recursively on all submounts.
makeRSlave :: FilePath -> IO ()Source
Set the MS_SLAVE propagation flag on a mounted filesystem recursively on
all submounts.
makePrivate :: FilePath -> IO ()Source
Set the MS_PRIVATE propagation flag on a mounted filesystem.
makeRPrivate :: FilePath -> IO ()Source
Set the MS_PRIVATE propagation flag on a mounted filesystem and
recursively on all submounts.
makeUnbindable :: FilePath -> IO ()Source
Set the MS_UNBINDABLE propagation flag on a mounted filesystem.
makeRUnbindable :: FilePath -> IO ()Source
Set the MS_UNBINDABLE propagation flag on a mounted filesystem and
recursively on all submounts.
Move a filesystem
Atomically move a mounted filesystem to another mount point (call to
mount() with
MS_MOVE).
Unmount a filesystem
Arguments
| :: UmountFlag | Unmount option |
| -> SymLink | |
| -> FilePath | Mount point |
| -> IO () |
Unmount a filesystem using specific unmount options (call to
umount2()). See
for details.
UmountFlag
Unmount flags
data UmountFlag Source
A filesystem independent option to be used when unmounting a filesystem.
Constructors
| Plain | Plain unmount, behaves like |
| Force | Force unmount even if busy. |
| Detach | Perform a lazy unmount: make the mount point unavailable for new accesses, and actually perform the unmount when the mount point ceases to be busy. |
| Expire | Mark the mount point as expired. If a mount point
is not currently in use, then an initial call to
|
Instances