libfuse_fs/unionfs/
config.rs1use self::super::CachePolicy;
6use std::{fmt, path::PathBuf};
7
8#[derive(Default, Clone, Debug)]
9pub struct Config {
10 pub mountpoint: PathBuf,
11 pub do_import: bool,
12 pub writeback: bool,
14 pub no_open: bool,
15 pub no_opendir: bool,
16 pub killpriv_v2: bool,
17 pub no_readdir: bool,
18 pub perfile_dax: bool,
19 pub cache_policy: CachePolicy,
20}
21
22impl Clone for CachePolicy {
23 fn clone(&self) -> Self {
24 match *self {
25 CachePolicy::Never => CachePolicy::Never,
26 CachePolicy::Always => CachePolicy::Always,
27 CachePolicy::Auto => CachePolicy::Auto,
28 }
29 }
30}
31
32impl fmt::Debug for CachePolicy {
33 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
34 let policy = match *self {
35 CachePolicy::Never => "Never",
36 CachePolicy::Always => "Always",
37 CachePolicy::Auto => "Auto",
38 };
39
40 write!(f, "CachePolicy: {policy}")
41 }
42}