libzfs-0.1.0.0: Bindings to libzfs, for dealing with the Z File System and Zpools.

Safe HaskellSafe
LanguageHaskell2010

System.Zfs.Iter

Synopsis

Documentation

getRootCount :: Zfs z Int Source

Get number of root zfs

getChildrenCount :: Zdataset z -> Zfs z Int Source

Get number of child zfs

getZpoolCount :: Zfs z Int Source

Get the number of available Zpools. Less expensive than `length $ getZpools'.

getRoots :: Zfs z [Zdataset z] Source

Get all root file systems. Implemented using forRoots.

getChildren :: Zdataset z -> Zfs z [Zdataset z] Source

Get all zfs children . Implemented using forChildren.

getZpools :: Zfs z [Zpool z] Source

Get all available Zpools. Implemented using forZpools.

forRoots :: MonadIO m => (Zdataset z -> ZfsT z IO a) -> ZfsT z m [a] Source

Iterate over all root zfs

forChildren :: MonadIO m => Zdataset z -> (Zdataset z -> ZfsT z IO a) -> ZfsT z m [a] Source

Iterate over all children

forFilesystems :: MonadIO m => Zdataset z -> (Zdataset z -> ZfsT z IO a) -> ZfsT z m [a] Source

Iterate over all child filesystems

forSnapshots :: MonadIO m => Zdataset z -> (Zdataset z -> ZfsT z IO a) -> ZfsT z m [a] Source

Iterate over all child zfs

forZpools :: MonadIO m => (Zpool z -> ZfsT z IO a) -> ZfsT z m [a] Source

Run some function for all available Zpools and return the results as a list

forZpools_ :: MonadIO m => (Zpool z -> ZfsT z IO ()) -> ZfsT z m () Source

Run some function for all available Zpools without result. Less expensive than forZpools.

forVdevs :: MonadIO m => Zpool z -> (Vdev -> ZfsT z m a) -> ZfsT z m [a] Source

Iterate over all Vdevs in a pool