Fixed the use of --xattrs with --only-write-batch.
authorWayne Davison <wayned@samba.org>
Sun, 12 Apr 2009 19:48:59 +0000 (12:48 -0700)
committerWayne Davison <wayned@samba.org>
Sun, 12 Apr 2009 19:48:59 +0000 (12:48 -0700)
NEWS
generator.c
receiver.c
sender.c

diff --git a/NEWS b/NEWS
index a077de6..836d476 100644 (file)
--- 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.
index 8d944dc..6c7bf89 100644 (file)
@@ -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);
index 8cd8331..39c5e49 100644 (file)
@@ -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;
index 272772e..e0b440d 100644 (file)
--- 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