aboutsummaryrefslogtreecommitdiffstats
path: root/zoned/src/state.rs
blob: 68ab0a64eb395e41fb2f63b78b9399e29dd92044 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use zone_nspawn::NSpawn;
use zone_zfs::ZFS;

use crate::{Config, Error, Result};

pub struct State {
    pub zfs: ZFS,
    pub nspawn: NSpawn,
}

impl TryFrom<Config> for State {
    type Error = Error;

    fn try_from(config: Config) -> Result<Self> {
        Ok(State {
            zfs: zone_zfs::ZFS::custom(&config.zfs)?,
            nspawn: zone_nspawn::NSpawn::custom(&config.nspawn)?,
        })
    }
}