Lines Matching refs:bh
38 int ocfs2_write_block(struct ocfs2_super *osb, struct buffer_head *bh, in ocfs2_write_block() argument
43 trace_ocfs2_write_block((unsigned long long)bh->b_blocknr, ci); in ocfs2_write_block()
45 BUG_ON(bh->b_blocknr < OCFS2_SUPER_BLOCK_BLKNO); in ocfs2_write_block()
46 BUG_ON(buffer_jbd(bh)); in ocfs2_write_block()
59 lock_buffer(bh); in ocfs2_write_block()
60 set_buffer_uptodate(bh); in ocfs2_write_block()
63 clear_buffer_dirty(bh); in ocfs2_write_block()
65 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_block()
66 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_block()
67 submit_bh(REQ_OP_WRITE, bh); in ocfs2_write_block()
69 wait_on_buffer(bh); in ocfs2_write_block()
71 if (buffer_uptodate(bh)) { in ocfs2_write_block()
72 ocfs2_set_buffer_uptodate(ci, bh); in ocfs2_write_block()
94 struct buffer_head *bh; in ocfs2_read_blocks_sync() local
116 bh = bhs[i]; in ocfs2_read_blocks_sync()
118 if (buffer_jbd(bh)) { in ocfs2_read_blocks_sync()
120 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
124 if (buffer_dirty(bh)) { in ocfs2_read_blocks_sync()
130 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
134 lock_buffer(bh); in ocfs2_read_blocks_sync()
135 if (buffer_jbd(bh)) { in ocfs2_read_blocks_sync()
140 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
143 unlock_buffer(bh); in ocfs2_read_blocks_sync()
148 get_bh(bh); /* for end_buffer_read_sync() */ in ocfs2_read_blocks_sync()
149 bh->b_end_io = end_buffer_read_sync; in ocfs2_read_blocks_sync()
150 submit_bh(REQ_OP_READ, bh); in ocfs2_read_blocks_sync()
155 bh = bhs[i - 1]; in ocfs2_read_blocks_sync()
158 if (new_bh && bh) { in ocfs2_read_blocks_sync()
163 if (!buffer_jbd(bh)) in ocfs2_read_blocks_sync()
164 wait_on_buffer(bh); in ocfs2_read_blocks_sync()
165 put_bh(bh); in ocfs2_read_blocks_sync()
167 } else if (bh && buffer_uptodate(bh)) { in ocfs2_read_blocks_sync()
168 clear_buffer_uptodate(bh); in ocfs2_read_blocks_sync()
174 if (!buffer_jbd(bh)) in ocfs2_read_blocks_sync()
175 wait_on_buffer(bh); in ocfs2_read_blocks_sync()
177 if (!buffer_uptodate(bh)) { in ocfs2_read_blocks_sync()
196 struct buffer_head *bh)) in ocfs2_read_blocks() argument
200 struct buffer_head *bh; in ocfs2_read_blocks() local
245 bh = bhs[i]; in ocfs2_read_blocks()
272 if (!ignore_cache && !ocfs2_buffer_uptodate(ci, bh)) { in ocfs2_read_blocks()
274 (unsigned long long)bh->b_blocknr, in ocfs2_read_blocks()
281 trace_ocfs2_read_blocks_bh((unsigned long long)bh->b_blocknr, in ocfs2_read_blocks()
282 ignore_cache, buffer_jbd(bh), buffer_dirty(bh)); in ocfs2_read_blocks()
284 if (buffer_jbd(bh)) { in ocfs2_read_blocks()
289 if (buffer_dirty(bh)) { in ocfs2_read_blocks()
300 && ocfs2_buffer_read_ahead(ci, bh)) in ocfs2_read_blocks()
303 lock_buffer(bh); in ocfs2_read_blocks()
304 if (buffer_jbd(bh)) { in ocfs2_read_blocks()
308 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks()
311 unlock_buffer(bh); in ocfs2_read_blocks()
322 && ocfs2_buffer_uptodate(ci, bh)) { in ocfs2_read_blocks()
323 unlock_buffer(bh); in ocfs2_read_blocks()
327 get_bh(bh); /* for end_buffer_read_sync() */ in ocfs2_read_blocks()
329 set_buffer_needs_validate(bh); in ocfs2_read_blocks()
330 bh->b_end_io = end_buffer_read_sync; in ocfs2_read_blocks()
331 submit_bh(REQ_OP_READ, bh); in ocfs2_read_blocks()
338 bh = bhs[i]; in ocfs2_read_blocks()
345 if (new_bh && bh) { in ocfs2_read_blocks()
350 if (!buffer_jbd(bh)) in ocfs2_read_blocks()
351 wait_on_buffer(bh); in ocfs2_read_blocks()
352 put_bh(bh); in ocfs2_read_blocks()
354 } else if (bh && buffer_uptodate(bh)) { in ocfs2_read_blocks()
355 clear_buffer_uptodate(bh); in ocfs2_read_blocks()
362 if (!buffer_jbd(bh)) in ocfs2_read_blocks()
363 wait_on_buffer(bh); in ocfs2_read_blocks()
365 if (!buffer_uptodate(bh)) { in ocfs2_read_blocks()
373 clear_buffer_needs_validate(bh); in ocfs2_read_blocks()
377 if (buffer_needs_validate(bh)) { in ocfs2_read_blocks()
381 BUG_ON(buffer_jbd(bh)); in ocfs2_read_blocks()
382 clear_buffer_needs_validate(bh); in ocfs2_read_blocks()
383 status = validate(sb, bh); in ocfs2_read_blocks()
392 ocfs2_set_buffer_uptodate(ci, bh); in ocfs2_read_blocks()
429 struct buffer_head *bh) in ocfs2_write_super_or_backup() argument
432 struct ocfs2_dinode *di = (struct ocfs2_dinode *)bh->b_data; in ocfs2_write_super_or_backup()
434 BUG_ON(buffer_jbd(bh)); in ocfs2_write_super_or_backup()
435 ocfs2_check_super_or_backup(osb->sb, bh->b_blocknr); in ocfs2_write_super_or_backup()
443 lock_buffer(bh); in ocfs2_write_super_or_backup()
444 set_buffer_uptodate(bh); in ocfs2_write_super_or_backup()
447 clear_buffer_dirty(bh); in ocfs2_write_super_or_backup()
449 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_super_or_backup()
450 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_super_or_backup()
451 ocfs2_compute_meta_ecc(osb->sb, bh->b_data, &di->i_check); in ocfs2_write_super_or_backup()
452 submit_bh(REQ_OP_WRITE, bh); in ocfs2_write_super_or_backup()
454 wait_on_buffer(bh); in ocfs2_write_super_or_backup()
456 if (!buffer_uptodate(bh)) { in ocfs2_write_super_or_backup()