diff options
Diffstat (limited to 'rust-src')
-rw-r--r-- | rust-src/bch_bindgen/src/bkey.rs | 4 | ||||
-rw-r--r-- | rust-src/bch_bindgen/src/btree.rs | 15 | ||||
-rw-r--r-- | rust-src/bch_bindgen/src/libbcachefs_wrapper.h | 8 |
3 files changed, 14 insertions, 13 deletions
diff --git a/rust-src/bch_bindgen/src/bkey.rs b/rust-src/bch_bindgen/src/bkey.rs index 64697ea6..d4830839 100644 --- a/rust-src/bch_bindgen/src/bkey.rs +++ b/rust-src/bch_bindgen/src/bkey.rs @@ -47,6 +47,8 @@ pub enum BkeyValC<'a> { inode_v3(&'a c::bch_inode_v3), bucket_gens(&'a c::bch_bucket_gens), snapshot_tree(&'a c::bch_snapshot_tree), + logged_op_truncate(&'a c::bch_logged_op_truncate), + logged_op_finsert(&'a c::bch_logged_op_finsert), } impl<'a, 'b> BkeySC<'a> { @@ -96,6 +98,8 @@ impl<'a, 'b> BkeySC<'a> { KEY_TYPE_inode_v3 => inode_v3(unsafe { transmute(self.v) }), KEY_TYPE_bucket_gens => bucket_gens(unsafe { transmute(self.v) }), KEY_TYPE_snapshot_tree => snapshot_tree(unsafe { transmute(self.v) }), + KEY_TYPE_logged_op_truncate => logged_op_truncate(unsafe { transmute(self.v) }), + KEY_TYPE_logged_op_finsert => logged_op_finsert(unsafe { transmute(self.v) }), KEY_TYPE_MAX => unreachable!(), } } diff --git a/rust-src/bch_bindgen/src/btree.rs b/rust-src/bch_bindgen/src/btree.rs index 32b4e743..f738a466 100644 --- a/rust-src/bch_bindgen/src/btree.rs +++ b/rust-src/bch_bindgen/src/btree.rs @@ -11,24 +11,21 @@ use std::ptr; use bitflags::bitflags; pub struct BtreeTrans<'f> { - raw: c::btree_trans, + raw: *mut c::btree_trans, fs: PhantomData<&'f Fs> } impl<'f> BtreeTrans<'f> { pub fn new(fs: &'f Fs) -> BtreeTrans { unsafe { - let mut trans: MaybeUninit<c::btree_trans> = MaybeUninit::uninit(); - - c::__bch2_trans_init(&mut (*trans.as_mut_ptr()), fs.raw, 0); - BtreeTrans { raw: trans.assume_init(), fs: PhantomData } + BtreeTrans { raw: &mut *c::__bch2_trans_get(fs.raw, 0), fs: PhantomData } } } } impl<'f> Drop for BtreeTrans<'f> { fn drop(&mut self) { - unsafe { c::bch2_trans_exit(&mut self.raw) } + unsafe { c::bch2_trans_put(&mut *self.raw) } } } @@ -64,9 +61,9 @@ impl<'t> BtreeIter<'t> { let mut iter: MaybeUninit<c::btree_iter> = MaybeUninit::uninit(); c::bch2_trans_iter_init_outlined( - ptr::addr_of!(trans.raw).cast_mut(), + trans.raw, iter.as_mut_ptr(), - btree as u32, + btree, pos, flags.bits as u32); @@ -123,7 +120,7 @@ impl<'t> BtreeNodeIter<'t> { unsafe { let mut iter: MaybeUninit<c::btree_iter> = MaybeUninit::uninit(); c::bch2_trans_node_iter_init( - ptr::addr_of!(trans.raw).cast_mut(), + trans.raw, iter.as_mut_ptr(), btree, pos, diff --git a/rust-src/bch_bindgen/src/libbcachefs_wrapper.h b/rust-src/bch_bindgen/src/libbcachefs_wrapper.h index e7bcfcfb..e68de664 100644 --- a/rust-src/bch_bindgen/src/libbcachefs_wrapper.h +++ b/rust-src/bch_bindgen/src/libbcachefs_wrapper.h @@ -13,8 +13,8 @@ #include "../include/linux/blkdev.h" -#define MARK_FIX_753(req_name) const fmode_t Fix753_##req_name = req_name; +#define MARK_FIX_753(req_name) const blk_mode_t Fix753_##req_name = req_name; -MARK_FIX_753(FMODE_READ); -MARK_FIX_753(FMODE_WRITE); -MARK_FIX_753(FMODE_EXCL);
\ No newline at end of file +MARK_FIX_753(BLK_OPEN_READ); +MARK_FIX_753(BLK_OPEN_WRITE); +MARK_FIX_753(BLK_OPEN_EXCL); |