Lines Matching refs:opipe
1002 struct pipe_inode_info *opipe,
1012 struct pipe_inode_info *opipe;
1021 opipe = get_pipe_info(out, true);
1023 if (ipipe && opipe) {
1028 if (ipipe == opipe)
1034 return splice_pipe_to_pipe(ipipe, opipe, len, flags);
1070 if (opipe) {
1084 pipe_lock(opipe);
1085 ret = wait_for_space(opipe, flags);
1090 p_space = opipe->max_usage - pipe_occupancy(opipe->head, opipe->tail);
1093 ret = do_splice_to(in, &offset, opipe, len, flags);
1095 pipe_unlock(opipe);
1097 wakeup_pipe_readers(opipe);
1114 struct pipe_inode_info *opipe;
1119 opipe = get_pipe_info(out, true);
1123 if (opipe && off_out)
1428 * Splice contents of ipipe to opipe.
1431 struct pipe_inode_info *opipe,
1447 ret = opipe_prep(opipe, flags);
1456 pipe_double_lock(ipipe, opipe);
1460 o_head = opipe->head;
1461 o_mask = opipe->ring_size - 1;
1466 if (!opipe->readers) {
1474 o_tail = opipe->tail;
1484 pipe_full(o_head, o_tail, opipe->max_usage)) {
1500 pipe_unlock(opipe);
1505 obuf = &opipe->bufs[o_head & o_mask];
1509 * Simply move the whole buffer from ipipe to opipe
1518 opipe->head = o_head;
1543 opipe->head = o_head;
1550 pipe_unlock(opipe);
1556 wakeup_pipe_readers(opipe);
1565 * Link contents of ipipe to opipe.
1568 struct pipe_inode_info *opipe,
1582 pipe_double_lock(ipipe, opipe);
1586 o_head = opipe->head;
1587 o_mask = opipe->ring_size - 1;
1590 if (!opipe->readers) {
1598 o_tail = opipe->tail;
1605 pipe_full(o_head, o_tail, opipe->max_usage))
1609 obuf = &opipe->bufs[o_head & o_mask];
1636 opipe->head = o_head;
1641 pipe_unlock(opipe);
1647 wakeup_pipe_readers(opipe);
1661 struct pipe_inode_info *opipe = get_pipe_info(out, true);
1669 * Duplicate the contents of ipipe to opipe without actually
1672 if (ipipe && opipe && ipipe != opipe) {
1677 * Keep going, unless we encounter an error. The ipipe/opipe
1682 ret = opipe_prep(opipe, flags);
1684 ret = link_pipe(ipipe, opipe, len, flags);