{
struct writer_node *wn = container_of(t, struct writer_node, task);
struct private_file_write_data *pfwd = wn->private_data;
- int ret;
+ int ret = btr_node_status(wn->btrn, wn->min_iqs, BTR_NT_LEAF);
- t->error = 0;
- ret = btr_node_status(wn->btrn, wn->min_iqs, BTR_NT_LEAF);
- if (ret > 0 && pfwd->fd >= 0)
- para_fd_set(pfwd->fd, &s->wfds, &s->max_fileno);
- else if (ret != 0) /* error or bos and fd not yet open */
- sched_min_delay(s);
+ if (ret == 0)
+ return;
+ if (ret < 0 || pfwd->fd < 0)
+ return sched_min_delay(s);
+ para_fd_set(pfwd->fd, &s->wfds, &s->max_fileno);
}
static void file_write_close(struct writer_node *wn)