DO NOT REPLY [Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X

samba-bugs at samba-bugs at
Sun Jun 21 02:53:53 GMT 2009

mike at changed:

           What    |Removed                     |Added
                 CC|                            |mike at

------- Comment #4 from mike at  2009-06-20 21:53 CST -------
Mac OS X makes extensive use of xattrs, and I've seen hundreds of thousands of
unique xattrs on several end-user systems.  In those cases rsync eventually
runs out of memory and bails.

rsync should probably stop calling find_matching_xattr when the list reaches a
specified size.  And at least for Mac OS X, xattrs shouldn't be cached in
rsync_xal_l, they should probably be compared on the fly by the generator
somewhere near generate_and_send_sums.

Also, to address Fabrice's concern, performance will ultimately be directly
linked to the lack of a quick heuristic for determining whether xattrs have
been modified.  xattrs don't have modifications dates, so you can use either
the size or a checksum to determine if they've changed.  In my analysis, rsync
spent 20% of its time in md5_process on a task involving many xattrs with lots
of data.  Unless we come up with something faster than md5 (potentially at the
cost of reliability), this is just a performance hit we'll have to live with.

I'm going to take a stab at this, but I'm curious whether you've put any more
thought into how xattr support is implemented since your last comment here.

Mike Bombich

Configure bugmail:
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.

More information about the rsync mailing list