mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-10-21 05:14:15 -04:00
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:
1 parent
c394e86184
commit
888ce058d8
2 files changed
+3
-1
No files matched your search
@@ -44,6 +44,8 @@ int sparse_end(int f, OFF_T size)
|
||||
{
|
||||
int ret;
|
||||
|
||||
sparse_past_write = 0;
|
||||
|
||||
if (!sparse_seek)
|
||||
return 0;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user