| 318 | } |
| 319 | |
| 320 | static int fail_tee_offset(struct io_uring *ring, struct test_ctx *ctx) |
| 321 | { |
| 322 | int ret; |
| 323 | |
| 324 | ret = do_splice_op(ring, ctx->pipe2[0], -1, ctx->pipe1[1], 0, |
| 325 | BUF_SIZE, IORING_OP_TEE); |
| 326 | if (ret != -ESPIPE && ret != -EINVAL) |
| 327 | return ret; |
| 328 | |
| 329 | ret = do_splice_op(ring, ctx->pipe2[0], 0, ctx->pipe1[1], -1, |
| 330 | BUF_SIZE, IORING_OP_TEE); |
| 331 | if (ret != -ESPIPE && ret != -EINVAL) |
| 332 | return ret; |
| 333 | |
| 334 | return 0; |
| 335 | } |
| 336 | |
| 337 | static int check_tee(struct io_uring *ring, struct test_ctx *ctx) |
| 338 | { |