Lines Matching refs:bh

93 static void buffer_io_error(struct buffer_head *bh)  in buffer_io_error()  argument
96 bh->b_bdev, in buffer_io_error()
97 (unsigned long long)bh->b_blocknr); in buffer_io_error()
107 struct buffer_head *bh, *head; in ext4_finish_bio() local
122 bh = head = folio_buffers(folio); in ext4_finish_bio()
129 if (bh_offset(bh) < bio_start || in ext4_finish_bio()
130 bh_offset(bh) + bh->b_size > bio_end) { in ext4_finish_bio()
131 if (buffer_async_write(bh)) in ext4_finish_bio()
135 clear_buffer_async_write(bh); in ext4_finish_bio()
137 set_buffer_write_io_error(bh); in ext4_finish_bio()
138 buffer_io_error(bh); in ext4_finish_bio()
140 } while ((bh = bh->b_this_page) != head); in ext4_finish_bio()
391 struct buffer_head *bh) in io_submit_init_bio() argument
399 bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOIO); in io_submit_init_bio()
400 fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO); in io_submit_init_bio()
401 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); in io_submit_init_bio()
405 io->io_next_block = bh->b_blocknr; in io_submit_init_bio()
413 struct buffer_head *bh) in io_submit_add_bh() argument
415 if (io->io_bio && (bh->b_blocknr != io->io_next_block || in io_submit_add_bh()
416 !fscrypt_mergeable_bio_bh(io->io_bio, bh))) { in io_submit_add_bh()
421 io_submit_init_bio(io, bh); in io_submit_add_bh()
422 if (!bio_add_folio(io->io_bio, io_folio, bh->b_size, bh_offset(bh))) in io_submit_add_bh()
424 wbc_account_cgroup_owner(io->io_wbc, &folio->page, bh->b_size); in io_submit_add_bh()
434 struct buffer_head *bh, *head; in ext4_bio_write_folio() local
461 bh = head = folio_buffers(folio); in ext4_bio_write_folio()
463 block_start = bh_offset(bh); in ext4_bio_write_folio()
465 clear_buffer_dirty(bh); in ext4_bio_write_folio()
466 set_buffer_uptodate(bh); in ext4_bio_write_folio()
469 if (!buffer_dirty(bh) || buffer_delay(bh) || in ext4_bio_write_folio()
470 !buffer_mapped(bh) || buffer_unwritten(bh)) { in ext4_bio_write_folio()
472 if (!buffer_mapped(bh)) in ext4_bio_write_folio()
473 clear_buffer_dirty(bh); in ext4_bio_write_folio()
482 if (buffer_dirty(bh) || in ext4_bio_write_folio()
483 (buffer_jbd(bh) && buffer_jbddirty(bh))) { in ext4_bio_write_folio()
490 if (buffer_new(bh)) in ext4_bio_write_folio()
491 clear_buffer_new(bh); in ext4_bio_write_folio()
492 set_buffer_async_write(bh); in ext4_bio_write_folio()
493 clear_buffer_dirty(bh); in ext4_bio_write_folio()
495 } while ((bh = bh->b_this_page) != head); in ext4_bio_write_folio()
501 bh = head = folio_buffers(folio); in ext4_bio_write_folio()
542 if (buffer_async_write(bh)) { in ext4_bio_write_folio()
543 clear_buffer_async_write(bh); in ext4_bio_write_folio()
544 set_buffer_dirty(bh); in ext4_bio_write_folio()
546 bh = bh->b_this_page; in ext4_bio_write_folio()
547 } while (bh != head); in ext4_bio_write_folio()
558 if (!buffer_async_write(bh)) in ext4_bio_write_folio()
560 io_submit_add_bh(io, inode, folio, io_folio, bh); in ext4_bio_write_folio()
561 } while ((bh = bh->b_this_page) != head); in ext4_bio_write_folio()