summaryrefslogtreecommitdiff
path: root/rust-src/mount/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust-src/mount/src/lib.rs')
-rw-r--r--rust-src/mount/src/lib.rs124
1 files changed, 62 insertions, 62 deletions
diff --git a/rust-src/mount/src/lib.rs b/rust-src/mount/src/lib.rs
index 554ed798..f2964561 100644
--- a/rust-src/mount/src/lib.rs
+++ b/rust-src/mount/src/lib.rs
@@ -3,99 +3,99 @@ use clap::Parser;
use uuid::Uuid;
pub mod err {
- pub enum GError {
- Unknown{
- message: std::borrow::Cow<'static, String>
- }
- }
- pub type GResult<T, E, OE> =::core::result::Result< ::core::result::Result<T, E>, OE>;
- pub type Result<T, E> = GResult<T, E, GError>;
+ pub enum GError {
+ Unknown {
+ message: std::borrow::Cow<'static, String>,
+ },
+ }
+ pub type GResult<T, E, OE> = ::core::result::Result<::core::result::Result<T, E>, OE>;
+ pub type Result<T, E> = GResult<T, E, GError>;
}
#[macro_export]
macro_rules! c_str {
- ($lit:expr) => {
- unsafe {
- std::ffi::CStr::from_ptr(concat!($lit, "\0").as_ptr() as *const std::os::raw::c_char)
- .to_bytes_with_nul()
- .as_ptr() as *const std::os::raw::c_char
- }
- };
+ ($lit:expr) => {
+ unsafe {
+ std::ffi::CStr::from_ptr(concat!($lit, "\0").as_ptr() as *const std::os::raw::c_char)
+ .to_bytes_with_nul()
+ .as_ptr() as *const std::os::raw::c_char
+ }
+ };
}
#[derive(Debug)]
struct ErrnoError(errno::Errno);
impl std::fmt::Display for ErrnoError {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
+ fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
+ self.0.fmt(f)
+ }
}
impl std::error::Error for ErrnoError {}
#[derive(Clone, Debug)]
pub enum KeyLocation {
- Fail,
- Wait,
- Ask,
+ Fail,
+ Wait,
+ Ask,
}
#[derive(Clone, Debug)]
pub struct KeyLoc(pub Option<KeyLocation>);
impl std::ops::Deref for KeyLoc {
- type Target = Option<KeyLocation>;
- fn deref(&self) -> &Self::Target {
- &self.0
- }
+ type Target = Option<KeyLocation>;
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
}
impl std::str::FromStr for KeyLoc {
- type Err = anyhow::Error;
- fn from_str(s: &str) -> anyhow::Result<Self> {
- // use anyhow::anyhow;
- match s {
- "" => Ok(KeyLoc(None)),
- "fail" => Ok(KeyLoc(Some(KeyLocation::Fail))),
- "wait" => Ok(KeyLoc(Some(KeyLocation::Wait))),
- "ask" => Ok(KeyLoc(Some(KeyLocation::Ask))),
- _ => Err(anyhow!("invalid password option")),
- }
- }
+ type Err = anyhow::Error;
+ fn from_str(s: &str) -> anyhow::Result<Self> {
+ // use anyhow::anyhow;
+ match s {
+ "" => Ok(KeyLoc(None)),
+ "fail" => Ok(KeyLoc(Some(KeyLocation::Fail))),
+ "wait" => Ok(KeyLoc(Some(KeyLocation::Wait))),
+ "ask" => Ok(KeyLoc(Some(KeyLocation::Ask))),
+ _ => Err(anyhow!("invalid password option")),
+ }
+ }
}
fn parse_fstab_uuid(uuid_raw: &str) -> Result<Uuid, uuid::Error> {
- let mut uuid = String::from(uuid_raw);
- if uuid.starts_with("UUID=") {
- uuid = uuid.replacen("UUID=", "", 1);
- }
- return Uuid::parse_str(&uuid);
+ let mut uuid = String::from(uuid_raw);
+ if uuid.starts_with("UUID=") {
+ uuid = uuid.replacen("UUID=", "", 1);
+ }
+ return Uuid::parse_str(&uuid);
}
/// Mount a bcachefs filesystem by its UUID.
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
pub struct Cli {
- /// Where the password would be loaded from.
- ///
- /// Possible values are:
- /// "fail" - don't ask for password, fail if filesystem is encrypted;
- /// "wait" - wait for password to become available before mounting;
- /// "ask" - prompt the user for password;
- #[arg(short, long, default_value = "", verbatim_doc_comment)]
- pub key_location: KeyLoc,
+ /// Where the password would be loaded from.
+ ///
+ /// Possible values are:
+ /// "fail" - don't ask for password, fail if filesystem is encrypted;
+ /// "wait" - wait for password to become available before mounting;
+ /// "ask" - prompt the user for password;
+ #[arg(short, long, default_value = "", verbatim_doc_comment)]
+ pub key_location: KeyLoc,
- /// External UUID of the bcachefs filesystem
- ///
- /// Accepts the UUID as is or as fstab style UUID=<UUID>
- #[arg(value_parser=parse_fstab_uuid)]
- pub uuid: uuid::Uuid,
+ /// External UUID of the bcachefs filesystem
+ ///
+ /// Accepts the UUID as is or as fstab style UUID=<UUID>
+ #[arg(value_parser=parse_fstab_uuid)]
+ pub uuid: uuid::Uuid,
- /// Where the filesystem should be mounted. If not set, then the filesystem
- /// won't actually be mounted. But all steps preceeding mounting the
- /// filesystem (e.g. asking for passphrase) will still be performed.
- pub mountpoint: Option<std::path::PathBuf>,
+ /// Where the filesystem should be mounted. If not set, then the filesystem
+ /// won't actually be mounted. But all steps preceeding mounting the
+ /// filesystem (e.g. asking for passphrase) will still be performed.
+ pub mountpoint: Option<std::path::PathBuf>,
- /// Mount options
- #[arg(short, default_value = "")]
- pub options: String,
+ /// Mount options
+ #[arg(short, default_value = "")]
+ pub options: String,
}
pub mod filesystem;
@@ -105,6 +105,6 @@ pub mod key;
#[test]
fn verify_cli() {
- use clap::CommandFactory;
- Cli::command().debug_assert()
+ use clap::CommandFactory;
+ Cli::command().debug_assert()
}