On buggy file systems, fallocate() can return EINVAL for unaligned accesses.
Improve the situation by ignoring this for PUNCH_HOLE, too (but we also
print out an error message in this case now, since PUNCH_HOLE should really
never return EINVAL according to the man page). The second patch reworks
the handling for ZERO_RANGE a little bit so that we now also try the other
fallbacks in this case now.
Thomas Huth (2):
block/file-posix: Fix problem with fallocate(PUNCH_HOLE) on GPFS
block/file-posix: Try other fallbacks after invalid
FALLOC_FL_ZERO_RANGE
block/file-posix.c | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
--
2.27.0