• Home
  • Raw
  • Download

Lines Matching refs:bh

94 	struct buffer_head *bh = jh2bh(jh);  in __try_to_free_cp_buf()  local
96 if (jh->b_jlist == BJ_None && !buffer_locked(bh) && in __try_to_free_cp_buf()
97 !buffer_dirty(bh) && !buffer_write_io_error(bh)) { in __try_to_free_cp_buf()
100 jbd_unlock_bh_state(bh); in __try_to_free_cp_buf()
101 journal_remove_journal_head(bh); in __try_to_free_cp_buf()
102 BUFFER_TRACE(bh, "release"); in __try_to_free_cp_buf()
103 __brelse(bh); in __try_to_free_cp_buf()
105 jbd_unlock_bh_state(bh); in __try_to_free_cp_buf()
180 static void jbd_sync_bh(journal_t *journal, struct buffer_head *bh) in jbd_sync_bh() argument
183 get_bh(bh); in jbd_sync_bh()
185 jbd_lock_bh_state(bh); in jbd_sync_bh()
186 jbd_unlock_bh_state(bh); in jbd_sync_bh()
187 put_bh(bh); in jbd_sync_bh()
204 struct buffer_head *bh; in __wait_cp_io() local
217 bh = jh2bh(jh); in __wait_cp_io()
218 if (!jbd_trylock_bh_state(bh)) { in __wait_cp_io()
219 jbd_sync_bh(journal, bh); in __wait_cp_io()
223 if (buffer_locked(bh)) { in __wait_cp_io()
224 atomic_inc(&bh->b_count); in __wait_cp_io()
226 jbd_unlock_bh_state(bh); in __wait_cp_io()
227 wait_on_buffer(bh); in __wait_cp_io()
229 BUFFER_TRACE(bh, "brelse"); in __wait_cp_io()
230 __brelse(bh); in __wait_cp_io()
234 if (unlikely(buffer_write_io_error(bh))) in __wait_cp_io()
242 jbd_unlock_bh_state(bh); in __wait_cp_io()
243 journal_remove_journal_head(bh); in __wait_cp_io()
244 __brelse(bh); in __wait_cp_io()
259 struct buffer_head *bh = bhs[i]; in __flush_batch() local
260 clear_buffer_jwrite(bh); in __flush_batch()
261 BUFFER_TRACE(bh, "brelse"); in __flush_batch()
262 __brelse(bh); in __flush_batch()
280 struct buffer_head *bh = jh2bh(jh); in __process_buffer() local
283 if (buffer_locked(bh)) { in __process_buffer()
284 atomic_inc(&bh->b_count); in __process_buffer()
286 jbd_unlock_bh_state(bh); in __process_buffer()
287 wait_on_buffer(bh); in __process_buffer()
289 BUFFER_TRACE(bh, "brelse"); in __process_buffer()
290 __brelse(bh); in __process_buffer()
297 jbd_unlock_bh_state(bh); in __process_buffer()
301 } else if (!buffer_dirty(bh)) { in __process_buffer()
303 if (unlikely(buffer_write_io_error(bh))) in __process_buffer()
305 J_ASSERT_JH(jh, !buffer_jbddirty(bh)); in __process_buffer()
306 BUFFER_TRACE(bh, "remove from checkpoint"); in __process_buffer()
309 jbd_unlock_bh_state(bh); in __process_buffer()
310 journal_remove_journal_head(bh); in __process_buffer()
311 __brelse(bh); in __process_buffer()
320 BUFFER_TRACE(bh, "queue"); in __process_buffer()
321 get_bh(bh); in __process_buffer()
322 J_ASSERT_BH(bh, !buffer_jwrite(bh)); in __process_buffer()
323 set_buffer_jwrite(bh); in __process_buffer()
324 bhs[*batch_count] = bh; in __process_buffer()
326 jbd_unlock_bh_state(bh); in __process_buffer()
387 struct buffer_head *bh; in log_do_checkpoint() local
390 bh = jh2bh(jh); in log_do_checkpoint()
391 if (!jbd_trylock_bh_state(bh)) { in log_do_checkpoint()
392 jbd_sync_bh(journal, bh); in log_do_checkpoint()