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

Method fsync_sync

block/src/lib.rs:534–556  ·  view source on GitHub ↗
(
        &mut self,
        user_data: Option<u64>,
        eventfd: &EventFd,
        completion_list: &mut VecDeque<(u64, i32)>,
    )

Source from the content-addressed store, hash-verified

532 }
533
534 fn fsync_sync(
535 &mut self,
536 user_data: Option<u64>,
537 eventfd: &EventFd,
538 completion_list: &mut VecDeque<(u64, i32)>,
539 ) -> AsyncIoResult<()>
540 where
541 Self: Write,
542 {
543 let result: i32 = {
544 // Flush
545 self.flush().map_err(AsyncIoError::Fsync)?;
546
547 0
548 };
549
550 if let Some(user_data) = user_data {
551 completion_list.push_back((user_data, result));
552 eventfd.write(1).unwrap();
553 }
554
555 Ok(())
556 }
557}
558
559#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq, Default)]

Callers 1

fsyncMethod · 0.80

Implementers 1

vhdx_sync.rsblock/src/vhdx_sync.rs

Calls 2

flushMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected