MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / async_write

Function async_write

block/src/qcow_sync.rs:368–380  ·  view source on GitHub ↗
(disk: &QcowDisk, offset: u64, data: &[u8])

Source from the content-addressed store, hash-verified

366 }
367
368 fn async_write(disk: &QcowDisk, offset: u64, data: &[u8]) {
369 let mut async_io = disk.create_async_io(1).unwrap();
370 let iovec = libc::iovec {
371 iov_base: data.as_ptr().cast::<libc::c_void>().cast_mut(),
372 iov_len: data.len(),
373 };
374 async_io
375 .write_vectored(offset as libc::off_t, &[iovec], 1)
376 .unwrap();
377 let (user_data, result) = async_io.next_completed_request().unwrap();
378 assert_eq!(user_data, 1);
379 assert_eq!(result as usize, data.len());
380 }
381
382 #[test]
383 fn test_qcow_async_punch_hole_completion() {

Calls 4

create_async_ioMethod · 0.45
lenMethod · 0.45
write_vectoredMethod · 0.45