Lines Matching refs:ipipe

1219 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
1246 struct pipe_inode_info *ipipe;
1255 ipipe = get_pipe_info(in, true);
1258 if (ipipe && opipe) {
1263 if (ipipe == opipe)
1269 ret = splice_pipe_to_pipe(ipipe, opipe, len, flags);
1270 } else if (ipipe) {
1292 ret = do_splice_from(ipipe, out, &offset, len, flags);
1340 struct pipe_inode_info *ipipe;
1345 ipipe = get_pipe_info(in, true);
1348 if (ipipe) {
1671 * Splice contents of ipipe to opipe.
1673 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
1686 ret = ipipe_prep(ipipe, flags);
1699 pipe_double_lock(ipipe, opipe);
1701 i_tail = ipipe->tail;
1702 i_mask = ipipe->ring_size - 1;
1716 i_head = ipipe->head;
1719 if (pipe_empty(i_head, i_tail) && !ipipe->writers)
1742 pipe_unlock(ipipe);
1747 ibuf = &ipipe->bufs[i_tail & i_mask];
1752 * Simply move the whole buffer from ipipe to opipe
1757 ipipe->tail = i_tail;
1767 if (!pipe_buf_get(ipipe, ibuf)) {
1792 pipe_unlock(ipipe);
1802 wakeup_pipe_writers(ipipe);
1808 * Link contents of ipipe to opipe.
1810 static int link_pipe(struct pipe_inode_info *ipipe,
1825 pipe_double_lock(ipipe, opipe);
1827 i_tail = ipipe->tail;
1828 i_mask = ipipe->ring_size - 1;
1840 i_head = ipipe->head;
1851 ibuf = &ipipe->bufs[i_tail & i_mask];
1858 if (!pipe_buf_get(ipipe, ibuf)) {
1883 pipe_unlock(ipipe);
1903 struct pipe_inode_info *ipipe = get_pipe_info(in, true);
1912 * Duplicate the contents of ipipe to opipe without actually
1915 if (ipipe && opipe && ipipe != opipe) {
1920 * Keep going, unless we encounter an error. The ipipe/opipe
1923 ret = ipipe_prep(ipipe, flags);
1927 ret = link_pipe(ipipe, opipe, len, flags);