Merge "Check autoclear setup using block sysfs" into main am: ab25289bfb am: 9f7f756db3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Virtualization/+/3507105
Change-Id: Idabd8d286ae6a32f51149efd5a02e90ebf305543
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/libs/devicemapper/src/loopdevice.rs b/libs/devicemapper/src/loopdevice.rs
index b830eda..30ab6f6 100644
--- a/libs/devicemapper/src/loopdevice.rs
+++ b/libs/devicemapper/src/loopdevice.rs
@@ -199,6 +199,12 @@
"0" == fs::read_to_string(ro).unwrap().trim()
}
+ fn is_autoclear(dev: &Path) -> bool {
+ let autoclear =
+ Path::new("/sys/block").join(dev.file_name().unwrap()).join("loop/autoclear");
+ "1" == fs::read_to_string(autoclear).unwrap().trim()
+ }
+
#[rdroidtest]
fn attach_loop_device_with_dio() {
let a_dir = tempfile::TempDir::new().unwrap();
@@ -258,10 +264,7 @@
let dev =
attach(a_file, 0, a_size, &LoopConfigOptions { autoclear: true, ..Default::default() })
.unwrap();
- drop(dev.file);
- let dev_size_path =
- Path::new("/sys/block").join(dev.path.file_name().unwrap()).join("size");
- assert_eq!("0", fs::read_to_string(dev_size_path).unwrap().trim());
+ assert!(is_autoclear(&dev.path));
}
}