Index: generator.c =================================================================== RCS file: /tmp/rsync_cvs/rsync/generator.c,v retrieving revision 1.221 diff -u -r1.221 generator.c --- generator.c 1 Aug 2005 04:09:58 -0000 1.221 +++ generator.c 5 Aug 2005 04:42:21 -0000 @@ -811,7 +811,7 @@ return; } - if (am_root && preserve_devices && IS_DEVICE(file->mode)) { + if (preserve_devices && IS_DEVICE(file->mode)) { if (statret != 0 || (st.st_mode & ~CHMOD_BITS) != (file->mode & ~CHMOD_BITS) || st.st_rdev != file->u.rdev) { @@ -829,8 +829,14 @@ (int)file->mode, (int)file->u.rdev); } if (do_mknod(fname,file->mode,file->u.rdev) < 0) { - rsyserr(FERROR, errno, "mknod %s failed", - full_fname(fname)); + if (!am_root && (S_ISBLK(file->mode) || S_ISCHR(file->mode)) && errno == 1 && !verbose) { + } else if (!am_root && (S_ISBLK(file->mode) || S_ISCHR(file->mode)) && errno == 1 && verbose) { + rsyserr(FINFO, errno, "mknod %s failed, uid!=0?", + full_fname(fname)); + } else { + rsyserr(FERROR, errno, "mknod %s failed", + full_fname(fname)); + } } else { set_perms(fname,file,NULL,0); if (itemizing) {