diff -Naur rsync-3.0.8/acls.c rsync-3.0.8.new/acls.c --- rsync-3.0.8/acls.c 2011-03-18 22:42:28.000000000 +0100 +++ rsync-3.0.8.new/acls.c 2011-07-29 15:11:20.000000000 +0200 @@ -278,7 +278,7 @@ id_access *ida; if ((rc = sys_acl_get_info(entry, &tag_type, &access, &g_u_id)) != 0) { errfun = "sys_acl_get_info"; - break; + rc = 0; } /* continue == done with entry; break == store in temporary ida list */ switch (tag_type) { diff -Naur rsync-3.0.8/syscall.c rsync-3.0.8.new/syscall.c --- rsync-3.0.8/syscall.c 2011-07-29 14:33:39.000000000 +0200 +++ rsync-3.0.8.new/syscall.c 2011-07-29 15:11:20.000000000 +0200 @@ -42,13 +42,6 @@ extern int preserve_perms; extern int preserve_executability; -#pragma pack(push, 4) -struct create_time { - uint32 length; - struct timespec crtime; -}; -#pragma pack(pop) - #define RETURN_ERROR_IF(x,e) \ do { \ if (x) { \ @@ -469,7 +469,8 @@ time_t get_create_time(const char *path) { - static struct create_time attrBuf; + static char attrBuf[sizeof(u_int32_t) + sizeof(struct timespec)]; + static struct timespec *crtime = (struct timespec*)&attrBuf[sizeof(u_int32_t)]; struct attrlist attrList; memset(&attrList, 0, sizeof attrList); @@ -477,7 +477,7 @@ attrList.commonattr = ATTR_CMN_CRTIME; if (getattrlist(path, &attrList, &attrBuf, sizeof attrBuf, FSOPT_NOFOLLOW) < 0) return 0; - return attrBuf.crtime.tv_sec; + return crtime->tv_sec; } int set_create_time(const char *path, time_t crtime)