Re: ext4 fix for interaction between i_size, fallocate, and delalloc after a crash

Theodore Ts'o
2017-11-30T00:24:11Z

On Wed, Nov 29, 2017 at 10:07:39AM +0200, Amir Goldstein wrote:
> If you could work out how to fix the test to catch the bug in kvm-xfstests
> that would be nice.

One question, how did you actually test it using kvm-xfstests? The
kvm-xfstests image that I had up on www.kernel.org did not have
generic/456. It was dated from September 2017, so it didn't have that
test. Since the publically available image didn't have generic/456,
did you create your own image some how?

I just updated the test appliance yesterday, so it does now. The
version stamp on it is:

e2fsprogs v1.43.6-85-g7595699d0 (Wed, 6 Sep 2017 22:04:14 -0400)
fio fio-3.2 (Fri, 3 Nov 2017 15:23:49 -0600)
quota 4d81e8b (Mon, 16 Oct 2017 09:42:44 +0200)
stress-ng 977ae35 (Wed, 6 Sep 2017 23:45:03 -0400)
xfsprogs v4.14.0-rc2-1-g19ca9b0b (Mon, 27 Nov 2017 10:56:21 -0600)
xfstests-bld 0b27af9 (Tue, 28 Nov 2017 16:28:51 -0500)
xfstests linux-v3.8-1797-g4f1eaa02 (Tue, 28 Nov 2017 15:49:06 -0500)

Can you try the latest version of the kvm-xfststs test appliance image
that is on www.kernel.org, with the latest xfstests-bld git repo to
drive it?

I use the default configuration (so 2 cpu's, 2 gigs of memory). The
only difference I have from the default config is that I have the
following in my ~/.config/kvm-xfstests:

VG=callcc

VDB=/dev/$VG/test-4k
VDC=/dev/$VG/scratch
VDD=/dev/$VG/test-1k
VDE=/dev/$VG/scratch2
VDF=/dev/$VG/scratch3
VDG=/dev/$VG/results

Where callcc is an LVM setup using an SSD. (A Samsung 850 PRO, to be
precise). VDB, VDC, VDD, and VDG are 5 gig logical volumes, VDE and
VDF are 20 gig logical volumes (although you won't need those for this
repro.)

With this setup, generic/456 reproduces *reliably* for me. I tested
using a v4.15-rc1 kernel with commit 51e3ae81ec58e95 reverted. and the
command: "kvm-xfstests -c 4k generic/456"

- Ted