• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/fs/hfsplus_journal/

Lines Matching refs:bh

505 		struct buffer_head *bh = hfsplus_jh2bh(jh);
507 if (test_clear_buffer_dirty(bh))
508 set_buffer_hfsplus_jbddirty(bh);
526 struct buffer_head *bh;
543 bh = hfsplus_jh2bh(jh);
547 lock_buffer(bh);
548 hfsplus_jbd_lock_bh_state(bh);
563 if (buffer_dirty(bh)) {
586 unlock_buffer(bh);
590 hfsplus_jbd_unlock_bh_state(bh);
632 DEFINE_WAIT_BIT(wait, &bh->b_state, BH_HFSPLUS_Unshadow);
635 wqh = bit_waitqueue(&bh->b_state, BH_HFSPLUS_Unshadow);
638 hfsplus_jbd_unlock_bh_state(bh);
669 hfsplus_jbd_unlock_bh_state(bh);
678 hfsplus_jbd_lock_bh_state(bh);
720 hfsplus_jbd_unlock_bh_state(bh);
738 * @bh: bh to be used for metadata writes
747 int hfsplus_jbd_get_write_access(hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
749 struct hfsplus_jbd_head *jh = hfsplus_jbd_add_journal_head(bh);
767 * the bh is not already part of an existing transaction.
774 * int hfsplus_jbd_get_create_access () - notify intent to use newly created bh
776 * @bh: new buffer.
778 * Call this if you create a new bh.
780 int hfsplus_jbd_get_create_access(hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
784 struct hfsplus_jbd_head *jh = hfsplus_jbd_add_journal_head(bh);
801 hfsplus_jbd_lock_bh_state(bh);
820 hfsplus_jbd_unlock_bh_state(bh);
840 * @bh: buffer to undo
863 int hfsplus_jbd_get_undo_access(hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
866 struct hfsplus_jbd_head *jh = hfsplus_jbd_add_journal_head(bh);
891 hfsplus_jbd_lock_bh_state(bh);
897 hfsplus_jbd_unlock_bh_state(bh);
903 memcpy(jh->b_committed_data, bh->b_data, bh->b_size);
905 hfsplus_jbd_unlock_bh_state(bh);
917 * @bh: bufferhead to mark
927 int hfsplus_jbd_dirty_data(hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
936 jh = hfsplus_jbd_add_journal_head(bh);
966 hfsplus_jbd_lock_bh_state(bh);
1021 if (buffer_dirty(bh)) {
1022 get_bh(bh);
1024 hfsplus_jbd_unlock_bh_state(bh);
1026 sync_dirty_buffer(bh);
1027 hfsplus_jbd_lock_bh_state(bh);
1067 hfsplus_jbd_unlock_bh_state(bh);
1069 HFSPLUS_BUFFER_TRACE(bh, "brelse");
1070 __brelse(bh);
1080 * @bh: buffer to mark
1096 int hfsplus_jbd_dirty_metadata(hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
1100 struct hfsplus_jbd_head *jh = hfsplus_bh2jh(bh);
1107 hfsplus_jbd_lock_bh_state(bh);
1135 set_buffer_hfsplus_jbddirty(bh);
1163 hfsplus_jbd_unlock_bh_state(bh);
1176 hfsplus_jbd_release_buffer(hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
1178 HFSPLUS_BUFFER_TRACE(bh, "entry");
1184 * @bh: bh to 'forget'
1190 * bh may not be a journalled buffer at all - it may be a non-JBD
1193 * Decrements bh->b_count by one.
1198 int hfsplus_jbd_forget (hfsplus_jbd_handle_t *handle, struct buffer_head *bh)
1206 HFSPLUS_BUFFER_TRACE(bh, "entry");
1208 hfsplus_jbd_lock_bh_state(bh);
1211 if (!buffer_hfsplus_jbd(bh))
1213 jh = hfsplus_bh2jh(bh);
1235 clear_buffer_dirty(bh);
1236 clear_buffer_hfsplus_jbddirty(bh);
1259 hfsplus_jbd_remove_journal_head(bh);
1260 __brelse(bh);
1261 if (!buffer_hfsplus_jbd(bh)) {
1263 hfsplus_jbd_unlock_bh_state(bh);
1264 __bforget(bh);
1286 hfsplus_jbd_unlock_bh_state(bh);
1287 __brelse(bh);
1478 * bh->b_transaction->t_sync_datalist, t_buffers, t_forget,
1489 struct buffer_head *bh = hfsplus_jh2bh(jh);
1491 HFSPLUS_J_ASSERT_JH(jh, hfsplus_jbd_is_locked_bh_state(bh));
1533 if (test_clear_buffer_hfsplus_jbddirty(bh))
1534 mark_buffer_dirty(bh); /* Expose it to the VM */
1555 * Called under hfsplus_jbd_lock_bh_state(bh)
1558 __hfsplus_jbd_try_to_free_buffer(hfsplus_jbd_t *journal, struct buffer_head *bh)
1562 jh = hfsplus_bh2jh(bh);
1564 if (buffer_locked(bh) || buffer_dirty(bh))
1576 hfsplus_jbd_remove_journal_head(bh);
1577 __brelse(bh);
1584 hfsplus_jbd_remove_journal_head(bh);
1585 __brelse(bh);
1632 struct buffer_head *bh;
1638 bh = head;
1647 jh = hfsplus_jbd_grab_journal_head(bh);
1651 hfsplus_jbd_lock_bh_state(bh);
1652 __hfsplus_jbd_try_to_free_buffer(journal, bh);
1654 hfsplus_jbd_unlock_bh_state(bh);
1655 if (buffer_hfsplus_jbd(bh))
1657 } while ((bh = bh->b_this_page) != head);
1673 * Called under jbd_lock_bh_state(bh).
1678 struct buffer_head *bh = hfsplus_jh2bh(jh);
1685 clear_buffer_hfsplus_jbddirty(bh);
1689 hfsplus_jbd_remove_journal_head(bh);
1690 __brelse(bh);
1742 static int hfsplus_jbd_unmap_buffer(hfsplus_jbd_t *journal, struct buffer_head *bh)
1749 HFSPLUS_BUFFER_TRACE(bh, "entry");
1757 if (!buffer_hfsplus_jbd(bh))
1761 hfsplus_jbd_lock_bh_state(bh);
1764 jh = hfsplus_jbd_grab_journal_head(bh);
1779 if (!buffer_dirty(bh)) {
1797 hfsplus_jbd_unlock_bh_state(bh);
1811 hfsplus_jbd_unlock_bh_state(bh);
1817 clear_buffer_hfsplus_jbddirty(bh);
1837 set_buffer_hfsplus_jbd_freed(bh);
1845 hfsplus_jbd_unlock_bh_state(bh);
1863 hfsplus_jbd_unlock_bh_state(bh);
1866 clear_buffer_dirty(bh);
1867 HFSPLUS_J_ASSERT_BH(bh, !buffer_hfsplus_jbddirty(bh));
1868 clear_buffer_mapped(bh);
1869 clear_buffer_req(bh);
1870 clear_buffer_new(bh);
1871 bh->b_bdev = NULL;
1889 struct buffer_head *head, *bh, *next;
1902 head = bh = page_buffers(page);
1904 unsigned int next_off = curr_off + bh->b_size;
1905 next = bh->b_this_page;
1909 lock_buffer(bh);
1910 may_free &= hfsplus_jbd_unmap_buffer(journal, bh);
1911 unlock_buffer(bh);
1914 bh = next;
1916 } while (bh != head);
1934 struct buffer_head *bh = hfsplus_jh2bh(jh);
1936 HFSPLUS_J_ASSERT_JH(jh, hfsplus_jbd_is_locked_bh_state(bh));
1952 if (test_clear_buffer_dirty(bh) ||
1953 test_clear_buffer_hfsplus_jbddirty(bh))
1997 set_buffer_hfsplus_jbddirty(bh);
2023 struct buffer_head *bh = hfsplus_jh2bh(jh);
2025 HFSPLUS_J_ASSERT_JH(jh, hfsplus_jbd_is_locked_bh_state(bh));
2040 was_dirty = test_clear_buffer_hfsplus_jbddirty(bh);
2048 set_buffer_hfsplus_jbddirty(bh);
2067 struct buffer_head *bh = hfsplus_jh2bh(jh);
2069 hfsplus_jbd_lock_bh_state(bh);
2073 hfsplus_jbd_unlock_bh_state(bh);
2074 hfsplus_jbd_remove_journal_head(bh);
2077 __brelse(bh);