mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-12-10 00:00:24 +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> {
|
pub fn peek_max<'i>(&'i mut self, end: c::bpos) -> Result<Option<BkeySC<'i>>, bch_errcode> {
|
||||||
unsafe {
|
unsafe {
|
||||||
let k = c::bch2_btree_iter_peek_max(&mut self.raw, end);
|
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;
|
flags |= BtreeIterFlags::ALL_SNAPSHOTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut iter = BtreeIter::new(
|
let mut iter = BtreeIter::new_level(
|
||||||
&trans,
|
&trans,
|
||||||
opt.btree,
|
opt.btree,
|
||||||
opt.start,
|
opt.start,
|
||||||
|
opt.level,
|
||||||
flags,
|
flags,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user