Lines Matching refs:bh

753 static void warn_dirty_buffer(struct buffer_head *bh)  in warn_dirty_buffer()  argument
761 bdevname(bh->b_bdev, b), (unsigned long long)bh->b_blocknr); in warn_dirty_buffer()
778 struct buffer_head *bh; in do_get_write_access() local
794 bh = jh2bh(jh); in do_get_write_access()
799 lock_buffer(bh); in do_get_write_access()
800 jbd_lock_bh_state(bh); in do_get_write_access()
805 trace_jbd2_lock_buffer_stall(bh->b_bdev->bd_dev, in do_get_write_access()
821 if (buffer_dirty(bh)) { in do_get_write_access()
834 warn_dirty_buffer(bh); in do_get_write_access()
842 clear_buffer_dirty(bh); in do_get_write_access()
843 set_buffer_jbddirty(bh); in do_get_write_access()
846 unlock_buffer(bh); in do_get_write_access()
850 jbd_unlock_bh_state(bh); in do_get_write_access()
897 if (buffer_shadow(bh)) { in do_get_write_access()
899 jbd_unlock_bh_state(bh); in do_get_write_access()
900 wait_on_bit_io(&bh->b_state, BH_Shadow, in do_get_write_access()
923 jbd_unlock_bh_state(bh); in do_get_write_access()
933 jbd_lock_bh_state(bh); in do_get_write_access()
983 jbd_unlock_bh_state(bh); in do_get_write_access()
993 jbd2_free(frozen_buffer, bh->b_size); in do_get_write_access()
1010 int jbd2_journal_get_write_access(handle_t *handle, struct buffer_head *bh) in jbd2_journal_get_write_access() argument
1012 struct journal_head *jh = jbd2_journal_add_journal_head(bh); in jbd2_journal_get_write_access()
1043 int jbd2_journal_get_create_access(handle_t *handle, struct buffer_head *bh) in jbd2_journal_get_create_access() argument
1047 struct journal_head *jh = jbd2_journal_add_journal_head(bh); in jbd2_journal_get_create_access()
1065 jbd_lock_bh_state(bh); in jbd2_journal_get_create_access()
1099 jbd_unlock_bh_state(bh); in jbd2_journal_get_create_access()
1141 int jbd2_journal_get_undo_access(handle_t *handle, struct buffer_head *bh) in jbd2_journal_get_undo_access() argument
1144 struct journal_head *jh = jbd2_journal_add_journal_head(bh); in jbd2_journal_get_undo_access()
1169 jbd_lock_bh_state(bh); in jbd2_journal_get_undo_access()
1175 jbd_unlock_bh_state(bh); in jbd2_journal_get_undo_access()
1181 memcpy(jh->b_committed_data, bh->b_data, bh->b_size); in jbd2_journal_get_undo_access()
1183 jbd_unlock_bh_state(bh); in jbd2_journal_get_undo_access()
1187 jbd2_free(committed_data, bh->b_size); in jbd2_journal_get_undo_access()
1202 void jbd2_journal_set_triggers(struct buffer_head *bh, in jbd2_journal_set_triggers() argument
1205 struct journal_head *jh = jbd2_journal_grab_journal_head(bh); in jbd2_journal_set_triggers()
1216 struct buffer_head *bh = jh2bh(jh); in jbd2_buffer_frozen_trigger() local
1221 triggers->t_frozen(triggers, bh, mapped_data, bh->b_size); in jbd2_buffer_frozen_trigger()
1258 int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh) in jbd2_journal_dirty_metadata() argument
1268 jh = jbd2_journal_grab_journal_head(bh); in jbd2_journal_dirty_metadata()
1276 jbd_lock_bh_state(bh); in jbd2_journal_dirty_metadata()
1307 (unsigned long long) bh->b_blocknr, in jbd2_journal_dirty_metadata()
1318 set_buffer_jbddirty(bh); in jbd2_journal_dirty_metadata()
1337 (unsigned long long) bh->b_blocknr, in jbd2_journal_dirty_metadata()
1362 jbd_unlock_bh_state(bh); in jbd2_journal_dirty_metadata()
1386 int jbd2_journal_forget (handle_t *handle, struct buffer_head *bh) in jbd2_journal_forget() argument
1399 BUFFER_TRACE(bh, "entry"); in jbd2_journal_forget()
1401 jbd_lock_bh_state(bh); in jbd2_journal_forget()
1403 if (!buffer_jbd(bh)) in jbd2_journal_forget()
1405 jh = bh2jh(bh); in jbd2_journal_forget()
1430 clear_buffer_dirty(bh); in jbd2_journal_forget()
1431 clear_buffer_jbddirty(bh); in jbd2_journal_forget()
1460 if (!buffer_jbd(bh)) { in jbd2_journal_forget()
1462 jbd_unlock_bh_state(bh); in jbd2_journal_forget()
1463 __bforget(bh); in jbd2_journal_forget()
1493 jbd_unlock_bh_state(bh); in jbd2_journal_forget()
1494 __brelse(bh); in jbd2_journal_forget()
1748 struct buffer_head *bh = jh2bh(jh); in __jbd2_journal_temp_unlink_buffer() local
1750 J_ASSERT_JH(jh, jbd_is_locked_bh_state(bh)); in __jbd2_journal_temp_unlink_buffer()
1780 if (test_clear_buffer_jbddirty(bh)) in __jbd2_journal_temp_unlink_buffer()
1781 mark_buffer_dirty(bh); /* Expose it to the VM */ in __jbd2_journal_temp_unlink_buffer()
1800 struct buffer_head *bh = jh2bh(jh); in jbd2_journal_unfile_buffer() local
1803 get_bh(bh); in jbd2_journal_unfile_buffer()
1804 jbd_lock_bh_state(bh); in jbd2_journal_unfile_buffer()
1808 jbd_unlock_bh_state(bh); in jbd2_journal_unfile_buffer()
1809 __brelse(bh); in jbd2_journal_unfile_buffer()
1818 __journal_try_to_free_buffer(journal_t *journal, struct buffer_head *bh) in __journal_try_to_free_buffer() argument
1822 jh = bh2jh(bh); in __journal_try_to_free_buffer()
1824 if (buffer_locked(bh) || buffer_dirty(bh)) in __journal_try_to_free_buffer()
1883 struct buffer_head *bh; in jbd2_journal_try_to_free_buffers() local
1889 bh = head; in jbd2_journal_try_to_free_buffers()
1898 jh = jbd2_journal_grab_journal_head(bh); in jbd2_journal_try_to_free_buffers()
1902 jbd_lock_bh_state(bh); in jbd2_journal_try_to_free_buffers()
1903 __journal_try_to_free_buffer(journal, bh); in jbd2_journal_try_to_free_buffers()
1905 jbd_unlock_bh_state(bh); in jbd2_journal_try_to_free_buffers()
1906 if (buffer_jbd(bh)) in jbd2_journal_try_to_free_buffers()
1908 } while ((bh = bh->b_this_page) != head); in jbd2_journal_try_to_free_buffers()
1931 struct buffer_head *bh = jh2bh(jh); in __dispose_buffer() local
1941 clear_buffer_dirty(bh); in __dispose_buffer()
1998 static int journal_unmap_buffer(journal_t *journal, struct buffer_head *bh, in journal_unmap_buffer() argument
2005 BUFFER_TRACE(bh, "entry"); in journal_unmap_buffer()
2013 if (!buffer_jbd(bh)) in journal_unmap_buffer()
2018 jbd_lock_bh_state(bh); in journal_unmap_buffer()
2021 jh = jbd2_journal_grab_journal_head(bh); in journal_unmap_buffer()
2059 if (!buffer_dirty(bh)) { in journal_unmap_buffer()
2089 clear_buffer_jbddirty(bh); in journal_unmap_buffer()
2103 jbd_unlock_bh_state(bh); in journal_unmap_buffer()
2113 set_buffer_freed(bh); in journal_unmap_buffer()
2114 if (journal->j_running_transaction && buffer_jbddirty(bh)) in journal_unmap_buffer()
2118 jbd_unlock_bh_state(bh); in journal_unmap_buffer()
2146 jbd_unlock_bh_state(bh); in journal_unmap_buffer()
2149 clear_buffer_dirty(bh); in journal_unmap_buffer()
2150 J_ASSERT_BH(bh, !buffer_jbddirty(bh)); in journal_unmap_buffer()
2151 clear_buffer_mapped(bh); in journal_unmap_buffer()
2152 clear_buffer_req(bh); in journal_unmap_buffer()
2153 clear_buffer_new(bh); in journal_unmap_buffer()
2154 clear_buffer_delay(bh); in journal_unmap_buffer()
2155 clear_buffer_unwritten(bh); in journal_unmap_buffer()
2156 bh->b_bdev = NULL; in journal_unmap_buffer()
2177 struct buffer_head *head, *bh, *next; in jbd2_journal_invalidatepage() local
2195 head = bh = page_buffers(page); in jbd2_journal_invalidatepage()
2197 unsigned int next_off = curr_off + bh->b_size; in jbd2_journal_invalidatepage()
2198 next = bh->b_this_page; in jbd2_journal_invalidatepage()
2205 lock_buffer(bh); in jbd2_journal_invalidatepage()
2206 ret = journal_unmap_buffer(journal, bh, partial_page); in jbd2_journal_invalidatepage()
2207 unlock_buffer(bh); in jbd2_journal_invalidatepage()
2213 bh = next; in jbd2_journal_invalidatepage()
2215 } while (bh != head); in jbd2_journal_invalidatepage()
2232 struct buffer_head *bh = jh2bh(jh); in __jbd2_journal_file_buffer() local
2234 J_ASSERT_JH(jh, jbd_is_locked_bh_state(bh)); in __jbd2_journal_file_buffer()
2253 if (buffer_dirty(bh)) in __jbd2_journal_file_buffer()
2254 warn_dirty_buffer(bh); in __jbd2_journal_file_buffer()
2255 if (test_clear_buffer_dirty(bh) || in __jbd2_journal_file_buffer()
2256 test_clear_buffer_jbddirty(bh)) in __jbd2_journal_file_buffer()
2263 jbd2_journal_grab_journal_head(bh); in __jbd2_journal_file_buffer()
2290 set_buffer_jbddirty(bh); in __jbd2_journal_file_buffer()
2317 struct buffer_head *bh = jh2bh(jh); in __jbd2_journal_refile_buffer() local
2319 J_ASSERT_JH(jh, jbd_is_locked_bh_state(bh)); in __jbd2_journal_refile_buffer()
2334 was_dirty = test_clear_buffer_jbddirty(bh); in __jbd2_journal_refile_buffer()
2343 if (buffer_freed(bh)) in __jbd2_journal_refile_buffer()
2353 set_buffer_jbddirty(bh); in __jbd2_journal_refile_buffer()
2364 struct buffer_head *bh = jh2bh(jh); in jbd2_journal_refile_buffer() local
2367 get_bh(bh); in jbd2_journal_refile_buffer()
2368 jbd_lock_bh_state(bh); in jbd2_journal_refile_buffer()
2371 jbd_unlock_bh_state(bh); in jbd2_journal_refile_buffer()
2373 __brelse(bh); in jbd2_journal_refile_buffer()