From 91d6356db4fb364daa4e4762128e60db3b0092d3 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Fri, 20 Mar 2026 17:44:19 +0100 Subject: [PATCH] block: qcow_async: impl DiskFd for QcowDiskAsync Returns a borrowed file descriptor for the underlying data file. Signed-off-by: Anatol Belski --- block/src/qcow_async.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/block/src/qcow_async.rs b/block/src/qcow_async.rs index 388dcab55..226ed7bcf 100644 --- a/block/src/qcow_async.rs +++ b/block/src/qcow_async.rs @@ -8,8 +8,10 @@ use std::fmt; use std::fs::File; +use std::os::fd::{AsFd, AsRawFd}; use std::sync::Arc; +use crate::async_io::BorrowedDiskFd; use crate::disk_file; use crate::error::{BlockErrorKind, BlockResult, ErrorOp}; use crate::qcow::backing::shared_backing_from; @@ -81,3 +83,9 @@ impl disk_file::PhysicalSize for QcowDiskAsync { Ok(self.data_raw_file.physical_size()?) } } + +impl disk_file::DiskFd for QcowDiskAsync { + fn fd(&self) -> BorrowedDiskFd<'_> { + BorrowedDiskFd::new(self.data_raw_file.as_fd().as_raw_fd()) + } +}