summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-04-06 16:16:32 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-04-13 21:10:24 -0400
commit844721635c1c8e7e43fb546052a659bfc92ed99d (patch)
tree5007b56b87df050e6b5a05a3049826680705b0ed /src
parentad3875d1d9907bab0430c45ffa3b2dd39107106b (diff)
Update bcachefs sources to 2f9361370129 bcachefs: Improve opts.degraded
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'src')
-rw-r--r--src/commands/list.rs4
-rw-r--r--src/key.rs7
2 files changed, 5 insertions, 6 deletions
diff --git a/src/commands/list.rs b/src/commands/list.rs
index 757d6063..d9a1b460 100644
--- a/src/commands/list.rs
+++ b/src/commands/list.rs
@@ -7,6 +7,7 @@ use bch_bindgen::btree::BtreeNodeIter;
use bch_bindgen::btree::BtreeTrans;
use bch_bindgen::fs::Fs;
use bch_bindgen::opt_set;
+use bch_bindgen::c::bch_degraded_actions;
use clap::Parser;
use std::io::{stdout, IsTerminal};
@@ -167,8 +168,7 @@ fn cmd_list_inner(opt: &Cli) -> anyhow::Result<()> {
opt_set!(fs_opts, nochanges, 1);
opt_set!(fs_opts, read_only, 1);
opt_set!(fs_opts, norecovery, 1);
- opt_set!(fs_opts, degraded, 1);
- opt_set!(fs_opts, very_degraded, 1);
+ opt_set!(fs_opts, degraded, bch_degraded_actions::BCH_DEGRADED_very as u8);
opt_set!(
fs_opts,
errors,
diff --git a/src/key.rs b/src/key.rs
index 8cf4f124..1cf3a88a 100644
--- a/src/key.rs
+++ b/src/key.rs
@@ -12,7 +12,7 @@ use std::{
use anyhow::{anyhow, ensure, Result};
use bch_bindgen::{
bcachefs::{self, bch_key, bch_sb_handle},
- c::{bch2_chacha_encrypt_key, bch_encrypted_key, bch_sb_field_crypt},
+ c::{bch2_chacha20, bch_encrypted_key, bch_sb_field_crypt},
keyutils::{self, keyctl_search},
};
use log::{debug, info};
@@ -240,15 +240,14 @@ impl Passphrase {
let mut passphrase_key: bch_key = self.derive(crypt);
- let ret = unsafe {
- bch2_chacha_encrypt_key(
+ unsafe {
+ bch2_chacha20(
ptr::addr_of_mut!(passphrase_key),
sb.sb().nonce(),
ptr::addr_of_mut!(sb_key).cast(),
mem::size_of_val(&sb_key),
)
};
- ensure!(ret == 0, "error encrypting key");
ensure!(sb_key.magic == bch_key_magic, "incorrect passphrase");
Ok((passphrase_key, sb_key))