Commit 89e540e6 authored by Wayne Davison's avatar Wayne Davison

One more inplace code tweak.

parent fab65a5b
...@@ -214,7 +214,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, ...@@ -214,7 +214,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
struct sum_struct sum; struct sum_struct sum;
unsigned int len; unsigned int len;
OFF_T offset = 0; OFF_T offset = 0;
OFF_T offset2, seekto = 0; OFF_T offset2;
char *data; char *data;
int i; int i;
char *map = NULL; char *map = NULL;
...@@ -276,19 +276,16 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, ...@@ -276,19 +276,16 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
} }
if (inplace) { if (inplace) {
if (offset == offset2) { if (offset == offset2 && fd != -1) {
seekto = offset += len;
continue;
}
if (seekto && fd != -1) {
flush_write_file(fd); flush_write_file(fd);
if (do_lseek(fd, seekto, SEEK_SET) != seekto) { offset += len;
if (do_lseek(fd, len, SEEK_CUR) != offset) {
rsyserr(FERROR, errno, rsyserr(FERROR, errno,
"lseek failed on %s", "lseek failed on %s",
full_fname(fname)); full_fname(fname));
exit_cleanup(RERR_FILEIO); exit_cleanup(RERR_FILEIO);
} }
seekto = 0; continue;
} }
} }
if (fd != -1 && write_file(fd, map, len) != (int)len) { if (fd != -1 && write_file(fd, map, len) != (int)len) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment