generic: hole punching followed by writes in the same range
authorFilipe Manana <fdmanana@suse.com>
Tue, 30 May 2017 04:52:50 +0000 (05:52 +0100)
committerEryu Guan <eguan@redhat.com>
Fri, 2 Jun 2017 03:22:08 +0000 (11:22 +0800)
commit2348063442118dd19860be9b9054d5084a1ebdd3
treed5cf3757f13879344d23046db55b8ab10100fc2a
parent63a912525aabd64b8026bb7bcd02b7a0f504eec4
generic: hole punching followed by writes in the same range

Test that if we punch a hole in a file, with either a range that goes
beyond the file's size or covers a file range that is already a hole,
and that if after we do some buffered write operations that cover
different parts of the hole, no warnings are emmitted in syslog/dmesg
and the file's content is correct after remounting the filesystem.

This test is motivated by a bug in btrfs that is manifested in kernel
4.12-rc1 onwards (the bug existed long time ago but was not so easy
to expose before 4.12-rc1). The btrfs patch that fixes the issue is
titled: "Btrfs: fix invalid extent maps due to hole punching".

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/439 [new file with mode: 0755]
tests/generic/439.out [new file with mode: 0644]
tests/generic/group