Skip to content

Commit 2215bdc

Browse files
wllenyjbergwolf
authored andcommitted
move some utilities to common module
Signed-off-by: wllenyj <[email protected]>
1 parent 224bf6f commit 2215bdc

File tree

6 files changed

+26
-16
lines changed

6 files changed

+26
-16
lines changed
File renamed without changes.

src/transport/file_traits.rs renamed to src/common/file_traits.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ mod async_io {
458458
use tokio_uring::fs::File;
459459

460460
use super::*;
461-
use crate::transport::file_volatile_slice::FileVolatileBuf;
461+
use crate::file_buf::FileVolatileBuf;
462462

463463
/// Extension of [FileReadWriteVolatile] to support io-uring based asynchronous IO.
464464
///

src/common/mod.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Copyright (C) 2022 Alibaba Cloud. All rights reserved.
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
//! Some utilities to support fuse-backend-rs.
6+
7+
pub mod file_buf;
8+
pub mod file_traits;

src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ pub mod api;
107107
pub mod passthrough;
108108
pub mod transport;
109109

110+
pub mod common;
111+
pub use self::common::*;
112+
110113
/// Convert io::ErrorKind to OS error code.
111114
/// Reference to libstd/sys/unix/mod.rs => decode_error_kind.
112115
pub fn encode_io_error_kind(kind: ErrorKind) -> i32 {

src/transport/fusedev/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ use nix::sys::uio::writev;
1818
use nix::unistd::write;
1919
use vm_memory::{ByteValued, VolatileMemory, VolatileSlice};
2020

21-
use super::{Error, FileReadWriteVolatile, FileVolatileSlice, IoBuffers, Reader, Result, Writer};
21+
use super::{Error, FileReadWriteVolatile, IoBuffers, Reader, Result, Writer};
22+
use crate::file_buf::FileVolatileSlice;
2223
use crate::BitmapSlice;
2324

2425
#[cfg(target_os = "linux")]
@@ -334,8 +335,8 @@ impl<'a, S: BitmapSlice> io::Write for FuseDevWriter<'a, S> {
334335
#[cfg(feature = "async-io")]
335336
mod async_io {
336337
use super::*;
337-
use crate::transport::file_volatile_slice::FileVolatileBuf;
338-
use crate::transport::AsyncFileReadWriteVolatile;
338+
use crate::file_buf::FileVolatileBuf;
339+
use crate::file_traits::AsyncFileReadWriteVolatile;
339340

340341
impl<'a, S: BitmapSlice> FuseDevWriter<'a, S> {
341342
/// Write data from a buffer into this writer in asynchronous mode.

src/transport/mod.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,23 @@ use vm_memory::{ByteValued, VolatileSlice};
2727

2828
use crate::BitmapSlice;
2929

30-
mod file_traits;
31-
mod file_volatile_slice;
3230
mod fs_cache_req_handler;
3331
#[cfg(feature = "fusedev")]
3432
mod fusedev;
3533
#[cfg(feature = "virtiofs")]
3634
mod virtiofs;
3735

38-
#[cfg(feature = "async-io")]
39-
pub use self::file_traits::AsyncFileReadWriteVolatile;
40-
pub use self::file_traits::{FileReadWriteVolatile, FileSetLen};
41-
#[cfg(feature = "async-io")]
42-
pub use self::file_volatile_slice::FileVolatileBuf;
43-
pub use self::file_volatile_slice::FileVolatileSlice;
4436
pub use self::fs_cache_req_handler::FsCacheReqHandler;
4537
#[cfg(feature = "fusedev")]
4638
pub use self::fusedev::{FuseBuf, FuseChannel, FuseDevWriter, FuseSession};
4739
#[cfg(feature = "virtiofs")]
4840
pub use self::virtiofs::VirtioFsWriter;
41+
#[cfg(feature = "async-io")]
42+
pub use crate::file_buf::FileVolatileBuf;
43+
pub use crate::file_buf::FileVolatileSlice;
44+
#[cfg(feature = "async-io")]
45+
pub use crate::file_traits::AsyncFileReadWriteVolatile;
46+
pub use crate::file_traits::{FileReadWriteVolatile, FileSetLen};
4947

5048
/// Transport layer specific error codes.
5149
#[derive(Debug)]
@@ -163,7 +161,7 @@ impl<S: BitmapSlice> IoBuffers<'_, S> {
163161
}
164162

165163
#[cfg(feature = "async-io")]
166-
unsafe fn prepare_io_buf(&self, count: usize) -> Vec<file_volatile_slice::FileVolatileBuf> {
164+
unsafe fn prepare_io_buf(&self, count: usize) -> Vec<FileVolatileBuf> {
167165
let mut rem = count;
168166
let mut bufs = Vec::with_capacity(self.buffers.len());
169167

@@ -181,7 +179,7 @@ impl<S: BitmapSlice> IoBuffers<'_, S> {
181179
buf.clone()
182180
};
183181
// Safe because we just change the interface to access underlying buffers.
184-
bufs.push(file_volatile_slice::FileVolatileBuf::from_raw(
182+
bufs.push(FileVolatileBuf::from_raw(
185183
local_buf.as_ptr(),
186184
local_buf.len(),
187185
local_buf.len(),
@@ -195,7 +193,7 @@ impl<S: BitmapSlice> IoBuffers<'_, S> {
195193
}
196194

197195
#[cfg(all(feature = "async-io", feature = "virtiofs"))]
198-
unsafe fn prepare_mut_io_buf(&self, count: usize) -> Vec<file_volatile_slice::FileVolatileBuf> {
196+
unsafe fn prepare_mut_io_buf(&self, count: usize) -> Vec<FileVolatileBuf> {
199197
let mut rem = count;
200198
let mut bufs = Vec::with_capacity(self.buffers.len());
201199

@@ -212,7 +210,7 @@ impl<S: BitmapSlice> IoBuffers<'_, S> {
212210
} else {
213211
buf.clone()
214212
};
215-
bufs.push(file_volatile_slice::FileVolatileBuf::from_raw(
213+
bufs.push(FileVolatileBuf::from_raw(
216214
local_buf.as_ptr(),
217215
0,
218216
local_buf.len(),

0 commit comments

Comments
 (0)