fix: minor tweaks for key.rs

Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
This commit is contained in:
Thomas Mühlbacher 2024-05-31 02:28:25 +02:00
parent 31066e17e8
commit 781ea5d40f

View File

@ -1,5 +1,5 @@
use std::{ use std::{
ffi::{CStr, CString}, ffi::{c_long, CStr, CString},
fs, fs,
io::{stdin, IsTerminal}, io::{stdin, IsTerminal},
mem, mem,
@ -34,10 +34,7 @@ impl UnlockPolicy {
pub fn apply(&self, sb: &bch_sb_handle) -> Result<KeyHandle> { pub fn apply(&self, sb: &bch_sb_handle) -> Result<KeyHandle> {
let uuid = sb.sb().uuid(); let uuid = sb.sb().uuid();
info!( info!("Using filesystem unlock policy '{self}' on {uuid}");
"Attempting to unlock filesystem {} with unlock policy '{}'",
uuid, self
);
match self { match self {
Self::Fail => Err(anyhow!("no passphrase available")), Self::Fail => Err(anyhow!("no passphrase available")),
@ -57,12 +54,12 @@ impl Default for UnlockPolicy {
pub struct KeyHandle { pub struct KeyHandle {
// FIXME: Either these come in useful for something or we remove them // FIXME: Either these come in useful for something or we remove them
_uuid: Uuid, _uuid: Uuid,
_id: i64, _id: c_long,
} }
impl KeyHandle { impl KeyHandle {
pub fn format_key_name(uuid: &Uuid) -> CString { pub fn format_key_name(uuid: &Uuid) -> CString {
CString::new(format!("bcachefs:{}", uuid)).unwrap() CString::new(format!("bcachefs:{uuid}")).unwrap()
} }
pub fn new(sb: &bch_sb_handle, passphrase: &Passphrase) -> Result<Self> { pub fn new(sb: &bch_sb_handle, passphrase: &Passphrase) -> Result<Self> {
@ -106,7 +103,7 @@ impl KeyHandle {
info!("Found key in keyring"); info!("Found key in keyring");
Ok(KeyHandle { Ok(KeyHandle {
_uuid: sb.sb().uuid(), _uuid: sb.sb().uuid(),
_id: key_id as i64, _id: key_id as c_long,
}) })
} else { } else {
Err(anyhow!("failed to add key to keyring: {}", errno::errno())) Err(anyhow!("failed to add key to keyring: {}", errno::errno()))