- pfwd->check_fd = 1;
- return 1;
-}
-
-static void file_write_pre_select_btr(struct sched *s, struct task *t)
-{
- struct writer_node *wn = container_of(t, struct writer_node, task);
- struct private_file_write_data *pfwd = wn->private_data;
- int ret;
-
- t->error = 0;
- pfwd->check_fd = 0;
- ret = btr_node_status(wn->btrn, wn->min_iqs);
- if (ret > 0) {
- para_fd_set(pfwd->fd, &s->wfds, &s->max_fileno);
- pfwd->check_fd = 1;
- } else if (ret < 0) {
- s->timeout.tv_sec = 0;
- s->timeout.tv_usec = 1;
- }
-}
-
-static int file_write_post_select(struct sched *s, struct writer_node *wn)
-{
- struct private_file_write_data *pfwd = wn->private_data;
- struct writer_node_group *wng = wn->wng;
- int ret;
-
- if (!pfwd->check_fd)
- return 1;
- if (*wng->loaded <= wn->written)
- return 1;
- if (!FD_ISSET(pfwd->fd, &s->wfds))
- return 1;
-// PARA_INFO_LOG("writing %zd\n", *wng->loaded);
- ret = write(pfwd->fd, *wng->bufp + wn->written,
- *wng->loaded - wn->written);
- if (ret < 0)
- return -E_FW_WRITE;
- wn->written += ret;
- return 1;