X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/fc5573623194fab2a331d1ffc8d284c9e25e06e7..refs/heads/master:/sparse-block.diff diff --git a/sparse-block.diff b/sparse-block.diff index bb8d199..b82df27 100644 --- a/sparse-block.diff +++ b/sparse-block.diff @@ -18,8 +18,8 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make +based-on: a01e3b490eb36ccf9e704840e1b6683dab867550 diff --git a/fileio.c b/fileio.c -index 0faa619..b76dc02 100644 --- a/fileio.c +++ b/fileio.c @@ -27,6 +27,7 @@ @@ -40,7 +40,6 @@ index 0faa619..b76dc02 100644 } else { if (!wf_writeBuf) { diff --git a/options.c b/options.c -index e7c6c61..a0fb2e7 100644 --- a/options.c +++ b/options.c @@ -73,6 +73,7 @@ int remove_source_files = 0; @@ -51,7 +50,7 @@ index e7c6c61..a0fb2e7 100644 int do_compression = 0; int def_compress_level = Z_DEFAULT_COMPRESSION; int am_root = 0; /* 0 = normal, 1 = root, 2 = --super, -1 = --fake-super */ -@@ -703,6 +704,7 @@ void usage(enum logcode F) +@@ -704,6 +705,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"); @@ -59,7 +58,7 @@ index e7c6c61..a0fb2e7 100644 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"); -@@ -899,6 +901,7 @@ static struct poptOption long_options[] = { +@@ -900,6 +902,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 }, @@ -67,7 +66,7 @@ index e7c6c61..a0fb2e7 100644 {"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 }, -@@ -2416,6 +2419,12 @@ void server_options(char **args, int *argc_p) +@@ -2468,6 +2471,12 @@ void server_options(char **args, int *argc_p) args[ac++] = arg; } @@ -81,7 +80,6 @@ index e7c6c61..a0fb2e7 100644 if (asprintf(&arg, "--timeout=%d", io_timeout) < 0) goto oom; diff --git a/rsync.yo b/rsync.yo -index 941f7a5..5fa8396 100644 --- a/rsync.yo +++ b/rsync.yo @@ -359,6 +359,7 @@ to the detailed description below for a complete description. verb( @@ -92,9 +90,9 @@ index 941f7a5..5fa8396 100644 -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 -@@ -1120,6 +1121,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. +@@ -1127,6 +1128,15 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs" + filesystem. It seems to have problems seeking over null regions, + and ends up corrupting the files. +dit(bf(--sparse-block=SIZE)) Change the block size used to handle sparse files +to SIZE bytes. This option only has an effect if the bf(--sparse) (bf(-S))