qcow: Add a zero_cluster method to raw file

Zeroing a cluster will be done from more than one place in qcow.rs soon,
add a helper to reduce duplication.

Change-Id: Idb40539f8e4ed2338fc84c0d53b37c913f2d90fe
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1697122
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
(cherry picked from crosvm commit 13c219139504d0a191948fd205c835a2505cadba)
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
Dylan Reid
2019-07-10 19:44:50 -07:00
committed by Samuel Ortiz
parent 7d6bf75138
commit dfd44a6080
2 changed files with 10 additions and 5 deletions
+1 -5
View File
@@ -1065,11 +1065,7 @@ impl QcowFile {
fn get_new_cluster(&mut self) -> std::io::Result<u64> {
// First use a pre allocated cluster if one is available.
if let Some(free_cluster) = self.avail_clusters.pop() {
let cluster_size = self.raw_file.cluster_size() as usize;
self.raw_file
.file_mut()
.seek(SeekFrom::Start(free_cluster))?;
self.raw_file.file_mut().write_zeroes(cluster_size)?;
self.raw_file.zero_cluster(free_cluster)?;
return Ok(free_cluster);
}