mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
block: bind FD lifetime of DiskFile
As we can't use BorrowedFd, we should at least create a similar safe alternative. Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de> On-behalf-of: SAP philipp.schuster@sap.com
This commit is contained in:
committed by
Rob Bradford
parent
a647d7863c
commit
2da5e10689
@@ -4,12 +4,14 @@
|
||||
|
||||
use std::collections::VecDeque;
|
||||
use std::fs::File;
|
||||
use std::os::fd::{AsRawFd, RawFd};
|
||||
use std::os::fd::AsRawFd;
|
||||
use std::sync::{Arc, Mutex, MutexGuard};
|
||||
|
||||
use vmm_sys_util::eventfd::EventFd;
|
||||
|
||||
use crate::async_io::{AsyncIo, AsyncIoResult, DiskFile, DiskFileError, DiskFileResult};
|
||||
use crate::async_io::{
|
||||
AsyncIo, AsyncIoResult, BorrowedDiskFd, DiskFile, DiskFileError, DiskFileResult,
|
||||
};
|
||||
use crate::vhdx::{Result as VhdxResult, Vhdx};
|
||||
use crate::AsyncAdaptor;
|
||||
|
||||
@@ -37,9 +39,9 @@ impl DiskFile for VhdxDiskSync {
|
||||
)
|
||||
}
|
||||
|
||||
fn fd(&mut self) -> RawFd {
|
||||
fn fd(&mut self) -> BorrowedDiskFd {
|
||||
let lock = self.vhdx_file.lock().unwrap();
|
||||
lock.as_raw_fd()
|
||||
BorrowedDiskFd::new(lock.as_raw_fd())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user