src/pxar/fuse.rs: move init and destroy into Session

This commit is contained in:
Dietmar Maurer 2019-11-26 11:08:55 +01:00
parent 970687c982
commit eedd1f95eb
1 changed files with 13 additions and 13 deletions

View File

@ -235,8 +235,8 @@ impl Session {
fn setup_callbacks() -> Operations { fn setup_callbacks() -> Operations {
// Register the callback functions for the session // Register the callback functions for the session
let mut oprs = Operations::default(); let mut oprs = Operations::default();
oprs.init = Some(init); oprs.init = Some(Self::init);
oprs.destroy = Some(destroy); oprs.destroy = Some(Self::destroy);
oprs.lookup = Some(Self::lookup); oprs.lookup = Some(Self::lookup);
oprs.getattr = Some(Self::getattr); oprs.getattr = Some(Self::getattr);
oprs.readlink = Some(Self::readlink); oprs.readlink = Some(Self::readlink);
@ -329,6 +329,17 @@ impl Session {
let _ = Box::into_raw(boxed_ctx); let _ = Box::into_raw(boxed_ctx);
} }
/// Callback functions for fuse kernel driver.
extern "C" fn init(_decoder: MutPtr) {
// Notting to do here for now
}
/// Cleanup the userdata created while creating the session, which is the `Context`
extern "C" fn destroy(ctx: MutPtr) {
// Get ownership of the `Context` and drop it when Box goes out of scope.
unsafe { Box::from_raw(ctx) };
}
/// Lookup `name` in the directory referenced by `parent` i-node. /// Lookup `name` in the directory referenced by `parent` i-node.
/// ///
/// Inserts also the child and parent file offset in the hashmap to quickly /// Inserts also the child and parent file offset in the hashmap to quickly
@ -553,17 +564,6 @@ fn calculate_inode(offset: u64, root_end: u64) -> u64 {
} }
} }
/// Callback functions for fuse kernel driver.
extern "C" fn init(_decoder: MutPtr) {
// Notting to do here for now
}
/// Cleanup the userdata created while creating the session, which is the `Context`
extern "C" fn destroy(ctx: MutPtr) {
// Get ownership of the `Context` and drop it when Box goes out of scope.
unsafe { Box::from_raw(ctx) };
}
/// FUSE entry for fuse_reply_entry in lookup callback /// FUSE entry for fuse_reply_entry in lookup callback
#[repr(C)] #[repr(C)]
struct EntryParam { struct EntryParam {