/// Copy zero-sized files rather than hardlinking.
#[cfg(any(feature = "v2018_9", feature = "dox"))]
pub force_copy_zerosized: bool,
+ /// Enable overlayfs whiteout extraction into char 0:0 devices.
+ #[cfg(any(feature = "v2022_6", feature = "dox"))]
+ pub process_passthrough_whiteouts: bool,
/// Only check out this subpath.
pub subpath: Option<PathBuf>,
/// A cache from device, inode pairs to checksums.
bareuseronly_dirs: false,
#[cfg(feature = "v2018_9")]
force_copy_zerosized: false,
+ #[cfg(feature = "v2022_6")]
+ process_passthrough_whiteouts: false,
subpath: None,
devino_to_csum_cache: None,
#[cfg(feature = "v2018_2")]
options.force_copy_zerosized = self.force_copy_zerosized.into_glib();
}
+ #[cfg(feature = "v2022_6")]
+ {
+ options.process_passthrough_whiteouts = self.process_passthrough_whiteouts.into_glib();
+ }
+
// We keep these complex values alive by returning them in our Stash. Technically, some of
// these are being kept alive by `self` already, but it's better to be consistent here.
let subpath = self.subpath.to_glib_none();
assert_eq!((*ptr).bareuseronly_dirs, GFALSE);
#[cfg(feature = "v2018_9")]
assert_eq!((*ptr).force_copy_zerosized, GFALSE);
- assert_eq!((*ptr).unused_bools, [GFALSE; 4]);
+ #[cfg(feature = "v2022_6")]
+ assert_eq!((*ptr).process_passthrough_whiteouts, GFALSE);
+ assert_eq!((*ptr).unused_bools, [GFALSE; 3]);
assert_eq!((*ptr).subpath, ptr::null());
assert_eq!((*ptr).devino_to_csum_cache, ptr::null_mut());
assert_eq!((*ptr).unused_ints, [0; 6]);
bareuseronly_dirs: true,
#[cfg(feature = "v2018_9")]
force_copy_zerosized: true,
+ #[cfg(feature = "v2022_6")]
+ process_passthrough_whiteouts: true,
subpath: Some("sub/path".into()),
devino_to_csum_cache: Some(RepoDevInoCache::new()),
#[cfg(feature = "v2018_2")]
assert_eq!((*ptr).bareuseronly_dirs, GTRUE);
#[cfg(feature = "v2018_9")]
assert_eq!((*ptr).force_copy_zerosized, GTRUE);
- assert_eq!((*ptr).unused_bools, [GFALSE; 4]);
+ #[cfg(feature = "v2022_6")]
+ assert_eq!((*ptr).process_passthrough_whiteouts, GTRUE);
+ assert_eq!((*ptr).unused_bools, [GFALSE; 3]);
assert_eq!(
CStr::from_ptr((*ptr).subpath),
CString::new("sub/path").unwrap().as_c_str()