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
123 bh = head = folio_buffers(folio); in ext4_finish_bio()
130 if (bh_offset(bh) < bio_start || in ext4_finish_bio()
131 bh_offset(bh) + bh->b_size > bio_end) { in ext4_finish_bio()
132 if (buffer_async_write(bh)) in ext4_finish_bio()
136 clear_buffer_async_write(bh); in ext4_finish_bio()
138 set_buffer_write_io_error(bh); in ext4_finish_bio()
139 buffer_io_error(bh); in ext4_finish_bio()
141 } while ((bh = bh->b_this_page) != head); in ext4_finish_bio()
392 struct buffer_head *bh) in io_submit_init_bio() argument
400 bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOIO); in io_submit_init_bio()
401 fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO); in io_submit_init_bio()
402 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); in io_submit_init_bio()
406 io->io_next_block = bh->b_blocknr; in io_submit_init_bio()
414 struct buffer_head *bh) in io_submit_add_bh() argument
416 if (io->io_bio && (bh->b_blocknr != io->io_next_block || in io_submit_add_bh()
417 !fscrypt_mergeable_bio_bh(io->io_bio, bh))) { in io_submit_add_bh()
422 io_submit_init_bio(io, bh); in io_submit_add_bh()
423 if (!bio_add_folio(io->io_bio, io_folio, bh->b_size, bh_offset(bh))) in io_submit_add_bh()
425 wbc_account_cgroup_owner(io->io_wbc, &folio->page, bh->b_size); in io_submit_add_bh()
435 struct buffer_head *bh, *head; in ext4_bio_write_folio() local
464 bh = head = folio_buffers(folio); in ext4_bio_write_folio()
466 block_start = bh_offset(bh); in ext4_bio_write_folio()
468 clear_buffer_dirty(bh); in ext4_bio_write_folio()
469 set_buffer_uptodate(bh); in ext4_bio_write_folio()
472 if (!buffer_dirty(bh) || buffer_delay(bh) || in ext4_bio_write_folio()
473 !buffer_mapped(bh) || buffer_unwritten(bh)) { in ext4_bio_write_folio()
475 if (!buffer_mapped(bh)) in ext4_bio_write_folio()
476 clear_buffer_dirty(bh); in ext4_bio_write_folio()
485 if (buffer_dirty(bh) || in ext4_bio_write_folio()
486 (buffer_jbd(bh) && buffer_jbddirty(bh))) { in ext4_bio_write_folio()
493 if (buffer_new(bh)) in ext4_bio_write_folio()
494 clear_buffer_new(bh); in ext4_bio_write_folio()
495 set_buffer_async_write(bh); in ext4_bio_write_folio()
496 clear_buffer_dirty(bh); in ext4_bio_write_folio()
498 } while ((bh = bh->b_this_page) != head); in ext4_bio_write_folio()
504 bh = head = folio_buffers(folio); in ext4_bio_write_folio()
545 if (buffer_async_write(bh)) { in ext4_bio_write_folio()
546 clear_buffer_async_write(bh); in ext4_bio_write_folio()
547 set_buffer_dirty(bh); in ext4_bio_write_folio()
549 bh = bh->b_this_page; in ext4_bio_write_folio()
550 } while (bh != head); in ext4_bio_write_folio()
561 if (!buffer_async_write(bh)) in ext4_bio_write_folio()
563 io_submit_add_bh(io, inode, folio, io_folio, bh); in ext4_bio_write_folio()
564 } while ((bh = bh->b_this_page) != head); in ext4_bio_write_folio()