summaryrefslogtreecommitdiff
path: root/src/fuse/session.rs
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2021-12-24 04:58:51 -0600
committerAlejandro Soto <alejandro@34project.org>2021-12-24 05:07:23 -0600
commit311b2a40213aa48131a189f99dc4258d354c0c78 (patch)
tree3f4fd971a7b94d07f11a8c878e0bc665bdf61f67 /src/fuse/session.rs
parent5afc15edaa593bdf7dd2ae7c542980d9d70b8321 (diff)
Fix old warnings
Diffstat (limited to '')
-rw-r--r--src/fuse/session.rs52
1 files changed, 20 insertions, 32 deletions
diff --git a/src/fuse/session.rs b/src/fuse/session.rs
index 4a34aae..8975c57 100644
--- a/src/fuse/session.rs
+++ b/src/fuse/session.rs
@@ -35,14 +35,6 @@ pub fn ok<Fs: Fuse>(session: &Session<Fs>, unique: u64, output: OutputChain<'_>)
session.send(unique, 0, output)
}
-pub fn notify<Fs: Fuse>(
- session: &Session<Fs>,
- op: proto::NotifyCode,
- output: OutputChain<'_>,
-) -> FuseResult<()> {
- session.send(0, op as i32, output)
-}
-
pub fn fail<Fs: Fuse>(session: &Session<Fs>, unique: u64, mut errno: i32) -> FuseResult<()> {
if errno <= 0 {
log::warn!(
@@ -164,7 +156,7 @@ impl<Fs: Fuse> Session<Fs> {
Ordering::Greater => {
let tail = [bytes_of(&proto::MAJOR_VERSION)];
- ok(&self, unique, OutputChain::tail(&tail))?;
+ ok(self, unique, OutputChain::tail(&tail))?;
return Ok(Handshake::Restart);
}
@@ -183,14 +175,14 @@ impl<Fs: Fuse> Session<Fs> {
major = proto::MAJOR_VERSION
);
- fail(&self, unique, Errno::EPROTONOSUPPORT as i32)?;
+ fail(self, unique, Errno::EPROTONOSUPPORT as i32)?;
return Err(ProtocolInit);
}
let root = {
let mut init_result = Err(0);
let reply = Reply {
- session: &self,
+ session: self,
unique,
tail: &mut init_result,
};
@@ -232,12 +224,12 @@ impl<Fs: Fuse> Session<Fs> {
};
let tail = [bytes_of(&init_out)];
- ok(&self, unique, OutputChain::tail(&tail))?;
+ ok(self, unique, OutputChain::tail(&tail))?;
Ok(Handshake::Done)
}
- async fn dispatch(self: &Arc<Self>, request: &mut Incoming<Fs>) -> FuseResult<()> {
+ async fn dispatch(self: &Arc<Self>, request: &mut Incoming) -> FuseResult<()> {
let request: proto::Request<'_> = request.buffer.data().try_into()?;
let header = request.header();
let InHeader { unique, ino, .. } = *header;
@@ -281,7 +273,7 @@ impl<Fs: Fuse> Session<Fs> {
Interrupt(body) => {
//TODO: Don't reply with EAGAIN if the interrupt is successful
let _ = self.interrupt_tx.send(body.unique);
- return fail(&self, unique, Errno::EAGAIN as i32);
+ return fail(self, unique, Errno::EAGAIN as i32);
}
Destroy => {
@@ -313,7 +305,7 @@ impl<Fs: Fuse> Session<Fs> {
ino
);
- return fail(&self, unique, Errno::ENOANO as i32);
+ return fail(self, unique, Errno::ENOANO as i32);
}
};
@@ -331,7 +323,7 @@ impl<Fs: Fuse> Session<Fs> {
attr: attrs,
};
- return ok(&self, unique, OutputChain::tail(&[bytes_of(&out)]));
+ return ok(self, unique, OutputChain::tail(&[bytes_of(&out)]));
}
Access(body) => {
@@ -363,7 +355,7 @@ impl<Fs: Fuse> Session<Fs> {
Opendir(body) => inode_op!(opendir, *body),
Readdir(body) => inode_op!(readdir, *body),
- _ => return fail(&self, unique, Errno::ENOSYS as i32),
+ _ => return fail(self, unique, Errno::ENOSYS as i32),
};
done.into_result()
@@ -398,7 +390,7 @@ impl<Fs: Fuse> Session<Fs> {
}
}
- async fn receive(self: &Arc<Self>) -> std::io::Result<Incoming<Fs>> {
+ async fn receive(self: &Arc<Self>) -> std::io::Result<Incoming> {
use InputBufferStorage::*;
let permit = Arc::clone(&self.input_semaphore)
@@ -407,7 +399,6 @@ impl<Fs: Fuse> Session<Fs> {
.unwrap();
let mut incoming = Incoming {
- session: Arc::clone(self),
buffer: InputBuffer {
bytes: 0,
data: Sbo(SboStorage([0; SBO_SIZE])),
@@ -452,17 +443,15 @@ impl<Fs: Fuse> Session<Fs> {
}
fn send(&self, unique: u64, error: i32, output: OutputChain<'_>) -> FuseResult<()> {
- let length = std::mem::size_of::<proto::OutHeader>();
- let length = length
- + output
- .iter()
- .map(<[_]>::iter)
- .flatten()
- .copied()
- .map(<[_]>::len)
- .sum::<usize>();
-
- let length = length.try_into().unwrap();
+ let after_header: usize = output
+ .iter()
+ .map(<[_]>::iter)
+ .flatten()
+ .copied()
+ .map(<[_]>::len)
+ .sum();
+
+ let length = (std::mem::size_of::<proto::OutHeader>() + after_header) as _;
let header = proto::OutHeader {
len: length,
error,
@@ -537,8 +526,7 @@ enum Handshake {
Restart,
}
-struct Incoming<Fs: Fuse> {
- session: Arc<Session<Fs>>,
+struct Incoming {
buffer: InputBuffer,
}