diff --git a/vm-virtio/src/block.rs b/vm-virtio/src/block.rs index b4271584b..7b0916247 100755 --- a/vm-virtio/src/block.rs +++ b/vm-virtio/src/block.rs @@ -45,7 +45,7 @@ pub const KILL_EVENT: DeviceEventT = 1; pub const BLOCK_EVENTS_COUNT: usize = 2; #[derive(Debug)] -enum Error { +pub enum Error { /// Guest gave us bad memory addresses. GuestMemory(GuestMemoryError), /// Guest gave us offsets that would have overflowed a usize. @@ -65,7 +65,7 @@ enum Error { } #[derive(Debug)] -enum ExecuteError { +pub enum ExecuteError { BadRequest(Error), Flush(io::Error), Read(GuestMemoryError), @@ -75,7 +75,7 @@ enum ExecuteError { } impl ExecuteError { - fn status(&self) -> u32 { + pub fn status(&self) -> u32 { match *self { ExecuteError::BadRequest(_) => VIRTIO_BLK_S_IOERR, ExecuteError::Flush(_) => VIRTIO_BLK_S_IOERR, @@ -131,7 +131,7 @@ impl Clone for RawFile { } #[derive(Clone, Copy, Debug, PartialEq)] -enum RequestType { +pub enum RequestType { In, Out, Flush, @@ -139,7 +139,7 @@ enum RequestType { Unsupported(u32), } -fn request_type( +pub fn request_type( mem: &GuestMemoryMmap, desc_addr: GuestAddress, ) -> result::Result { @@ -179,7 +179,7 @@ fn build_device_id(disk_path: &PathBuf) -> result::Result { Ok(device_id) } -fn build_disk_image_id(disk_path: &PathBuf) -> Vec { +pub fn build_disk_image_id(disk_path: &PathBuf) -> Vec { let mut default_disk_image_id = vec![0; VIRTIO_BLK_ID_BYTES as usize]; match build_device_id(disk_path) { Err(_) => { @@ -196,16 +196,16 @@ fn build_disk_image_id(disk_path: &PathBuf) -> Vec { default_disk_image_id } -struct Request { +pub struct Request { request_type: RequestType, sector: u64, data_addr: GuestAddress, data_len: u32, - status_addr: GuestAddress, + pub status_addr: GuestAddress, } impl Request { - fn parse( + pub fn parse( avail_desc: &DescriptorChain, mem: &GuestMemoryMmap, ) -> result::Result { @@ -269,7 +269,7 @@ impl Request { } #[allow(clippy::ptr_arg)] - fn execute( + pub fn execute( &self, disk: &mut T, disk_nsectors: u64, diff --git a/vm-virtio/src/lib.rs b/vm-virtio/src/lib.rs index c8221de6c..bc1666590 100755 --- a/vm-virtio/src/lib.rs +++ b/vm-virtio/src/lib.rs @@ -21,7 +21,7 @@ extern crate vm_memory; use std::fmt; use std::io; -mod block; +pub mod block; mod console; mod device; mod iommu;