. lib/inittest
+
+# With thin-pool version >= 1.19 and kernel >= 4.18
+# slightly less metadata can fit.
+BIG_DATA="generate_more_metadata"
+aux target_at_least dm-thin-pool 1 19 0 && \
+ aux kernel_at_least 4 18 0 && BIG_DATA=""
+
meta_percent_() {
get lv_field $vg/pool metadata_percent | cut -d. -f1
}
# Consume more then (100% - 4MiB) out of 32MiB metadata volume (>87.5%)
# (Test for less than 4MiB free space in metadata, which is less than 25%)
DATA=7200 # Newer version of thin-pool have hidden reserve, so use lower value
-aux target_at_least dm-thin-pool 1 19 0 || DATA=7400
+test -z "$BIG_DATA" || DATA=7400
fake_metadata_ "$DATA" 2 >data
"$LVM_TEST_THIN_RESTORE_CMD" -i data -o "$DM_DEV_DIR/mapper/$vg-$lv2"
# Swap volume with restored fake metadata
#
DATA=300 # Newer version of thin-pool have hidden reserve, so use lower value
-aux target_at_least dm-thin-pool 1 19 0 || DATA=350
+test -z "$BIG_DATA" || DATA=350
fake_metadata_ $DATA 2 >data
lvchange -ay $vg/$lv1
"$LVM_TEST_THIN_RESTORE_CMD" -i data -o "$DM_DEV_DIR/mapper/$vg-$lv1"