summary refs log tree commit diff
path: root/disk/src
diff options
context:
space:
mode:
authorCody Schuffelen <schuffelen@google.com>2019-07-08 16:30:33 -0700
committerCommit Bot <commit-bot@chromium.org>2019-08-30 16:08:58 +0000
commit30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595 (patch)
treea35764ee3991ac8c4559449c9380b12edd30f6bf /disk/src
parent7d533e5952b6bae600441e1183964d335a41d6fe (diff)
downloadcrosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.tar
crosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.tar.gz
crosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.tar.bz2
crosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.tar.lz
crosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.tar.xz
crosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.tar.zst
crosvm-30c5a9ef0b2ca7edeed36cc7ff8235a8d75e1595.zip
Replace "AsRawFd" with "AsRawFds" for disks.
This supports virtio disks that depend on multiple file descriptors. All
of the file descriptors are passed to the jail when relevant.

Bug: b/133432409
Change-Id: Idf2e24cd2984c0d12a47a523c13d24c1ba8d173e
Signed-off-by: Cody Schuffelen <schuffelen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1691761
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'disk/src')
-rw-r--r--disk/src/disk.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/disk/src/disk.rs b/disk/src/disk.rs
index c9ce1b3..9f1914d 100644
--- a/disk/src/disk.rs
+++ b/disk/src/disk.rs
@@ -6,12 +6,13 @@ use std::cmp::min;
 use std::fmt::{self, Display};
 use std::fs::File;
 use std::io::{self, Read, Seek, SeekFrom, Write};
-use std::os::unix::io::AsRawFd;
 
 use libc::EINVAL;
 use qcow::{QcowFile, QCOW_MAGIC};
 use remain::sorted;
-use sys_util::{FileReadWriteVolatile, FileSetLen, FileSync, PunchHole, SeekHole, WriteZeroes};
+use sys_util::{
+    AsRawFds, FileReadWriteVolatile, FileSetLen, FileSync, PunchHole, SeekHole, WriteZeroes,
+};
 
 #[sorted]
 #[derive(Debug)]
@@ -30,7 +31,7 @@ pub type Result<T> = std::result::Result<T, Error>;
 
 /// The prerequisites necessary to support a block device.
 pub trait DiskFile:
-    FileSetLen + FileSync + FileReadWriteVolatile + PunchHole + Seek + WriteZeroes + Send + AsRawFd
+    FileSetLen + FileSync + FileReadWriteVolatile + PunchHole + Seek + WriteZeroes + Send + AsRawFds
 {
 }
 impl<
@@ -41,7 +42,7 @@ impl<
             + Seek
             + WriteZeroes
             + Send
-            + AsRawFd,
+            + AsRawFds,
     > DiskFile for D
 {
 }