samba-bugs at samba.org
2023-Jun-10  12:33 UTC
[Bug 15393] New: rsync attempts to set extended attributes while in dry-run
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: wayne at opencoder.net
          Reporter: miguelangel.prosper at gmail.com
        QA Contact: rsync-qa at 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.
Maybe Matching Threads
- Old FreeBSD4.11 build.
- DO NOT REPLY [Bug 6701] New: permission of attributes are not preserved
- supporting --fake-super on opensolaris (zfs) destination
- [Bug 1582] New: rsync dry run cannot find missing folders, contradicts actual run.
- [PATCH v2 1/2] xattrs: Skip security.evm extended attribute
