X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=file_write.c;h=7a24b3ac6b78e9d56b1f194c0479c3584cabbfb3;hp=a9635ca2d558c3c541aca0c73bde435f6ef02acb;hb=3bb5d9c5f7e30c5b4d2216171ee9aff1389d70ae;hpb=d0f36435b0f81368a778fda33f3a7df86830f5ac diff --git a/file_write.c b/file_write.c index a9635ca2..7a24b3ac 100644 --- a/file_write.c +++ b/file_write.c @@ -96,12 +96,11 @@ static void file_write_pre_select_btr(struct sched *s, struct task *t) t->error = 0; pfwd->check_fd = 0; - ret = btr_node_status(wn->btrn, wn->min_iqs); - if (ret >= 0) { + ret = btr_node_status(wn->btrn, wn->min_iqs, BTR_NT_LEAF); + if (ret > 0) { para_fd_set(pfwd->fd, &s->wfds, &s->max_fileno); pfwd->check_fd = 1; - } - if (ret != 0) { + } else if (ret < 0) { s->timeout.tv_sec = 0; s->timeout.tv_usec = 1; } @@ -148,7 +147,7 @@ static void file_write_post_select_btr(__a_unused struct sched *s, size_t bytes; t->error = 0; - ret = btr_node_status(btrn, wn->min_iqs); + ret = btr_node_status(btrn, wn->min_iqs, BTR_NT_LEAF); if (ret == 0) return; if (ret < 0) @@ -183,6 +182,11 @@ __malloc static void *file_write_parse_config(const char *options) return NULL; } +static void file_write_free_config(void *conf) +{ + file_cmdline_parser_free(conf); +} + /** the init function of the file writer */ void file_write_init(struct writer *w) { @@ -195,6 +199,7 @@ void file_write_init(struct writer *w) w->post_select = file_write_post_select; w->post_select_btr = file_write_post_select_btr; w->parse_config = file_write_parse_config; + w->free_config = file_write_free_config; w->close = file_write_close; w->shutdown = NULL; /* nothing to do */ w->help = (struct ggo_help) {