bio_list
struct bio_list punt, nopunt;
if (!current->bio_list || !bs->rescue_workqueue)
if (bio_list_empty(¤t->bio_list[0]) &&
bio_list_empty(¤t->bio_list[1]))
while ((bio = bio_list_pop(¤t->bio_list[0])))
current->bio_list[0] = nopunt;
while ((bio = bio_list_pop(¤t->bio_list[1])))
current->bio_list[1] = nopunt;
struct bio_list bios = BIO_EMPTY_LIST;
struct bio_list async_bios;
struct bio_list bio_list_on_stack[2];
current->bio_list = bio_list_on_stack;
struct bio_list lower, same;
current->bio_list = NULL;
struct bio_list bio_list[2] = { };
current->bio_list = bio_list;
} while ((bio = bio_list_pop(&bio_list[0])));
current->bio_list = NULL;
if (current->bio_list) {
bio_list_add_head(¤t->bio_list[0], bio);
bio_list_add(¤t->bio_list[0], bio);
void blk_steal_bios(struct bio_list *list, struct request *rq)
struct bio_list bio_list_on_stack;
struct bio_list *cancel_bios)
struct bio_list cancel_bios[2] = { };
struct bio_list bios_bps; /* queued bios for bps limit */
struct bio_list bios_iops; /* queued bios for iops limit */
bio_list_add(&zwplug->bio_list, bio);
bio = bio_list_peek(&zwplug->bio_list);
bio_list_pop(&zwplug->bio_list);
bio_list_add_head(&zwplug->bio_list, bio);
if (!bio_list_empty(&zwplug->bio_list)) {
if (bio_list_empty(&zwplug->bio_list))
else if (!bio_list_empty(&zwplug->bio_list))
bio = bio_list_pop(&zwplug->bio_list);
zwp_bio_list_size = bio_list_size(&zwplug->bio_list);
WARN_ON_ONCE(!bio_list_empty(&zwplug->bio_list));
if (!zwplug->wp_offset && bio_list_empty(&zwplug->bio_list)) {
bio_list_init(&zwplug->bio_list);
struct bio_list bio_list;
if (bio_list_empty(&zwplug->bio_list))
while ((bio = bio_list_pop(&zwplug->bio_list)))
struct bio_list list;
while ((bio = bio_list_pop(&info->bio_list)) != NULL) {
bio_list_init(&info->bio_list);
struct bio_list merge_bio;
bio_list_merge(&info->bio_list, &merge_bio);
struct bio_list bio_list;
if (current->bio_list)
if (current->bio_list) {
BUG_ON(current->bio_list);
BUG_ON(current->bio_list);
!current->bio_list)
BUG_ON(current->bio_list);
struct bio_list list;
struct bio_list *inmates)
struct bio_list *bios)
struct bio_list *inmates)
struct bio_list *inmates)
struct bio_list bios;
struct bio_list bios;
struct bio_list *bios);
struct bio_list *inmates);
struct bio_list *bios)
struct bio_list *bios)
struct bio_list *bios);
struct bio_list bios;
#define dm_bufio_in_request() (!!current->bio_list)
struct bio_list bios;
struct bio_list bios;
struct bio_list bios;
struct bio_list bios;
struct bio_list bios;
struct bio_list deferred_bios;
static void defer_bios(struct cache *cache, struct bio_list *bios)
struct bio_list bios;
struct bio_list deferred_bios;
struct bio_list deferred_discard_bios;
struct bio_list deferred_flush_bios;
struct bio_list deferred_flush_completions;
struct bio_list discards = BIO_EMPTY_LIST;
struct bio_list bios = BIO_EMPTY_LIST;
struct bio_list bios = BIO_EMPTY_LIST;
struct bio_list bio_completions = BIO_EMPTY_LIST;
static void fail_bios(struct bio_list *bios, blk_status_t status)
static void submit_bios(struct bio_list *bios)
static void issue_deferred_bios(struct clone *clone, struct bio_list *bios)
struct bio_list flush_bios = BIO_EMPTY_LIST;
struct bio_list normal_bios = BIO_EMPTY_LIST;
struct bio_list deferred_bios;
struct bio_list deferred;
struct bio_list flush_bio_list;
struct bio_list bios;
struct bio_list bios_in; /* Worker bios input list. */
struct bio_list deferred_bios;
struct bio_list deferred_bios, marked_bios;
struct bio_list synchronous_bios;
struct bio_list flush_bio_list;
struct bio_list bio_queue;
struct bio_list waiting;
struct bio_list bio_queue;
struct bio_list queued_bios;
struct bio_list bios;
struct bio_list *bl;
struct bio_list holds;
static void dispatch_bios(void *context, struct bio_list *bio_list)
while ((bio = bio_list_pop(bio_list)))
static void do_reads(struct mirror_set *ms, struct bio_list *reads)
struct bio_list reads;
struct bio_list writes;
struct bio_list failures;
struct bio_list holds; /* bios are waiting until suspend */
static void do_writes(struct mirror_set *ms, struct bio_list *writes)
struct bio_list sync, nosync, recover, *this_list = NULL;
struct bio_list requeue;
static void do_failures(struct mirror_set *ms, struct bio_list *failures)
struct bio_list reads, writes, failures;
struct bio_list delayed_bios;
struct bio_list *bios),
void dm_rh_inc_pending(struct dm_region_hash *rh, struct bio_list *bios)
void (*dispatch_bios)(void *context, struct bio_list *bios);
struct bio_list bios_queued_during_merge;
struct bio_list origin_bios;
struct bio_list snapshot_bios;
struct bio_list bios;
struct bio_list bios;
struct bio_list bios;
struct bio_list bios, bio_completions;
struct bio_list deferred_flush_bios;
struct bio_list deferred_flush_completions;
struct bio_list deferred_bio_list;
struct bio_list retry_on_resume_list;
struct bio_list *bios)
struct bio_list *bios)
static void error_bio_list(struct bio_list *bios, blk_status_t error)
static void error_thin_bio_list(struct thin_c *tc, struct bio_list *master,
struct bio_list bios;
struct bio_list bios;
struct bio_list bios;
struct bio_list defer_bios;
struct bio_list issue_bios;
struct bio_list waiters;
struct bio_list new_waiters;
struct bio_list *permitted_waiters;
struct bio_list permitted_discards;
struct bio_list *waiters = &limiter->waiters;
struct bio_list waiting_flush_bios;
struct bio_list bios;
struct bio_list bios_merged;
struct bio_list flush_list;
struct bio_list bio_list;
WARN_ON(!bio_list_empty(&cw->bio_list));
while ((bio = bio_list_pop(&cw->bio_list))) {
bio_list_init(&cw->bio_list);
bio_list_add(&cw->bio_list, bio);
struct bio_list flush_list;
static void alloc_multiple_bios(struct bio_list *blist, struct clone_info *ci,
struct bio_list blist = BIO_EMPTY_LIST;
struct bio_list blist = BIO_EMPTY_LIST;
mddev->bitmap_ops->unplug(mddev, current->bio_list == NULL);
struct bio_list pending;
struct bio_list pending_bio_list;
struct bio_list *bio_list = current->bio_list;
if (atomic_read(&conf->nr_pending) && bio_list &&
(!bio_list_empty(&bio_list[0]) || !bio_list_empty(&bio_list[1])))
struct bio_list pending_bio_list;
struct bio_list flush_barriers; /* size == 0 flush bios */
static void dispatch_bio_list(struct bio_list *tmp)
struct bio_list *list)
struct bio_list tmp = BIO_EMPTY_LIST;
struct bio_list *bios)
struct bio_list tmp = BIO_EMPTY_LIST;
struct bio_list pending_bios = BIO_EMPTY_LIST;
struct bio_list bios;
struct bio_list requeue_list;
private->iob.bio_list = dreq->bio;
private->iob.bio_list = bio;
struct dasd_diag_bio *bio_list;
static void iblock_submit_bios(struct bio_list *list)
struct bio_list list;
struct bio_list list;
bio_list_init(&rbio->bio_list);
static int rbio_add_io_paddrs(struct btrfs_raid_bio *rbio, struct bio_list *bio_list,
struct bio *last = bio_list->tail;
bio_list_add(bio_list, bio);
bio_list_for_each(bio, &rbio->bio_list)
static inline void bio_list_put(struct bio_list *bio_list)
while ((bio = bio_list_pop(bio_list)))
struct bio_list *bio_list)
ASSERT(bio_list_size(bio_list) == 0);
ret = rbio_add_io_paddrs(rbio, bio_list, paddrs, stripe,
ret = rbio_add_io_paddrs(rbio, bio_list, paddrs,
bio_list_put(bio_list);
WARN_ON(!bio_list_empty(&rbio->bio_list));
struct bio_list *bio_list)
atomic_set(&rbio->stripes_pending, bio_list_size(bio_list));
while ((bio = bio_list_pop(bio_list))) {
u64 a_sector = ra->bio_list.head->bi_iter.bi_sector;
u64 b_sector = rb->bio_list.head->bi_iter.bi_sector;
bio_list_add(&rbio->bio_list, orig_bio);
struct bio_list bio_list = BIO_EMPTY_LIST;
ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, stripe,
bio_list_put(&bio_list);
submit_read_wait_bio_list(rbio, &bio_list);
struct bio_list bio_list = BIO_EMPTY_LIST;
ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, stripe,
bio_list_put(&bio_list);
submit_read_wait_bio_list(rbio, &bio_list);
struct bio_list *bio_list)
atomic_set(&rbio->stripes_pending, bio_list_size(bio_list));
while ((bio = bio_list_pop(bio_list))) {
struct bio_list bio_list;
bio_list_init(&bio_list);
ret = rmw_assemble_write_bios(rbio, &bio_list);
ASSERT(bio_list_size(&bio_list));
submit_write_bios(rbio, &bio_list);
bio_list_add(&rbio->bio_list, bio);
struct bio_list bio_list;
bio_list_init(&bio_list);
ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, rbio->scrubp,
ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, rbio->real_stripes,
submit_write_bios(rbio, &bio_list);
bio_list_put(&bio_list);
struct bio_list bio_list = BIO_EMPTY_LIST;
ret = rbio_add_io_paddrs(rbio, &bio_list, paddrs, stripe,
bio_list_put(&bio_list);
submit_read_wait_bio_list(rbio, &bio_list);
bio_list_merge_init(&dest->bio_list, &victim->bio_list);
if (bio_list_empty(&rbio->bio_list)) {
if (bio_list_empty(&cur->bio_list) &&
BUG_ON(!bio_list_empty(&rbio->bio_list));
struct bio *cur = bio_list_get(&rbio->bio_list);
extra = bio_list_get(&rbio->bio_list);
struct bio_list bio_list;
struct bio *bio_list; /* singly linked via bi_private */
bio->bi_private = dio->bio_list;
dio->bio_list = bio;
while (dio->refcount > 1 && dio->bio_list == NULL) {
if (dio->bio_list) {
bio = dio->bio_list;
dio->bio_list = bio->bi_private;
while (dio->bio_list) {
bio = dio->bio_list;
dio->bio_list = bio->bi_private;
INIT_LIST_HEAD(&io->bio_list);
list_add_tail(&be->list, &io->bio_list);
struct list_head *head = &io->bio_list;
struct list_head *head = &io->bio_list;
if (list_empty(&io->bio_list))
list_splice_init(&io->bio_list, &list);
struct list_head bio_list; /* bio entry list head */
static struct bio_list failed_read_list = BIO_EMPTY_LIST;
struct bio_list tmp = BIO_EMPTY_LIST;
static inline int bio_list_empty(const struct bio_list *bl)
static inline void bio_list_init(struct bio_list *bl)
static inline unsigned bio_list_size(const struct bio_list *bl)
static inline void bio_list_add(struct bio_list *bl, struct bio *bio)
static inline void bio_list_add_head(struct bio_list *bl, struct bio *bio)
static inline void bio_list_merge(struct bio_list *bl, struct bio_list *bl2)
static inline void bio_list_merge_init(struct bio_list *bl,
struct bio_list *bl2)
static inline void bio_list_merge_head(struct bio_list *bl,
struct bio_list *bl2)
static inline struct bio *bio_list_peek(struct bio_list *bl)
static inline struct bio *bio_list_pop(struct bio_list *bl)
static inline struct bio *bio_list_get(struct bio_list *bl)
struct bio_list rescue_list;
void blk_steal_bios(struct bio_list *list, struct request *rq);
struct bio_list;
struct bio_list *bios),
void dm_rh_inc_pending(struct dm_region_hash *rh, struct bio_list *bios);
struct bio_list *bio_list;
struct bio_list;