diff --git a/block/src/qcow_async.rs b/block/src/qcow_async.rs index 2239867c8..ad94f74af 100644 --- a/block/src/qcow_async.rs +++ b/block/src/qcow_async.rs @@ -248,7 +248,12 @@ impl AsyncIo for QcowAsync { } fn fsync(&mut self, user_data: Option) -> AsyncIoResult<()> { - unimplemented!() + self.metadata.flush().map_err(AsyncIoError::Fsync)?; + if let Some(user_data) = user_data { + self.completion_list.push_back((user_data, 0)); + self.eventfd.write(1).unwrap(); + } + Ok(()) } fn next_completed_request(&mut self) -> Option<(u64, i32)> {