Lines Matching refs:ipipe
1335 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
1346 struct pipe_inode_info *ipipe; in do_splice() local
1351 ipipe = get_pipe_info(in); in do_splice()
1354 if (ipipe && opipe) { in do_splice()
1365 if (ipipe == opipe) in do_splice()
1368 return splice_pipe_to_pipe(ipipe, opipe, len, flags); in do_splice()
1371 if (ipipe) { in do_splice()
1394 ret = do_splice_from(ipipe, out, &offset, len, flags); in do_splice()
1790 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe, in splice_pipe_to_pipe() argument
1800 ret = ipipe_prep(ipipe, flags); in splice_pipe_to_pipe()
1813 pipe_double_lock(ipipe, opipe); in splice_pipe_to_pipe()
1823 if (!ipipe->nrbufs && !ipipe->writers) in splice_pipe_to_pipe()
1830 if (!ipipe->nrbufs || opipe->nrbufs >= opipe->buffers) { in splice_pipe_to_pipe()
1845 pipe_unlock(ipipe); in splice_pipe_to_pipe()
1850 ibuf = ipipe->bufs + ipipe->curbuf; in splice_pipe_to_pipe()
1861 ipipe->curbuf = (ipipe->curbuf + 1) & (ipipe->buffers - 1); in splice_pipe_to_pipe()
1862 ipipe->nrbufs--; in splice_pipe_to_pipe()
1869 ibuf->ops->get(ipipe, ibuf); in splice_pipe_to_pipe()
1887 pipe_unlock(ipipe); in splice_pipe_to_pipe()
1897 wakeup_pipe_writers(ipipe); in splice_pipe_to_pipe()
1905 static int link_pipe(struct pipe_inode_info *ipipe, in link_pipe() argument
1917 pipe_double_lock(ipipe, opipe); in link_pipe()
1931 if (i >= ipipe->nrbufs || opipe->nrbufs >= opipe->buffers) in link_pipe()
1934 ibuf = ipipe->bufs + ((ipipe->curbuf + i) & (ipipe->buffers-1)); in link_pipe()
1941 ibuf->ops->get(ipipe, ibuf); in link_pipe()
1965 if (!ret && ipipe->waiting_writers && (flags & SPLICE_F_NONBLOCK)) in link_pipe()
1968 pipe_unlock(ipipe); in link_pipe()
1989 struct pipe_inode_info *ipipe = get_pipe_info(in); in do_tee() local
1997 if (ipipe && opipe && ipipe != opipe) { in do_tee()
2002 ret = ipipe_prep(ipipe, flags); in do_tee()
2006 ret = link_pipe(ipipe, opipe, len, flags); in do_tee()