gcc -Wall -O2 -shared -fPIC -o libxattr.so libxattr.c -lsqlite3This intercepts calls from rsync that deal with extended attributes. If the target is a symlink (where linux doesn't allow xattrs on symlinks) or the xattr is user.com.apple.ResourceFork (ext3 has a limit of 4k attributes), the extended attribute is redirected into an sqlite3 database. Otherwise, the extended attribute is set using the native filesystem calls. There is a performance penalty to this library as it causes a stat() on each extended attribute system call. When sqlite3 writes many attributes there is also substantial slow-down.
Start rsync like this:XATTR_LOG=/tmp/xattr.log XATTR_DB=/var/whatever/xattr.db LD_PRELOAD=.../libxattr.so rsync <options>
libxattr.c
Description: Binary data
-- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html