Btrfs: add missing error check in incremental send
authorFilipe David Borba Manana <fdmanana@gmail.com>
Thu, 30 Jan 2014 13:27:12 +0000 (13:27 +0000)
committerJosef Bacik <jbacik@fb.com>
Mon, 10 Mar 2014 19:15:40 +0000 (15:15 -0400)
Function wait_for_parent_move() returns negative value if an error
happened, 0 if we don't need to wait for the parent's move, and
1 if the wait is needed.
Before this change an error return value was being treated like the
return value 1, which was not correct.

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
fs/btrfs/send.c

index 9dde971..70272e1 100644 (file)
@@ -3227,7 +3227,10 @@ verbose_printk("btrfs: process_recorded_refs %llu\n", sctx->cur_ino);
                                 * dirs, we always have one new and one deleted
                                 * ref. The deleted ref is ignored later.
                                 */
-                               if (wait_for_parent_move(sctx, cur)) {
+                               ret = wait_for_parent_move(sctx, cur);
+                               if (ret < 0)
+                                       goto out;
+                               if (ret) {
                                        ret = add_pending_dir_move(sctx,
                                                                   cur->dir);
                                        *pending_move = 1;