Lines Matching refs:bh

40 int ocfs2_write_block(struct ocfs2_super *osb, struct buffer_head *bh,  in ocfs2_write_block()  argument
45 trace_ocfs2_write_block((unsigned long long)bh->b_blocknr, ci); in ocfs2_write_block()
47 BUG_ON(bh->b_blocknr < OCFS2_SUPER_BLOCK_BLKNO); in ocfs2_write_block()
48 BUG_ON(buffer_jbd(bh)); in ocfs2_write_block()
61 lock_buffer(bh); in ocfs2_write_block()
62 set_buffer_uptodate(bh); in ocfs2_write_block()
65 clear_buffer_dirty(bh); in ocfs2_write_block()
67 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_block()
68 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_block()
69 submit_bh(REQ_OP_WRITE, 0, bh); in ocfs2_write_block()
71 wait_on_buffer(bh); in ocfs2_write_block()
73 if (buffer_uptodate(bh)) { in ocfs2_write_block()
74 ocfs2_set_buffer_uptodate(ci, bh); in ocfs2_write_block()
96 struct buffer_head *bh; in ocfs2_read_blocks_sync() local
118 bh = bhs[i]; in ocfs2_read_blocks_sync()
120 if (buffer_jbd(bh)) { in ocfs2_read_blocks_sync()
122 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
126 if (buffer_dirty(bh)) { in ocfs2_read_blocks_sync()
132 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
136 lock_buffer(bh); in ocfs2_read_blocks_sync()
137 if (buffer_jbd(bh)) { in ocfs2_read_blocks_sync()
142 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
145 unlock_buffer(bh); in ocfs2_read_blocks_sync()
150 get_bh(bh); /* for end_buffer_read_sync() */ in ocfs2_read_blocks_sync()
151 bh->b_end_io = end_buffer_read_sync; in ocfs2_read_blocks_sync()
152 submit_bh(REQ_OP_READ, 0, bh); in ocfs2_read_blocks_sync()
157 bh = bhs[i - 1]; in ocfs2_read_blocks_sync()
160 if (new_bh && bh) { in ocfs2_read_blocks_sync()
165 if (!buffer_jbd(bh)) in ocfs2_read_blocks_sync()
166 wait_on_buffer(bh); in ocfs2_read_blocks_sync()
167 put_bh(bh); in ocfs2_read_blocks_sync()
169 } else if (bh && buffer_uptodate(bh)) { in ocfs2_read_blocks_sync()
170 clear_buffer_uptodate(bh); in ocfs2_read_blocks_sync()
176 if (!buffer_jbd(bh)) in ocfs2_read_blocks_sync()
177 wait_on_buffer(bh); in ocfs2_read_blocks_sync()
179 if (!buffer_uptodate(bh)) { in ocfs2_read_blocks_sync()
198 struct buffer_head *bh)) in ocfs2_read_blocks() argument
202 struct buffer_head *bh; in ocfs2_read_blocks() local
247 bh = bhs[i]; in ocfs2_read_blocks()
274 if (!ignore_cache && !ocfs2_buffer_uptodate(ci, bh)) { in ocfs2_read_blocks()
276 (unsigned long long)bh->b_blocknr, in ocfs2_read_blocks()
283 trace_ocfs2_read_blocks_bh((unsigned long long)bh->b_blocknr, in ocfs2_read_blocks()
284 ignore_cache, buffer_jbd(bh), buffer_dirty(bh)); in ocfs2_read_blocks()
286 if (buffer_jbd(bh)) { in ocfs2_read_blocks()
291 if (buffer_dirty(bh)) { in ocfs2_read_blocks()
302 && ocfs2_buffer_read_ahead(ci, bh)) in ocfs2_read_blocks()
305 lock_buffer(bh); in ocfs2_read_blocks()
306 if (buffer_jbd(bh)) { in ocfs2_read_blocks()
310 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks()
313 unlock_buffer(bh); in ocfs2_read_blocks()
324 && ocfs2_buffer_uptodate(ci, bh)) { in ocfs2_read_blocks()
325 unlock_buffer(bh); in ocfs2_read_blocks()
329 get_bh(bh); /* for end_buffer_read_sync() */ in ocfs2_read_blocks()
331 set_buffer_needs_validate(bh); in ocfs2_read_blocks()
332 bh->b_end_io = end_buffer_read_sync; in ocfs2_read_blocks()
333 submit_bh(REQ_OP_READ, 0, bh); in ocfs2_read_blocks()
340 bh = bhs[i]; in ocfs2_read_blocks()
347 if (new_bh && bh) { in ocfs2_read_blocks()
352 if (!buffer_jbd(bh)) in ocfs2_read_blocks()
353 wait_on_buffer(bh); in ocfs2_read_blocks()
354 put_bh(bh); in ocfs2_read_blocks()
356 } else if (bh && buffer_uptodate(bh)) { in ocfs2_read_blocks()
357 clear_buffer_uptodate(bh); in ocfs2_read_blocks()
364 if (!buffer_jbd(bh)) in ocfs2_read_blocks()
365 wait_on_buffer(bh); in ocfs2_read_blocks()
367 if (!buffer_uptodate(bh)) { in ocfs2_read_blocks()
375 clear_buffer_needs_validate(bh); in ocfs2_read_blocks()
379 if (buffer_needs_validate(bh)) { in ocfs2_read_blocks()
383 BUG_ON(buffer_jbd(bh)); in ocfs2_read_blocks()
384 clear_buffer_needs_validate(bh); in ocfs2_read_blocks()
385 status = validate(sb, bh); in ocfs2_read_blocks()
394 ocfs2_set_buffer_uptodate(ci, bh); in ocfs2_read_blocks()
431 struct buffer_head *bh) in ocfs2_write_super_or_backup() argument
434 struct ocfs2_dinode *di = (struct ocfs2_dinode *)bh->b_data; in ocfs2_write_super_or_backup()
436 BUG_ON(buffer_jbd(bh)); in ocfs2_write_super_or_backup()
437 ocfs2_check_super_or_backup(osb->sb, bh->b_blocknr); in ocfs2_write_super_or_backup()
445 lock_buffer(bh); in ocfs2_write_super_or_backup()
446 set_buffer_uptodate(bh); in ocfs2_write_super_or_backup()
449 clear_buffer_dirty(bh); in ocfs2_write_super_or_backup()
451 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_super_or_backup()
452 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_super_or_backup()
453 ocfs2_compute_meta_ecc(osb->sb, bh->b_data, &di->i_check); in ocfs2_write_super_or_backup()
454 submit_bh(REQ_OP_WRITE, 0, bh); in ocfs2_write_super_or_backup()
456 wait_on_buffer(bh); in ocfs2_write_super_or_backup()
458 if (!buffer_uptodate(bh)) { in ocfs2_write_super_or_backup()