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


Reply via email to