Two sparse fixes from Yuxuan Shui.

- Make "len" parameter of do_punch_hole an OFF_T.
- Clear sparse_past_write in sparse_end(), otherwise when write_sparse()
  is called for the next file, do_punch_hole() will be called with a pos
  that's not actually the current position in file, causing it to fail.
This commit is contained in:
Wayne Davison committed 2020-05-25 14:01:52 -07:00
1 parent c394e86184
commit 888ce058d8
2 files changed
+3 -1

No files matched your search

+2
View File
@@ -44,6 +44,8 @@ int sparse_end(int f, OFF_T size)
{
int ret;
sparse_past_write = 0;
if (!sparse_seek)
return 0;
+1 -1
View File
@@ -523,7 +523,7 @@ OFF_T do_fallocate(int fd, OFF_T offset, OFF_T length)
/* Punch a hole at pos for len bytes. The current file position must be at pos and will be
* changed to be at pos + len. */
int do_punch_hole(int fd, UNUSED(OFF_T pos), int len)
int do_punch_hole(int fd, UNUSED(OFF_T pos), OFF_T len)
{
#ifdef HAVE_FALLOCATE
# ifdef HAVE_FALLOC_FL_PUNCH_HOLE