X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/963ca80882dea2131e78563fa59e3e0e7c70c195..0ef5abcbbb95298fa9faf1d3eb275a9e76e1d951:/sparse-block.diff diff --git a/sparse-block.diff b/sparse-block.diff index aa11420..88f6110 100644 --- a/sparse-block.diff +++ b/sparse-block.diff @@ -28,8 +28,8 @@ diff --git a/fileio.c b/fileio.c +extern long sparse_files_block_size; static char last_byte; - static size_t sparse_seek = 0; -@@ -115,7 +116,7 @@ int write_file(int f,char *buf,size_t len) + static OFF_T sparse_seek = 0; +@@ -115,7 +116,7 @@ int write_file(int f, char *buf, int len) while (len > 0) { int r1; if (sparse_files > 0) { @@ -49,7 +49,7 @@ diff --git a/options.c b/options.c int do_compression = 0; int def_compress_level = Z_DEFAULT_COMPRESSION; int am_root = 0; /* 0 = normal, 1 = root, 2 = --super, -1 = --fake-super */ -@@ -358,6 +359,7 @@ void usage(enum logcode F) +@@ -359,6 +360,7 @@ void usage(enum logcode F) rprintf(F," --fake-super store/recover privileged attrs using xattrs\n"); #endif rprintf(F," -S, --sparse handle sparse files efficiently\n"); @@ -57,7 +57,7 @@ diff --git a/options.c b/options.c rprintf(F," -n, --dry-run perform a trial run with no changes made\n"); rprintf(F," -W, --whole-file copy files whole (without delta-xfer algorithm)\n"); rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n"); -@@ -542,6 +544,7 @@ static struct poptOption long_options[] = { +@@ -543,6 +545,7 @@ static struct poptOption long_options[] = { {"sparse", 'S', POPT_ARG_VAL, &sparse_files, 1, 0, 0 }, {"no-sparse", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 }, {"no-S", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 }, @@ -65,7 +65,7 @@ diff --git a/options.c b/options.c {"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 }, {"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 }, {"append", 0, POPT_ARG_NONE, 0, OPT_APPEND, 0, 0 }, -@@ -1900,6 +1903,12 @@ void server_options(char **args, int *argc_p) +@@ -1901,6 +1904,12 @@ void server_options(char **args, int *argc_p) args[ac++] = arg; } @@ -81,7 +81,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.yo b/rsync.yo --- a/rsync.yo +++ b/rsync.yo -@@ -352,6 +352,7 @@ to the detailed description below for a complete description. verb( +@@ -356,6 +356,7 @@ to the detailed description below for a complete description. verb( --super receiver attempts super-user activities --fake-super store/recover privileged attrs using xattrs -S, --sparse handle sparse files efficiently @@ -89,7 +89,7 @@ diff --git a/rsync.yo b/rsync.yo -n, --dry-run perform a trial run with no changes made -W, --whole-file copy files whole (w/o delta-xfer algorithm) -x, --one-file-system don't cross filesystem boundaries -@@ -1049,6 +1050,15 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs" +@@ -1053,6 +1054,15 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs" filesystem. It doesn't seem to handle seeks over null regions correctly and ends up corrupting the files.