From a0c87b8074c9323a2c73494810336e3ddc528085 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Thu, 24 Aug 2017 14:48:26 +0200 Subject: [PATCH] generic/108: tolerate old lvm utility versions lvm utility in Ubuntu 14.04 LTS treats -l 100%FREE as a hard number and not as an approximate upper limit. With ~5G scratch partition and ~128M scsi_debug device, vg_108 is 1279+31=1310 extents long, but only 31*2=62 can be allocated with -i 2: # lvm lvcreate -i 2 -I 4m -l 100%FREE -n lv_108 vg_108 Insufficient suitable allocatable extents for logical volume lv_108: 1248 more required lvm2 commit 4b6e3b5e5ea6 ("allocation: Allow approximate allocation when specifying size in percent") made '-l 100%FREE' possible when creating RAID LVs or setting number of stripes. Fix it by setting the size to allocate to 100M, which is enough for the test with 128M scsi_debug device. [eguan: update commit log a bit to mention the lvm2 commit that changed the lvcreate behavior] Signed-off-by: Ilya Dryomov Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- tests/generic/108 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/generic/108 b/tests/generic/108 index 1525dfb64..0caec7d02 100755 --- a/tests/generic/108 +++ b/tests/generic/108 @@ -74,7 +74,7 @@ $LVM_PROG pvcreate -f $SCSI_DEBUG_DEV $SCRATCH_DEV >>$seqres.full 2>&1 $LVM_PROG vgcreate -f $vgname $SCSI_DEBUG_DEV $SCRATCH_DEV >>$seqres.full 2>&1 # We use yes pipe instead of 'lvcreate --yes' because old version of lvm # (like 2.02.95 in RHEL6) don't support --yes option -yes | $LVM_PROG lvcreate -i 2 -I 4m -l 100%FREE -n $lvname $vgname \ +yes | $LVM_PROG lvcreate -i 2 -I 4m -L 100m -n $lvname $vgname \ >>$seqres.full 2>&1 # wait for lv creation to fully complete $UDEV_SETTLE_PROG >>$seqres.full 2>&1 -- 2.51.0