https://bugzilla.samba.org/show_bug.cgi?id=15393

            Bug ID: 15393
           Summary: rsync attempts to set extended attributes while in
                    dry-run
           Product: rsync
           Version: 3.2.0
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P5
         Component: core
          Assignee: wa...@opencoder.net
          Reporter: miguelangel.pros...@gmail.com
        QA Contact: rsync...@samba.org
  Target Milestone: ---

Using the following system:
Debian 11 with rsync 3.2.3
Fedora 38 with rsync 3.2.7

Creating the following environment:
mkdir -p src/x cmp/x dst/
setfattr -n user.foo -v bar cmp/x

Executing the following command:
rsync --recursive --xattrs --dry-run --compare-dest=../cmp/ src/ dst/

Results in the following error:
rsync: [generator] copy_xattrs: lsetxattr("/home/user/dst/x","user.foo")
failed: No such file or directory (2)

The issue only seems to occur if:
x is a directory (inside another, not as a direct argument)
--recursive, --xattrs and --dry-run are set
--compare-dest, --copy-dest or --link-dest are set

The error seems to come from:
source file generator.c in function recv_generator (line 1489)
https://github.com/WayneD/rsync/blob/v3.2.7/generator.c#L1489

The error seems to be either:
recv_generator (in generator.c) calling copy_xattrs when it should not
or
copy_xattrs (in xattrs.c) / sys_lsetxattr (in lib/sysxattrs.c) not checking the
dry-run flag similarly to the functions in syscall.c do

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to