From 03cd1ae4fadb716dd1fb67971cb82bd432988fe8 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 4 Jul 2011 16:02:12 -0700 Subject: Handle FES_NO_SEND properly on a hard-linked file. Fixes bug 8246. --- io.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'io.c') diff --git a/io.c b/io.c index 63dff838..4fb78aab 100644 --- a/io.c +++ b/io.c @@ -1032,13 +1032,19 @@ static void got_flist_entry_status(enum festatus status, int ndx) case FES_SUCCESS: if (remove_source_files) send_msg_int(MSG_SUCCESS, ndx); + /* FALL THROUGH */ + case FES_NO_SEND: +#ifdef SUPPORT_HARD_LINKS if (preserve_hard_links) { struct file_struct *file = flist->files[ndx - flist->ndx_start]; if (F_IS_HLINKED(file)) { + if (status == FES_NO_SEND) + flist_ndx_push(&hlink_list, -2); /* indicates a failure follows */ flist_ndx_push(&hlink_list, ndx); flist->in_progress++; } } +#endif break; case FES_REDO: if (read_batch) { @@ -1050,8 +1056,6 @@ static void got_flist_entry_status(enum festatus status, int ndx) flist->to_redo++; flist_ndx_push(&redo_list, ndx); break; - case FES_NO_SEND: - break; } } -- cgit v1.2.1