| 143 | } |
| 144 | |
| 145 | static int verify_seq(struct recv_data *rd, void *verify_ptr, int verify_sz, |
| 146 | int start_bid) |
| 147 | { |
| 148 | unsigned long *seqp; |
| 149 | int seq_size = verify_sz / sizeof(unsigned long); |
| 150 | int i; |
| 151 | |
| 152 | seqp = verify_ptr; |
| 153 | for (i = 0; i < seq_size; i++) { |
| 154 | if (rd->seq != *seqp) { |
| 155 | fprintf(stderr, "bid=%d, got seq %lu, wanted %lu, offset %d\n", start_bid, *seqp, rd->seq, i); |
| 156 | return 0; |
| 157 | } |
| 158 | seqp++; |
| 159 | rd->seq++; |
| 160 | } |
| 161 | |
| 162 | return 1; |
| 163 | } |
| 164 | |
| 165 | static int recv_get_cqe(struct io_uring *ring, struct recv_data *rd, |
| 166 | struct io_uring_cqe **cqe) |