generic: test for fsync after punching hole

This test is motivated by an fsync issue discovered in btrfs.
The issue was that after punching a hole for a small range, which
affected only a partial page, an fsync operation would have no effect
at all. This was because for this particular case the btrfs hole
punching implementation did not update some btrfs specific inode
metadata that is required to determine if an fsync operation needs
to update the fsync log. For this to happen, it was also necessary
that in the transaction where the hole punching was performed, and
before the fsync operation, no other operation that modified the file
(or its metadata) was performed.

The btrfs issue was fixed by the following linux kernel patch:

  Btrfs: add missing inode update when punching hole

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Filipe Manana
2015-02-16 11:36:12 +11:00
committed by Dave Chinner
parent 7e03b714f3
commit a8607c1c30
3 changed files with 152 additions and 0 deletions
+1
View File
@@ -60,6 +60,7 @@
055 log v2log auto quota stress
056 metadata auto quick
057 metadata auto quick
059 metadata auto quick
062 attr udf auto quick
068 other auto freeze dangerous stress
069 rw udf auto quick