#[cfg(target_os = "linux")]
pub mod linux {
pub const DEFAULT_MOUNT_OPTIONS: &[&str] = &[
"category.create=mfs",
"moveonenospc=true",
"dropcacheonclose=true",
"fsname=thoughts",
];
pub const PROC_MOUNTS: &str = "/proc/mounts";
pub const PROC_MOUNTINFO: &str = "/proc/self/mountinfo";
pub const MERGERFS_FSTYPE: &str = "fuse.mergerfs";
}
#[cfg(target_os = "macos")]
pub mod macos {
pub const DEFAULT_VOLUME_NAME: &str = "Thoughts";
pub const DEFAULT_MOUNT_OPTIONS: &[&str] = &[
"volname=Thoughts",
"local",
"cow",
"hide_meta_files",
"use_ino",
"max_files=32768",
];
pub const FUSE_T_FS_PATH: &str = "/Library/Filesystems/fuse-t.fs";
pub const UNIONFS_BINARIES: &[&str] = &["unionfs-fuse", "unionfs"];
pub const MOUNT_CMD: &str = "mount";
pub const DISKUTIL_CMD: &str = "diskutil";
}
pub mod common {
use std::time::Duration;
pub const MOUNT_POINT_PERMISSIONS: u32 = 0o755;
pub const MOUNT_TIMEOUT: Duration = Duration::from_secs(30);
pub const UNMOUNT_TIMEOUT: Duration = Duration::from_secs(10);
pub const MAX_MOUNT_RETRIES: u32 = 3;
pub const MOUNT_RETRY_DELAY: Duration = Duration::from_millis(500);
pub const MOUNT_VERIFY_TIMEOUT: Duration = Duration::from_secs(3);
}