authfs: Remove Arc<Mutex<>> now that Strong is Sync
Bug: 191763370
Test: atest AuthFsHostTest
Change-Id: If090b1f29583691cec7135f711724f308a8abd02
diff --git a/authfs/src/file/remote_file.rs b/authfs/src/file/remote_file.rs
index 0b6c007..037b8ec 100644
--- a/authfs/src/file/remote_file.rs
+++ b/authfs/src/file/remote_file.rs
@@ -17,13 +17,12 @@
use std::cmp::min;
use std::convert::TryFrom;
use std::io;
-use std::sync::{Arc, Mutex};
use super::{ChunkBuffer, RandomWrite, ReadByChunk, VirtFdService};
use crate::common::CHUNK_SIZE;
fn remote_read_chunk(
- service: &Arc<Mutex<VirtFdService>>,
+ service: &VirtFdService,
remote_fd: i32,
chunk_index: u64,
buf: &mut ChunkBuffer,
@@ -32,8 +31,6 @@
.map_err(|_| io::Error::from_raw_os_error(libc::EOVERFLOW))?;
let chunk = service
- .lock()
- .unwrap()
.readFile(remote_fd, offset, buf.len() as i32)
.map_err(|e| io::Error::new(io::ErrorKind::Other, e.get_description()))?;
let size = min(buf.len(), chunk.len());
@@ -43,12 +40,12 @@
pub struct RemoteFileReader {
// This needs to have Sync trait to be used in fuse::worker::start_message_loop.
- service: Arc<Mutex<VirtFdService>>,
+ service: VirtFdService,
file_fd: i32,
}
impl RemoteFileReader {
- pub fn new(service: Arc<Mutex<VirtFdService>>, file_fd: i32) -> Self {
+ pub fn new(service: VirtFdService, file_fd: i32) -> Self {
RemoteFileReader { service, file_fd }
}
}
@@ -61,13 +58,12 @@
pub struct RemoteMerkleTreeReader {
// This needs to be a Sync to be used in fuse::worker::start_message_loop.
- // TODO(victorhsieh): change to Strong<> once binder supports it.
- service: Arc<Mutex<VirtFdService>>,
+ service: VirtFdService,
file_fd: i32,
}
impl RemoteMerkleTreeReader {
- pub fn new(service: Arc<Mutex<VirtFdService>>, file_fd: i32) -> Self {
+ pub fn new(service: VirtFdService, file_fd: i32) -> Self {
RemoteMerkleTreeReader { service, file_fd }
}
}
@@ -79,8 +75,6 @@
let chunk = self
.service
- .lock()
- .unwrap()
.readFsverityMerkleTree(self.file_fd, offset, buf.len() as i32)
.map_err(|e| io::Error::new(io::ErrorKind::Other, e.get_description()))?;
let size = min(buf.len(), chunk.len());
@@ -91,12 +85,12 @@
pub struct RemoteFileEditor {
// This needs to have Sync trait to be used in fuse::worker::start_message_loop.
- service: Arc<Mutex<VirtFdService>>,
+ service: VirtFdService,
file_fd: i32,
}
impl RemoteFileEditor {
- pub fn new(service: Arc<Mutex<VirtFdService>>, file_fd: i32) -> Self {
+ pub fn new(service: VirtFdService, file_fd: i32) -> Self {
RemoteFileEditor { service, file_fd }
}
}
@@ -107,8 +101,6 @@
i64::try_from(offset).map_err(|_| io::Error::from_raw_os_error(libc::EOVERFLOW))?;
let size = self
.service
- .lock()
- .unwrap()
.writeFile(self.file_fd, &buf, offset)
.map_err(|e| io::Error::new(io::ErrorKind::Other, e.get_description()))?;
Ok(size as usize) // within range because size is supposed to <= buf.len(), which is a usize
@@ -118,8 +110,6 @@
let size =
i64::try_from(size).map_err(|_| io::Error::from_raw_os_error(libc::EOVERFLOW))?;
self.service
- .lock()
- .unwrap()
.resize(self.file_fd, size)
.map_err(|e| io::Error::new(io::ErrorKind::Other, e.get_description()))?;
Ok(())