Lines Matching refs:ipipe

1089 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
1100 struct pipe_inode_info *ipipe; in do_splice() local
1105 ipipe = get_pipe_info(in); in do_splice()
1108 if (ipipe && opipe) { in do_splice()
1119 if (ipipe == opipe) in do_splice()
1122 return splice_pipe_to_pipe(ipipe, opipe, len, flags); in do_splice()
1125 if (ipipe) { in do_splice()
1148 ret = do_splice_from(ipipe, out, &offset, len, flags); in do_splice()
1508 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe, in splice_pipe_to_pipe() argument
1518 ret = ipipe_prep(ipipe, flags); in splice_pipe_to_pipe()
1531 pipe_double_lock(ipipe, opipe); in splice_pipe_to_pipe()
1541 if (!ipipe->nrbufs && !ipipe->writers) in splice_pipe_to_pipe()
1548 if (!ipipe->nrbufs || opipe->nrbufs >= opipe->buffers) { in splice_pipe_to_pipe()
1563 pipe_unlock(ipipe); in splice_pipe_to_pipe()
1568 ibuf = ipipe->bufs + ipipe->curbuf; in splice_pipe_to_pipe()
1579 ipipe->curbuf = (ipipe->curbuf + 1) & (ipipe->buffers - 1); in splice_pipe_to_pipe()
1580 ipipe->nrbufs--; in splice_pipe_to_pipe()
1587 pipe_buf_get(ipipe, ibuf); in splice_pipe_to_pipe()
1605 pipe_unlock(ipipe); in splice_pipe_to_pipe()
1615 wakeup_pipe_writers(ipipe); in splice_pipe_to_pipe()
1623 static int link_pipe(struct pipe_inode_info *ipipe, in link_pipe() argument
1635 pipe_double_lock(ipipe, opipe); in link_pipe()
1649 if (i >= ipipe->nrbufs || opipe->nrbufs >= opipe->buffers) in link_pipe()
1652 ibuf = ipipe->bufs + ((ipipe->curbuf + i) & (ipipe->buffers-1)); in link_pipe()
1659 pipe_buf_get(ipipe, ibuf); in link_pipe()
1683 if (!ret && ipipe->waiting_writers && (flags & SPLICE_F_NONBLOCK)) in link_pipe()
1686 pipe_unlock(ipipe); in link_pipe()
1707 struct pipe_inode_info *ipipe = get_pipe_info(in); in do_tee() local
1715 if (ipipe && opipe && ipipe != opipe) { in do_tee()
1720 ret = ipipe_prep(ipipe, flags); in do_tee()
1724 ret = link_pipe(ipipe, opipe, len, flags); in do_tee()