- if (robust_rename(fnametmp,fname) != 0) {
- if (errno == EXDEV) {
- /* rename failed on cross-filesystem link.
- Copy the file instead. */
- if (copy_file(fnametmp,fname, file->mode & INITACCESSPERMS)) {
- rprintf(FERROR, "copy %s -> \"%s\": %s\n",
- full_fname(fnametmp), fname,
- strerror(errno));
- } else {
- set_perms(fname,file,NULL,0);
- }
- } else {
- rprintf(FERROR,"rename %s -> \"%s\": %s\n",
- full_fname(fnametmp), fname, strerror(errno));
- }
+ if (verbose > 2) {
+ rprintf(FINFO, "renaming %s to %s\n",
+ safe_fname(fnametmp), safe_fname(fname));
+ }
+ ret = robust_rename(fnametmp, fname, file->mode & INITACCESSPERMS);
+ if (ret < 0) {
+ rsyserr(FERROR, errno, "%s %s -> \"%s\"",
+ ret == -2 ? "copy" : "rename",
+ full_fname(fnametmp), safe_fname(fname));