Lines Matching refs:jh
1755 static void journal_free_journal_head(struct journal_head *jh)
1759 memset(jh, JBD_POISON_FREE, sizeof(*jh));
1761 kmem_cache_free(journal_head_cache, jh);
1773 struct journal_head *jh;
1784 jh = bh2jh(bh);
1795 jh = new_jh;
1798 bh->b_private = jh;
1799 jh->b_bh = bh;
1803 jh->b_jcount++;
1816 struct journal_head *jh = NULL;
1820 jh = bh2jh(bh);
1821 jh->b_jcount++;
1824 return jh;
1829 struct journal_head *jh = bh2jh(bh);
1831 J_ASSERT_JH(jh, jh->b_jcount >= 0);
1834 if (jh->b_jcount == 0) {
1835 if (jh->b_transaction == NULL &&
1836 jh->b_next_transaction == NULL &&
1837 jh->b_cp_transaction == NULL) {
1838 J_ASSERT_JH(jh, jh->b_jlist == BJ_None);
1840 J_ASSERT_BH(bh, jh2bh(jh) == bh);
1842 if (jh->b_frozen_data) {
1846 jbd_slab_free(jh->b_frozen_data, bh->b_size);
1848 if (jh->b_committed_data) {
1852 jbd_slab_free(jh->b_committed_data, bh->b_size);
1855 jh->b_bh = NULL; /* debug, really */
1858 journal_free_journal_head(jh);
1889 void journal_put_journal_head(struct journal_head *jh)
1891 struct buffer_head *bh = jh2bh(jh);
1894 J_ASSERT_JH(jh, jh->b_jcount > 0);
1895 --jh->b_jcount;
1896 if (!jh->b_jcount && !jh->b_transaction) {