backend: continue on failed wait_for() check, not break
authorJens Axboe <axboe@fb.com>
Tue, 22 Dec 2015 20:40:14 +0000 (13:40 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 22 Dec 2015 20:40:14 +0000 (13:40 -0700)
If we have this job file:

[a]

[b]
wait_for=a

[c]
wait_for=a

[d]

then we expect a/d to run together, then b/c after a is done. However,
right now we break out of the job loop, so it acts like a stonewall.
That means that a will run first, then b/c/d. That isn't correct.

Signed-off-by: Jens Axboe <axboe@fb.com>
backend.c

index edc0644a113b259cf2d65cf91f96175a5f50201b..bd94078ad5104a52a009694176ce7f2646d75bab 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -2130,7 +2130,7 @@ reap:
                        if (waitee_running(td)) {
                                dprint(FD_PROCESS, "%s: waiting for %s\n",
                                                td->o.name, td->o.wait_for);
-                               break;
+                               continue;
                        }
 
                        init_disk_util(td);