/* xst.st_mode will be 0 if there's no current stat xattr */
if (xst.st_mode && sys_lremovexattr(fname, XSTAT_ATTR) < 0) {
rsyserr(FERROR, errno,
/* xst.st_mode will be 0 if there's no current stat xattr */
if (xst.st_mode && sys_lremovexattr(fname, XSTAT_ATTR) < 0) {
rsyserr(FERROR, errno,
char buf[256];
int len = snprintf(buf, sizeof buf, "%o %u,%u %u:%u",
to_wire_mode(fmode),
(int)major(rdev), (int)minor(rdev),
char buf[256];
int len = snprintf(buf, sizeof buf, "%o %u,%u %u:%u",
to_wire_mode(fmode),
(int)major(rdev), (int)minor(rdev),
if (sys_lsetxattr(fname, XSTAT_ATTR, buf, len) < 0) {
if (errno == EPERM && S_ISLNK(fst.st_mode))
return 0;
if (sys_lsetxattr(fname, XSTAT_ATTR, buf, len) < 0) {
if (errno == EPERM && S_ISLNK(fst.st_mode))
return 0;