Lines Matching refs:bio_list
169 WARN_ON(!bio_list_empty(&rbio->bio_list));
444 * merging means we take the bio_list from the victim and
453 bio_list_merge_init(&dest->bio_list, &victim->bio_list);
501 * If the bio_list was empty, we also remove
505 if (bio_list_empty(&rbio->bio_list)) {
788 if (bio_list_empty(&cur->bio_list) &&
879 BUG_ON(!bio_list_empty(&rbio->bio_list));
942 * bio_list and calls end_io on them
946 struct bio *cur = bio_list_get(&rbio->bio_list);
962 * At this moment, rbio->bio_list is empty, however since rbio does not
964 * hash list, rbio may be merged with others so that rbio->bio_list
966 * Once unlock_stripe() is done, rbio->bio_list will not be updated any
970 extra = bio_list_get(&rbio->bio_list);
1097 bio_list_init(&rbio->bio_list);
1217 static int rbio_add_io_paddrs(struct btrfs_raid_bio *rbio, struct bio_list *bio_list,
1223 struct bio *last = bio_list->tail;
1284 bio_list_add(bio_list, bio);
1319 bio_list_for_each(bio, &rbio->bio_list)
1353 static inline void bio_list_put(struct bio_list *bio_list)
1357 while ((bio = bio_list_pop(bio_list)))
1440 struct bio_list *bio_list)
1448 ASSERT(bio_list_size(bio_list) == 0);
1461 * bio_list in our rbio) and our P/Q. Ignore everything else.
1482 ret = rbio_add_io_paddrs(rbio, bio_list, paddrs, stripe,
1532 ret = rbio_add_io_paddrs(rbio, bio_list, paddrs,
1541 bio_list_put(bio_list);
1710 struct bio_list *bio_list)
1714 atomic_set(&rbio->stripes_pending, bio_list_size(bio_list));
1715 while ((bio = bio_list_pop(bio_list))) {
1766 u64 a_sector = ra->bio_list.head->bi_iter.bi_sector;
1767 u64 b_sector = rb->bio_list.head->bi_iter.bi_sector;
1809 /* Add the original bio into rbio->bio_list, and update rbio::dbitmap. */
1824 bio_list_add(&rbio->bio_list, orig_bio);
2118 struct bio_list bio_list = BIO_EMPTY_LIST;
2165 ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, stripe,
2168 bio_list_put(&bio_list);
2173 submit_read_wait_bio_list(rbio, &bio_list);
2344 struct bio_list bio_list = BIO_EMPTY_LIST;
2367 ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, stripe,
2370 bio_list_put(&bio_list);
2379 submit_read_wait_bio_list(rbio, &bio_list);
2395 struct bio_list *bio_list)
2399 atomic_set(&rbio->stripes_pending, bio_list_size(bio_list));
2400 while ((bio = bio_list_pop(bio_list))) {
2438 struct bio_list bio_list;
2497 bio_list_init(&bio_list);
2498 ret = rmw_assemble_write_bios(rbio, &bio_list);
2503 ASSERT(bio_list_size(&bio_list));
2504 submit_write_bios(rbio, &bio_list);
2557 bio_list_add(&rbio->bio_list, bio);
2697 struct bio_list bio_list;
2701 bio_list_init(&bio_list);
2763 * higher layers (the bio_list in our rbio) and our p/q. Ignore
2770 ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, rbio->scrubp,
2788 ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, rbio->real_stripes,
2795 submit_write_bios(rbio, &bio_list);
2799 bio_list_put(&bio_list);
2896 struct bio_list bio_list = BIO_EMPTY_LIST;
2929 ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, stripe,
2932 bio_list_put(&bio_list);
2937 submit_read_wait_bio_list(rbio, &bio_list);