• Home
  • Raw
  • Download

Lines Matching refs:bio

382 	struct bio		*bio,  in xfs_end_bio()  argument
385 xfs_ioend_t *ioend = bio->bi_private; in xfs_end_bio()
387 ASSERT(atomic_read(&bio->bi_cnt) >= 1); in xfs_end_bio()
388 ioend->io_error = test_bit(BIO_UPTODATE, &bio->bi_flags) ? 0 : error; in xfs_end_bio()
391 bio->bi_private = NULL; in xfs_end_bio()
392 bio->bi_end_io = NULL; in xfs_end_bio()
393 bio_put(bio); in xfs_end_bio()
401 struct bio *bio) in xfs_submit_ioend_bio() argument
405 bio->bi_private = ioend; in xfs_submit_ioend_bio()
406 bio->bi_end_io = xfs_end_bio; in xfs_submit_ioend_bio()
408 submit_bio(WRITE, bio); in xfs_submit_ioend_bio()
409 ASSERT(!bio_flagged(bio, BIO_EOPNOTSUPP)); in xfs_submit_ioend_bio()
410 bio_put(bio); in xfs_submit_ioend_bio()
413 STATIC struct bio *
417 struct bio *bio; in xfs_alloc_ioend_bio() local
421 bio = bio_alloc(GFP_NOIO, nvecs); in xfs_alloc_ioend_bio()
423 } while (!bio); in xfs_alloc_ioend_bio()
425 ASSERT(bio->bi_private == NULL); in xfs_alloc_ioend_bio()
426 bio->bi_sector = bh->b_blocknr * (bh->b_size >> 9); in xfs_alloc_ioend_bio()
427 bio->bi_bdev = bh->b_bdev; in xfs_alloc_ioend_bio()
428 bio_get(bio); in xfs_alloc_ioend_bio()
429 return bio; in xfs_alloc_ioend_bio()
463 static inline int bio_add_buffer(struct bio *bio, struct buffer_head *bh) in bio_add_buffer() argument
465 return bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh)); in bio_add_buffer()
492 struct bio *bio; in xfs_submit_ioend() local
507 bio = NULL; in xfs_submit_ioend()
511 if (!bio) { in xfs_submit_ioend()
513 bio = xfs_alloc_ioend_bio(bh); in xfs_submit_ioend()
515 xfs_submit_ioend_bio(ioend, bio); in xfs_submit_ioend()
519 if (bio_add_buffer(bio, bh) != bh->b_size) { in xfs_submit_ioend()
520 xfs_submit_ioend_bio(ioend, bio); in xfs_submit_ioend()
526 if (bio) in xfs_submit_ioend()
527 xfs_submit_ioend_bio(ioend, bio); in xfs_submit_ioend()