mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-12-08 00:00:12 +03:00
cmd_list: support --level
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
c8b1bbf2ea
commit
c14c9c6ed9
@ -82,6 +82,33 @@ impl<'t> BtreeIter<'t> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new_level(
|
||||
trans: &'t BtreeTrans<'t>,
|
||||
btree: c::btree_id,
|
||||
pos: c::bpos,
|
||||
level: u32,
|
||||
flags: BtreeIterFlags,
|
||||
) -> BtreeIter<'t> {
|
||||
unsafe {
|
||||
let mut iter: MaybeUninit<c::btree_iter> = MaybeUninit::uninit();
|
||||
|
||||
c::__bch2_trans_node_iter_init(
|
||||
trans.raw,
|
||||
iter.as_mut_ptr(),
|
||||
btree,
|
||||
pos,
|
||||
0,
|
||||
level,
|
||||
c::btree_iter_update_trigger_flags(flags.bits)
|
||||
);
|
||||
|
||||
BtreeIter {
|
||||
raw: iter.assume_init(),
|
||||
trans: PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn peek_max<'i>(&'i mut self, end: c::bpos) -> Result<Option<BkeySC<'i>>, bch_errcode> {
|
||||
unsafe {
|
||||
let k = c::bch2_btree_iter_peek_max(&mut self.raw, end);
|
||||
|
||||
@ -22,10 +22,11 @@ fn list_keys(fs: &Fs, opt: &Cli) -> anyhow::Result<()> {
|
||||
flags |= BtreeIterFlags::ALL_SNAPSHOTS;
|
||||
}
|
||||
|
||||
let mut iter = BtreeIter::new(
|
||||
let mut iter = BtreeIter::new_level(
|
||||
&trans,
|
||||
opt.btree,
|
||||
opt.start,
|
||||
opt.level,
|
||||
flags,
|
||||
);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user