Home | History | Annotate | Download | only in engines

Lines Matching refs:sd

31 	struct spliceio_data *sd = td->io_ops->data;
46 ret = splice(f->fd, &offset, sd->pipe[1], NULL, this_len, SPLICE_F_MORE);
57 ret2 = read(sd->pipe[0], p, ret);
75 struct spliceio_data *sd = td->io_ops->data;
86 if (sd->vmsplice_to_user_map) {
108 ret = splice(f->fd, &offset, sd->pipe[1], NULL, this_len,flags);
122 ret = vmsplice(sd->pipe[0], &iov, 1, SPLICE_F_MOVE);
125 sd->vmsplice_to_user_map) {
126 sd->vmsplice_to_user_map = 0;
153 if (sd->vmsplice_to_user_map && munmap(map, mmap_len) < 0) {
169 struct spliceio_data *sd = td->io_ops->data;
174 struct pollfd pfd = { .fd = sd->pipe[1], .events = POLLOUT, };
183 ret = vmsplice(sd->pipe[1], &iov, 1, SPLICE_F_NONBLOCK);
191 ret2 = splice(sd->pipe[0], NULL, f->fd, &off, ret, 0);
204 struct spliceio_data *sd = td->io_ops->data;
210 if (sd->vmsplice_to_user) {
218 sd->vmsplice_to_user = 0;
220 if (!sd->vmsplice_to_user)
250 struct spliceio_data *sd = td->io_ops->data;
252 if (sd) {
253 close(sd->pipe[0]);
254 close(sd->pipe[1]);
255 free(sd);
261 struct spliceio_data *sd = malloc(sizeof(*sd));
263 if (pipe(sd->pipe) < 0) {
265 free(sd);
272 sd->vmsplice_to_user = 1;
278 sd->vmsplice_to_user_map = 1;
287 td->io_ops->data = sd;