Lines Matching refs:bh
53 int ocfs2_write_block(struct ocfs2_super *osb, struct buffer_head *bh, in ocfs2_write_block() argument
58 trace_ocfs2_write_block((unsigned long long)bh->b_blocknr, ci); in ocfs2_write_block()
60 BUG_ON(bh->b_blocknr < OCFS2_SUPER_BLOCK_BLKNO); in ocfs2_write_block()
61 BUG_ON(buffer_jbd(bh)); in ocfs2_write_block()
74 lock_buffer(bh); in ocfs2_write_block()
75 set_buffer_uptodate(bh); in ocfs2_write_block()
78 clear_buffer_dirty(bh); in ocfs2_write_block()
80 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_block()
81 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_block()
82 submit_bh(WRITE, bh); in ocfs2_write_block()
84 wait_on_buffer(bh); in ocfs2_write_block()
86 if (buffer_uptodate(bh)) { in ocfs2_write_block()
87 ocfs2_set_buffer_uptodate(ci, bh); in ocfs2_write_block()
106 struct buffer_head *bh; in ocfs2_read_blocks_sync() local
122 bh = bhs[i]; in ocfs2_read_blocks_sync()
124 if (buffer_jbd(bh)) { in ocfs2_read_blocks_sync()
126 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
130 if (buffer_dirty(bh)) { in ocfs2_read_blocks_sync()
136 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
140 lock_buffer(bh); in ocfs2_read_blocks_sync()
141 if (buffer_jbd(bh)) { in ocfs2_read_blocks_sync()
145 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks_sync()
149 clear_buffer_uptodate(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(READ, bh); in ocfs2_read_blocks_sync()
156 bh = bhs[i - 1]; in ocfs2_read_blocks_sync()
159 if (!buffer_jbd(bh)) in ocfs2_read_blocks_sync()
160 wait_on_buffer(bh); in ocfs2_read_blocks_sync()
162 if (!buffer_uptodate(bh)) { in ocfs2_read_blocks_sync()
167 put_bh(bh); in ocfs2_read_blocks_sync()
179 struct buffer_head *bh)) in ocfs2_read_blocks() argument
183 struct buffer_head *bh; in ocfs2_read_blocks() local
221 bh = bhs[i]; in ocfs2_read_blocks()
248 if (!ignore_cache && !ocfs2_buffer_uptodate(ci, bh)) { in ocfs2_read_blocks()
250 (unsigned long long)bh->b_blocknr, in ocfs2_read_blocks()
257 trace_ocfs2_read_blocks_bh((unsigned long long)bh->b_blocknr, in ocfs2_read_blocks()
258 ignore_cache, buffer_jbd(bh), buffer_dirty(bh)); in ocfs2_read_blocks()
260 if (buffer_jbd(bh)) { in ocfs2_read_blocks()
265 if (buffer_dirty(bh)) { in ocfs2_read_blocks()
276 && ocfs2_buffer_read_ahead(ci, bh)) in ocfs2_read_blocks()
279 lock_buffer(bh); in ocfs2_read_blocks()
280 if (buffer_jbd(bh)) { in ocfs2_read_blocks()
284 (unsigned long long)bh->b_blocknr); in ocfs2_read_blocks()
287 unlock_buffer(bh); in ocfs2_read_blocks()
298 && ocfs2_buffer_uptodate(ci, bh)) { in ocfs2_read_blocks()
299 unlock_buffer(bh); in ocfs2_read_blocks()
303 clear_buffer_uptodate(bh); in ocfs2_read_blocks()
304 get_bh(bh); /* for end_buffer_read_sync() */ in ocfs2_read_blocks()
306 set_buffer_needs_validate(bh); in ocfs2_read_blocks()
307 bh->b_end_io = end_buffer_read_sync; in ocfs2_read_blocks()
308 submit_bh(READ, bh); in ocfs2_read_blocks()
316 bh = bhs[i]; in ocfs2_read_blocks()
322 if (!buffer_jbd(bh)) in ocfs2_read_blocks()
323 wait_on_buffer(bh); in ocfs2_read_blocks()
325 if (!buffer_uptodate(bh)) { in ocfs2_read_blocks()
333 put_bh(bh); in ocfs2_read_blocks()
338 if (buffer_needs_validate(bh)) { in ocfs2_read_blocks()
342 BUG_ON(buffer_jbd(bh)); in ocfs2_read_blocks()
343 clear_buffer_needs_validate(bh); in ocfs2_read_blocks()
344 status = validate(sb, bh); in ocfs2_read_blocks()
346 put_bh(bh); in ocfs2_read_blocks()
356 ocfs2_set_buffer_uptodate(ci, bh); in ocfs2_read_blocks()
393 struct buffer_head *bh) in ocfs2_write_super_or_backup() argument
396 struct ocfs2_dinode *di = (struct ocfs2_dinode *)bh->b_data; in ocfs2_write_super_or_backup()
398 BUG_ON(buffer_jbd(bh)); in ocfs2_write_super_or_backup()
399 ocfs2_check_super_or_backup(osb->sb, bh->b_blocknr); in ocfs2_write_super_or_backup()
407 lock_buffer(bh); in ocfs2_write_super_or_backup()
408 set_buffer_uptodate(bh); in ocfs2_write_super_or_backup()
411 clear_buffer_dirty(bh); in ocfs2_write_super_or_backup()
413 get_bh(bh); /* for end_buffer_write_sync() */ in ocfs2_write_super_or_backup()
414 bh->b_end_io = end_buffer_write_sync; in ocfs2_write_super_or_backup()
415 ocfs2_compute_meta_ecc(osb->sb, bh->b_data, &di->i_check); in ocfs2_write_super_or_backup()
416 submit_bh(WRITE, bh); in ocfs2_write_super_or_backup()
418 wait_on_buffer(bh); in ocfs2_write_super_or_backup()
420 if (!buffer_uptodate(bh)) { in ocfs2_write_super_or_backup()