Files
apfstests/tests/generic/059.out
T
Filipe Manana a8607c1c30 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>
2015-02-16 11:36:12 +11:00

32 lines
981 B
Plaintext

QA output created by 059
wrote 16384/16384 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
File content before:
0000000 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
*
0017500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0027500 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
*
0035220 22 22 22 22 22 22 22 22 00 00 00 00 00 00 00 00
0035240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0035360 00 00 00 00 00 00 00 00 00 00 00 00 22 22 22 22
0035400 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
*
0040000
File content after:
0000000 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
*
0017500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0027500 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
*
0035220 22 22 22 22 22 22 22 22 00 00 00 00 00 00 00 00
0035240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0035360 00 00 00 00 00 00 00 00 00 00 00 00 22 22 22 22
0035400 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
*
0040000