diff --git a/cmirror.c b/cmirror.c index 967235d..c625d05 100644 --- a/cmirror.c +++ b/cmirror.c @@ -765,9 +765,11 @@ static void slave(char *slave_path) { g_autofree char *hardlink = fn_unescape(word[7]); g_autoptr(FileInfo) fi_src = fileinfo_lstat(hardlink); if (!fi_src) { + // source removed, i/o error, --reduce or logic error. We could + // request the file here, but the above cases don't seem to + // ustify this. warn("%s: hardlink source %s: %m\n", filename, hardlink); - } - if (!fi_is || fi_is->dev != fi_src->dev || fi_is->ino != fi_src->ino) { + } else if (!fi_is || fi_is->dev != fi_src->dev || fi_is->ino != fi_src->ino) { if (fi_is) out_of_the_way(fi_is); if (!quiet)