@@ -32,7 +32,7 @@ type Result<T> = std::result::Result<T, Error>;
32
32
33
33
#[ derive( Copy , Clone , Debug , Eq , PartialEq , ThisError ) ]
34
34
/// Errors related to vhost-device-foo daemon.
35
- pub ( crate ) enum Error {
35
+ pub enum Error {
36
36
#[ error( "Failed to handle event, didn't match EPOLLIN" ) ]
37
37
HandleEventNotEpollIn ,
38
38
#[ error( "Failed to handle unknown event" ) ]
@@ -47,11 +47,11 @@ pub(crate) enum Error {
47
47
48
48
impl convert:: From < Error > for io:: Error {
49
49
fn from ( e : Error ) -> Self {
50
- io :: Error :: new ( io:: ErrorKind :: Other , e)
50
+ Self :: new ( io:: ErrorKind :: Other , e)
51
51
}
52
52
}
53
53
54
- pub ( crate ) struct VhostUserFooBackend {
54
+ pub struct VhostUserFooBackend {
55
55
info : FooInfo ,
56
56
event_idx : bool ,
57
57
pub exit_event : EventFd ,
@@ -62,7 +62,7 @@ type FooDescriptorChain = DescriptorChain<GuestMemoryLoadGuard<GuestMemoryMmap<(
62
62
63
63
impl VhostUserFooBackend {
64
64
pub fn new ( info : FooInfo ) -> Result < Self > {
65
- Ok ( VhostUserFooBackend {
65
+ Ok ( Self {
66
66
info,
67
67
event_idx : false ,
68
68
exit_event : EventFd :: new ( EFD_NONBLOCK ) . map_err ( |_| Error :: EventFdFailed ) ?,
@@ -85,7 +85,7 @@ impl VhostUserFooBackend {
85
85
//
86
86
// The layout of the various structures, to be read from and written into the descriptor
87
87
// buffers, is defined in the Virtio specification for each protocol.
88
- for desc_chain in requests. clone ( ) {
88
+ for desc_chain in requests {
89
89
let counter = self . info . counter ( ) ;
90
90
let descriptors: Vec < _ > = desc_chain. clone ( ) . collect ( ) ;
91
91
@@ -266,7 +266,7 @@ mod tests {
266
266
fn prepare_descriptors (
267
267
mut next_addr : u64 ,
268
268
mem : & GuestMemoryLoadGuard < GuestMemoryMmap < ( ) > > ,
269
- buf : & mut Vec < u8 > ,
269
+ buf : & [ u8 ] ,
270
270
) -> Vec < Descriptor > {
271
271
let mut descriptors = Vec :: new ( ) ;
272
272
let mut index = 0 ;
@@ -284,7 +284,7 @@ mod tests {
284
284
VRING_DESC_F_NEXT as u16 ,
285
285
index + 1 ,
286
286
) ;
287
- next_addr += desc_out. len ( ) as u64 ;
287
+ next_addr += u64 :: from ( desc_out. len ( ) ) ;
288
288
index += 1 ;
289
289
290
290
mem. write_obj :: < VirtioFooOutHdr > ( out_hdr, desc_out. addr ( ) )
@@ -299,7 +299,7 @@ mod tests {
299
299
( VRING_DESC_F_WRITE | VRING_DESC_F_NEXT ) as u16 ,
300
300
index + 1 ,
301
301
) ;
302
- next_addr += desc_buf. len ( ) as u64 ;
302
+ next_addr += u64 :: from ( desc_buf. len ( ) ) ;
303
303
304
304
mem. write ( buf, desc_buf. addr ( ) ) . unwrap ( ) ;
305
305
descriptors. push ( desc_buf) ;
@@ -317,7 +317,7 @@ mod tests {
317
317
}
318
318
319
319
// Prepares a single chain of descriptors
320
- fn prepare_desc_chain ( buf : & mut Vec < u8 > ) -> ( VhostUserFooBackend , VringRwLock ) {
320
+ fn prepare_desc_chain ( buf : & [ u8 ] ) -> ( VhostUserFooBackend , VringRwLock ) {
321
321
let ( mut backend, mem, vring) = init ( ) ;
322
322
let mem_handle = mem. memory ( ) ;
323
323
let vq = MockSplitQueue :: new ( & * mem_handle, 16 ) ;
@@ -351,7 +351,7 @@ mod tests {
351
351
// Prepares a chain of descriptors
352
352
fn prepare_desc_chains (
353
353
mem : & GuestMemoryAtomic < GuestMemoryMmap > ,
354
- buf : & mut Vec < u8 > ,
354
+ buf : & [ u8 ] ,
355
355
) -> FooDescriptorChain {
356
356
let mem_handle = mem. memory ( ) ;
357
357
let vq = MockSplitQueue :: new ( & * mem_handle, 16 ) ;
@@ -395,8 +395,8 @@ mod tests {
395
395
#[ test]
396
396
fn process_request_single ( ) {
397
397
// Single valid descriptor
398
- let mut buf: Vec < u8 > = vec ! [ 0 ; 30 ] ;
399
- let ( mut backend, vring) = prepare_desc_chain ( & mut buf) ;
398
+ let buf: Vec < u8 > = vec ! [ 0 ; 30 ] ;
399
+ let ( mut backend, vring) = prepare_desc_chain ( & buf) ;
400
400
backend. process_queue ( & vring) . unwrap ( ) ;
401
401
}
402
402
@@ -405,19 +405,17 @@ mod tests {
405
405
// Multiple valid descriptors
406
406
let ( mut backend, mem, vring) = init ( ) ;
407
407
408
- let mut bufs: Vec < Vec < u8 > > = vec ! [ vec![ 0 ; 30 ] ; 6 ] ;
408
+ let bufs: Vec < Vec < u8 > > = vec ! [ vec![ 0 ; 30 ] ; 6 ] ;
409
409
let desc_chains = vec ! [
410
- prepare_desc_chains( & mem, & mut bufs[ 0 ] ) ,
411
- prepare_desc_chains( & mem, & mut bufs[ 1 ] ) ,
412
- prepare_desc_chains( & mem, & mut bufs[ 2 ] ) ,
413
- prepare_desc_chains( & mem, & mut bufs[ 3 ] ) ,
414
- prepare_desc_chains( & mem, & mut bufs[ 4 ] ) ,
415
- prepare_desc_chains( & mem, & mut bufs[ 5 ] ) ,
410
+ prepare_desc_chains( & mem, & bufs[ 0 ] ) ,
411
+ prepare_desc_chains( & mem, & bufs[ 1 ] ) ,
412
+ prepare_desc_chains( & mem, & bufs[ 2 ] ) ,
413
+ prepare_desc_chains( & mem, & bufs[ 3 ] ) ,
414
+ prepare_desc_chains( & mem, & bufs[ 4 ] ) ,
415
+ prepare_desc_chains( & mem, & bufs[ 5 ] ) ,
416
416
] ;
417
417
418
- backend
419
- . process_requests ( desc_chains. clone ( ) , & vring)
420
- . unwrap ( ) ;
418
+ backend. process_requests ( desc_chains, & vring) . unwrap ( ) ;
421
419
}
422
420
423
421
#[ test]
0 commit comments