Lines Matching refs:jh
1766 static void journal_free_journal_head(struct journal_head *jh)
1770 memset(jh, JBD_POISON_FREE, sizeof(*jh));
1772 kmem_cache_free(jbd2_journal_head_cache, jh);
1784 struct journal_head *jh;
1795 jh = bh2jh(bh);
1806 jh = new_jh;
1809 bh->b_private = jh;
1810 jh->b_bh = bh;
1814 jh->b_jcount++;
1827 struct journal_head *jh = NULL;
1831 jh = bh2jh(bh);
1832 jh->b_jcount++;
1835 return jh;
1840 struct journal_head *jh = bh2jh(bh);
1842 J_ASSERT_JH(jh, jh->b_jcount >= 0);
1845 if (jh->b_jcount == 0) {
1846 if (jh->b_transaction == NULL &&
1847 jh->b_next_transaction == NULL &&
1848 jh->b_cp_transaction == NULL) {
1849 J_ASSERT_JH(jh, jh->b_jlist == BJ_None);
1851 J_ASSERT_BH(bh, jh2bh(jh) == bh);
1853 if (jh->b_frozen_data) {
1857 jbd2_slab_free(jh->b_frozen_data, bh->b_size);
1859 if (jh->b_committed_data) {
1863 jbd2_slab_free(jh->b_committed_data, bh->b_size);
1866 jh->b_bh = NULL; /* debug, really */
1869 journal_free_journal_head(jh);
1900 void jbd2_journal_put_journal_head(struct journal_head *jh)
1902 struct buffer_head *bh = jh2bh(jh);
1905 J_ASSERT_JH(jh, jh->b_jcount > 0);
1906 --jh->b_jcount;
1907 if (!jh->b_jcount && !jh->b_transaction) {