• Home
  • Raw
  • Download

Lines Matching refs:ipipe

1091 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
1102 struct pipe_inode_info *ipipe; in do_splice() local
1107 ipipe = get_pipe_info(in); in do_splice()
1110 if (ipipe && opipe) { in do_splice()
1121 if (ipipe == opipe) in do_splice()
1127 return splice_pipe_to_pipe(ipipe, opipe, len, flags); in do_splice()
1130 if (ipipe) { in do_splice()
1156 ret = do_splice_from(ipipe, out, &offset, len, flags); in do_splice()
1526 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe, in splice_pipe_to_pipe() argument
1536 ret = ipipe_prep(ipipe, flags); in splice_pipe_to_pipe()
1549 pipe_double_lock(ipipe, opipe); in splice_pipe_to_pipe()
1559 if (!ipipe->nrbufs && !ipipe->writers) in splice_pipe_to_pipe()
1566 if (!ipipe->nrbufs || opipe->nrbufs >= opipe->buffers) { in splice_pipe_to_pipe()
1581 pipe_unlock(ipipe); in splice_pipe_to_pipe()
1586 ibuf = ipipe->bufs + ipipe->curbuf; in splice_pipe_to_pipe()
1597 ipipe->curbuf = (ipipe->curbuf + 1) & (ipipe->buffers - 1); in splice_pipe_to_pipe()
1598 ipipe->nrbufs--; in splice_pipe_to_pipe()
1605 if (!pipe_buf_get(ipipe, ibuf)) { in splice_pipe_to_pipe()
1629 pipe_unlock(ipipe); in splice_pipe_to_pipe()
1639 wakeup_pipe_writers(ipipe); in splice_pipe_to_pipe()
1647 static int link_pipe(struct pipe_inode_info *ipipe, in link_pipe() argument
1659 pipe_double_lock(ipipe, opipe); in link_pipe()
1673 if (i >= ipipe->nrbufs || opipe->nrbufs >= opipe->buffers) in link_pipe()
1676 ibuf = ipipe->bufs + ((ipipe->curbuf + i) & (ipipe->buffers-1)); in link_pipe()
1683 if (!pipe_buf_get(ipipe, ibuf)) { in link_pipe()
1713 if (!ret && ipipe->waiting_writers && (flags & SPLICE_F_NONBLOCK)) in link_pipe()
1716 pipe_unlock(ipipe); in link_pipe()
1737 struct pipe_inode_info *ipipe = get_pipe_info(in); in do_tee() local
1745 if (ipipe && opipe && ipipe != opipe) { in do_tee()
1753 ret = ipipe_prep(ipipe, flags); in do_tee()
1757 ret = link_pipe(ipipe, opipe, len, flags); in do_tee()