(&mut self)
| 191 | } |
| 192 | |
| 193 | fn next_completed_request(&mut self) -> Option<(u64, i32)> { |
| 194 | // Drain io_uring completions first, then synthetic ones. |
| 195 | self.io_uring |
| 196 | .completion() |
| 197 | .next() |
| 198 | .map(|entry| (entry.user_data(), entry.result())) |
| 199 | .or_else(|| self.completion_list.pop_front()) |
| 200 | } |
| 201 | |
| 202 | fn punch_hole(&mut self, offset: u64, length: u64, user_data: u64) -> AsyncIoResult<()> { |
| 203 | let virtual_size = self.metadata.virtual_size(); |