From feb8dacc148d5428be2498e5748ef9aa2ea889a2 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 12 Apr 2009 12:48:59 -0700 Subject: [PATCH] Fixed the use of --xattrs with --only-write-batch. --- NEWS | 2 ++ generator.c | 2 +- receiver.c | 4 ++-- sender.c | 5 ++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index a077de62..836d4768 100644 --- a/NEWS +++ b/NEWS @@ -37,6 +37,8 @@ Changes since 3.0.5: - Fixed an ACL/xattr corruption issue where the --backup option could cause rsync to associate the wrong ACL/xattr information with received files. + - Fixed the use of --xattrs with --only-write-batch. + - Fixed the use of --dry-run with --read-batch. - Fixed configure's erroneous use of target. diff --git a/generator.c b/generator.c index 8d944dc0..6c7bf89f 100644 --- a/generator.c +++ b/generator.c @@ -700,7 +700,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre if (iflags & ITEM_XNAME_FOLLOWS) write_vstring(sock_f_out, xname, strlen(xname)); #ifdef SUPPORT_XATTRS - if (preserve_xattrs && !dry_run + if (preserve_xattrs && do_xfers && iflags & (ITEM_REPORT_XATTR|ITEM_TRANSFER)) { send_xattr_request(NULL, file, iflags & ITEM_REPORT_XATTR ? sock_f_out : -1); diff --git a/receiver.c b/receiver.c index 8cd8331f..39c5e490 100644 --- a/receiver.c +++ b/receiver.c @@ -483,14 +483,14 @@ int recv_files(int f_in, char *local_name) rprintf(FINFO, "recv_files(%s)\n", fname); #ifdef SUPPORT_XATTRS - if (iflags & ITEM_REPORT_XATTR && !dry_run) + if (iflags & ITEM_REPORT_XATTR && do_xfers) recv_xattr_request(file, f_in); #endif if (!(iflags & ITEM_TRANSFER)) { maybe_log_item(file, iflags, itemizing, xname); #ifdef SUPPORT_XATTRS - if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && !dry_run) + if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers) set_file_attrs(fname, file, NULL, fname, 0); #endif continue; diff --git a/sender.c b/sender.c index 272772e5..e0b440de 100644 --- a/sender.c +++ b/sender.c @@ -22,7 +22,6 @@ #include "rsync.h" extern int verbose; -extern int dry_run; extern int do_xfers; extern int am_server; extern int am_daemon; @@ -153,7 +152,7 @@ static void write_ndx_and_attrs(int f_out, int ndx, int iflags, if (iflags & ITEM_XNAME_FOLLOWS) write_vstring(f_out, buf, len); #ifdef SUPPORT_XATTRS - if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && !dry_run) + if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers) send_xattr_request(fname, file, f_out); #endif } @@ -223,7 +222,7 @@ void send_files(int f_in, int f_out) rprintf(FINFO, "send_files(%d, %s%s%s)\n", ndx, path,slash,fname); #ifdef SUPPORT_XATTRS - if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && !dry_run) + if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers) recv_xattr_request(file, f_in); #endif -- 2.34.1