diff options
author | Wayne Davison <wayned@samba.org> | 2007-10-18 14:04:42 +0000 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2007-10-18 14:04:42 +0000 |
commit | 37ce167996540b7971e3e966c26e0fc64a1f8dbe (patch) | |
tree | 806d4220e9067d4c4f1d1dc26460154141dd338a /io.c | |
parent | 88a7426843ea6b8ee80ea9c986ffc554600ef4e9 (diff) | |
download | rsync-37ce167996540b7971e3e966c26e0fc64a1f8dbe.tar.gz rsync-37ce167996540b7971e3e966c26e0fc64a1f8dbe.tar.bz2 rsync-37ce167996540b7971e3e966c26e0fc64a1f8dbe.zip |
We can't decrement the in_progress value for a hard-linked file until
the generator gets a chance to finish the hard links.
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -181,7 +181,6 @@ static void got_flist_entry_status(enum festatus status, const char *buf) struct file_list *flist = flist_for_ndx(ndx); assert(flist != NULL); - assert(ndx >= flist->ndx_start); if (remove_source_files) { active_filecnt--; @@ -197,8 +196,10 @@ static void got_flist_entry_status(enum festatus status, const char *buf) send_msg(MSG_SUCCESS, buf, 4, 0); if (preserve_hard_links) { struct file_struct *file = flist->files[ndx - flist->ndx_start]; - if (F_IS_HLINKED(file)) + if (F_IS_HLINKED(file)) { flist_ndx_push(&hlink_list, ndx); + flist->in_progress++; + } } break; case FES_REDO: |