Skip to content

Conversation

rosorio
Copy link
Contributor

@rosorio rosorio commented Jun 22, 2025

When a file have many xattrs that the sum of all
attribute names is larger than 1024, rsync transfer will fail.

This issue was fixed by #766

When a file have many xattrs that the sum of all
attribute names is larger than 1024, rsync will fail.
@rosorio rosorio force-pushed the 286773-xattr-fix branch from 8b9b324 to 8e1fcb7 Compare June 22, 2025 18:55
@rosorio
Copy link
Contributor Author

rosorio commented Jun 22, 2025

Apparently cygwin doesn't support long xattrs so for now skip the test for this platform

First pach to extend xattr buffer makes rsync fail when copy files
without xattr such as fifo. Extend the test to ensure new patch work
as expected

Use checktee instead of checkit because gnu diff fails comparing fifos.
@rosorio rosorio force-pushed the 286773-xattr-fix branch from 991a808 to 7a12971 Compare June 29, 2025 09:21
@rosorio
Copy link
Contributor Author

rosorio commented Jun 29, 2025

Apparently new test on pipes fails on dir-diff for cygwin, but I don't know how to test that.

freebsd-git pushed a commit to freebsd/freebsd-ports that referenced this pull request Jul 29, 2025
Fix sys_llistxattr() for FreeBSD code to request a larger
buffer to store the extended attributes list if the current
one is too small.

I also improve the attribute parsing by reducing to one the memmove
calls when converting FreeBSD attribute list to the format used by
Linux and extend the rsync unit tests for long xattrs lists.

Changes where submitted to upstream as:
RsyncProject/rsync#781
RsyncProject/rsync#766

PR:		286773
Reported by:	Peter Eriksson <[email protected]>
Obtained from:	Peter Eriksson <[email protected]>
Reviewed by:	rodrigo
Tested by:	rodrigo
Event:		Berlin Hackaton 202507
Relnotes:  	yes
@rosorio
Copy link
Contributor Author

rosorio commented Aug 23, 2025

Hi @tridge ,
I try to extend the rsync test to cover the issue with xattrs on FreeBSD #766 ,
unfortunately I was not able fix the breakage on cywing (I have no windows
install around me).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant