Lines Matching refs:jh
2855 static void journal_free_journal_head(struct journal_head *jh)
2859 memset(jh, JBD2_POISON_FREE, sizeof(*jh));
2861 kmem_cache_free(jbd2_journal_head_cache, jh);
2891 * struct journal_head *jh = jbd2_journal_add_journal_head(bh);
2895 * jh->b_transaction = xxx;
2897 * jbd2_journal_put_journal_head(jh);
2907 struct journal_head *jh;
2916 jh = bh2jh(bh);
2927 jh = new_jh;
2930 bh->b_private = jh;
2931 jh->b_bh = bh;
2935 jh->b_jcount++;
2948 struct journal_head *jh = NULL;
2952 jh = bh2jh(bh);
2953 jh->b_jcount++;
2956 return jh;
2962 struct journal_head *jh = bh2jh(bh);
2964 J_ASSERT_JH(jh, jh->b_transaction == NULL);
2965 J_ASSERT_JH(jh, jh->b_next_transaction == NULL);
2966 J_ASSERT_JH(jh, jh->b_cp_transaction == NULL);
2967 J_ASSERT_JH(jh, jh->b_jlist == BJ_None);
2969 J_ASSERT_BH(bh, jh2bh(jh) == bh);
2974 jh->b_bh = NULL; /* debug, really */
2978 static void journal_release_journal_head(struct journal_head *jh, size_t b_size)
2980 if (jh->b_frozen_data) {
2982 jbd2_free(jh->b_frozen_data, b_size);
2984 if (jh->b_committed_data) {
2986 jbd2_free(jh->b_committed_data, b_size);
2988 journal_free_journal_head(jh);
2995 void jbd2_journal_put_journal_head(struct journal_head *jh)
2997 struct buffer_head *bh = jh2bh(jh);
3000 J_ASSERT_JH(jh, jh->b_jcount > 0);
3001 --jh->b_jcount;
3002 if (!jh->b_jcount) {
3005 journal_release_journal_head(jh, bh->b_size);