]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fs-metawrap: Fixed fs_copy_finish_async() wrapping
authorTimo Sirainen <tss@iki.fi>
Fri, 5 Apr 2013 18:57:11 +0000 (21:57 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 5 Apr 2013 18:57:11 +0000 (21:57 +0300)
src/lib-fs/fs-metawrap.c

index be82cad1819e556198daca34e1817a20b42656e2..7269fee264de846157761e45ffa158f27a0d6701 100644 (file)
@@ -368,8 +368,12 @@ static int fs_metawrap_copy(struct fs_file *_src, struct fs_file *_dest)
        struct metawrap_fs_file *src = (struct metawrap_fs_file *)_src;
        struct metawrap_fs_file *dest = (struct metawrap_fs_file *)_dest;
 
-       if (!dest->fs->wrap_metadata)
-               return fs_copy(src->super, dest->super);
+       if (!dest->fs->wrap_metadata) {
+               if (_src != NULL)
+                       return fs_copy(src->super, dest->super);
+               else
+                       return fs_copy_finish_async(dest->super);
+       }
        return fs_default_copy(_src, _dest);
 }