Only skip deletions on IOERR_GENERAL. Fixes bug 7809.
[rsync/rsync.git] / generator.c
index e3890bb..b8d930e 100644 (file)
@@ -288,7 +288,7 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
        if (allowed_lull)
                maybe_send_keepalive(time(NULL), MSK_ALLOW_FLUSH);
 
-       if (io_error && !ignore_errors) {
+       if (io_error & IOERR_GENERAL && !ignore_errors) {
                if (already_warned)
                        return;
                rprintf(FINFO,
@@ -1353,6 +1353,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                goto cleanup;
                        }
                }
+
 #ifdef SUPPORT_XATTRS
                if (preserve_xattrs && statret == 1)
                        copy_xattrs(fnamecmpbuf, fname);