X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=write.c;h=8ddd51a9d4d8ef5b061159102f0b99390cc283d5;hb=ae7a5e56804fcb6789b5512201cacb6f29b2fb7b;hp=dda1b705c19151000dd08098f99d2b9d4c71f11c;hpb=92f089b820b45a5dbdc5b4f69d596105d5acba68;p=paraslash.git diff --git a/write.c b/write.c index dda1b705..8ddd51a9 100644 --- a/write.c +++ b/write.c @@ -8,7 +8,6 @@ #include #include -#include #include #include "para.h" @@ -209,6 +208,20 @@ static int main_btr(struct sched *s) s->default_timeout.tv_sec = 10; s->default_timeout.tv_usec = 50000; ret = schedule(s); + if (ret >= 0) { + int j; + for (j = 0; j < i; j++) { + struct task *t = &wns[j].task; + assert(t->error < 0); + if (t->error != -E_WRITE_COMMON_EOF + && t->error != -E_BTR_EOF) { + PARA_ERROR_LOG("%s: %s\n", t->status, + para_strerror(-t->error)); + if (ret >= 0) + ret = t->error; + } + } + } out: for (i--; i >= 0; i--) { struct writer_node *wn = wns + i; @@ -216,6 +229,7 @@ out: w->close(wn); btr_free_node(wn->btrn); + w->free_config(wn->conf); free(wn->conf); } free(wns);