Lines Matching refs:jl

89 			      struct reiserfs_journal_list *jl, int flushall);
91 struct reiserfs_journal_list *jl, int flushall);
98 struct reiserfs_journal_list *jl);
313 *jl) in get_list_bitmap()
337 jb->journal_list = jl; in get_list_bitmap()
547 static inline void get_journal_list(struct reiserfs_journal_list *jl) in get_journal_list() argument
549 jl->j_refcount++; in get_journal_list()
553 struct reiserfs_journal_list *jl) in put_journal_list() argument
555 if (jl->j_refcount < 1) { in put_journal_list()
557 jl->j_trans_id, jl->j_refcount); in put_journal_list()
559 if (--jl->j_refcount == 0) in put_journal_list()
560 kfree(jl); in put_journal_list()
569 struct reiserfs_journal_list *jl) in cleanup_freed_for_journal_list() argument
572 struct reiserfs_list_bitmap *jb = jl->j_list_bitmap; in cleanup_freed_for_journal_list()
576 jl->j_list_bitmap->journal_list = NULL; in cleanup_freed_for_journal_list()
577 jl->j_list_bitmap = NULL; in cleanup_freed_for_journal_list()
585 struct reiserfs_journal_list *jl; in journal_list_still_alive() local
588 jl = JOURNAL_LIST_ENTRY(entry->next); in journal_list_still_alive()
589 if (jl->j_trans_id <= trans_id) { in journal_list_still_alive()
774 jh->jl = j->j_current_jl; in __add_jh()
776 list_add_tail(&jh->list, &jh->jl->j_tail_bh_list); in __add_jh()
778 list_add_tail(&jh->list, &jh->jl->j_bh_list); in __add_jh()
796 struct reiserfs_journal_list *jl, in write_ordered_buffers() argument
886 struct reiserfs_journal_list *jl) in flush_older_commits() argument
892 unsigned int trans_id = jl->j_trans_id; in flush_older_commits()
900 first_jl = jl; in flush_older_commits()
901 entry = jl->j_list.prev; in flush_older_commits()
913 if (first_jl == jl) { in flush_older_commits()
976 struct reiserfs_journal_list *jl, int flushall) in flush_commit_list() argument
981 unsigned int trans_id = jl->j_trans_id; in flush_commit_list()
989 if (atomic_read(&jl->j_older_commits_done)) { in flush_commit_list()
997 BUG_ON(jl->j_len <= 0); in flush_commit_list()
1000 get_journal_list(jl); in flush_commit_list()
1002 if (flush_older_commits(s, jl) == 1) { in flush_commit_list()
1012 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, s); in flush_commit_list()
1015 mutex_unlock(&jl->j_commit_mutex); in flush_commit_list()
1018 BUG_ON(jl->j_trans_id == 0); in flush_commit_list()
1021 if (atomic_read(&jl->j_commit_left) <= 0) { in flush_commit_list()
1023 atomic_set(&jl->j_older_commits_done, 1); in flush_commit_list()
1025 mutex_unlock(&jl->j_commit_mutex); in flush_commit_list()
1029 if (!list_empty(&jl->j_bh_list)) { in flush_commit_list()
1038 journal, jl, &jl->j_bh_list); in flush_commit_list()
1043 BUG_ON(!list_empty(&jl->j_bh_list)); in flush_commit_list()
1052 write_len = jl->j_len + 1; in flush_commit_list()
1056 bn = SB_ONDISK_JOURNAL_1st_BLOCK(s) + (jl->j_start + i) % in flush_commit_list()
1070 for (i = 0; i < (jl->j_len + 1); i++) { in flush_commit_list()
1072 (jl->j_start + i) % SB_ONDISK_JOURNAL_SIZE(s); in flush_commit_list()
1099 atomic_dec(&jl->j_commit_left); in flush_commit_list()
1102 BUG_ON(atomic_read(&jl->j_commit_left) != 1); in flush_commit_list()
1111 if (buffer_dirty(jl->j_commit_bh)) in flush_commit_list()
1113 mark_buffer_dirty(jl->j_commit_bh) ; in flush_commit_list()
1116 __sync_dirty_buffer(jl->j_commit_bh, in flush_commit_list()
1119 sync_dirty_buffer(jl->j_commit_bh); in flush_commit_list()
1128 if (unlikely(!buffer_uptodate(jl->j_commit_bh))) { in flush_commit_list()
1134 bforget(jl->j_commit_bh); in flush_commit_list()
1136 (jl->j_trans_id - journal->j_last_commit_id) != 1) { in flush_commit_list()
1138 journal->j_last_commit_id, jl->j_trans_id); in flush_commit_list()
1140 journal->j_last_commit_id = jl->j_trans_id; in flush_commit_list()
1146 cleanup_freed_for_journal_list(s, jl); in flush_commit_list()
1152 dirty_one_transaction(s, jl); in flush_commit_list()
1153 atomic_dec(&jl->j_commit_left); in flush_commit_list()
1156 atomic_set(&jl->j_older_commits_done, 1); in flush_commit_list()
1158 mutex_unlock(&jl->j_commit_mutex); in flush_commit_list()
1160 put_journal_list(s, jl); in flush_commit_list()
1201 struct reiserfs_journal_list *jl, in remove_all_from_journal_list() argument
1206 cn = jl->j_realblock; in remove_all_from_journal_list()
1222 jl, cn->blocknr, 1); in remove_all_from_journal_list()
1228 jl->j_realblock = NULL; in remove_all_from_journal_list()
1302 struct reiserfs_journal_list *jl) in flush_older_journal_lists() argument
1307 unsigned int trans_id = jl->j_trans_id; in flush_older_journal_lists()
1331 struct reiserfs_journal_list *jl) in del_from_work_list() argument
1334 if (!list_empty(&jl->j_working_list)) { in del_from_work_list()
1335 list_del_init(&jl->j_working_list); in del_from_work_list()
1351 struct reiserfs_journal_list *jl, int flushall) in flush_journal_list() argument
1359 unsigned long j_len_saved = jl->j_len; in flush_journal_list()
1381 j_len_saved, jl->j_trans_id); in flush_journal_list()
1386 if (atomic_read(&jl->j_nonzerolen) <= 0 && in flush_journal_list()
1387 atomic_read(&jl->j_commit_left) <= 0) { in flush_journal_list()
1395 flush_commit_list(s, jl, 1); in flush_journal_list()
1397 if (!(jl->j_state & LIST_DIRTY) in flush_journal_list()
1402 if (atomic_read(&jl->j_nonzerolen) <= 0 && in flush_journal_list()
1403 atomic_read(&jl->j_commit_left) <= 0) { in flush_journal_list()
1415 cn = jl->j_realblock; in flush_journal_list()
1429 if (!(jl->j_state & LIST_DIRTY)) in flush_journal_list()
1527 cn = jl->j_realblock; in flush_journal_list()
1580 flush_older_journal_lists(s, jl); in flush_journal_list()
1596 (jl->j_start + jl->j_len + in flush_journal_list()
1598 jl->j_trans_id); in flush_journal_list()
1604 remove_all_from_journal_list(s, jl, 0); in flush_journal_list()
1605 list_del_init(&jl->j_list); in flush_journal_list()
1607 del_from_work_list(s, jl); in flush_journal_list()
1610 (jl->j_trans_id - journal->j_last_flush_id) != 1) { in flush_journal_list()
1612 journal->j_last_flush_id, jl->j_trans_id); in flush_journal_list()
1614 journal->j_last_flush_id = jl->j_trans_id; in flush_journal_list()
1620 jl->j_len = 0; in flush_journal_list()
1621 atomic_set(&jl->j_nonzerolen, 0); in flush_journal_list()
1622 jl->j_start = 0; in flush_journal_list()
1623 jl->j_realblock = NULL; in flush_journal_list()
1624 jl->j_commit_bh = NULL; in flush_journal_list()
1625 jl->j_trans_id = 0; in flush_journal_list()
1626 jl->j_state = 0; in flush_journal_list()
1627 put_journal_list(s, jl); in flush_journal_list()
1634 struct reiserfs_journal_list *jl, in write_one_transaction() argument
1640 jl->j_state |= LIST_TOUCHED; in write_one_transaction()
1641 del_from_work_list(s, jl); in write_one_transaction()
1642 if (jl->j_len == 0 || atomic_read(&jl->j_nonzerolen) == 0) { in write_one_transaction()
1646 cn = jl->j_realblock; in write_one_transaction()
1686 struct reiserfs_journal_list *jl) in dirty_one_transaction() argument
1692 jl->j_state |= LIST_DIRTY; in dirty_one_transaction()
1693 cn = jl->j_realblock; in dirty_one_transaction()
1723 struct reiserfs_journal_list *jl, in kupdate_transactions() argument
1731 unsigned int orig_trans_id = jl->j_trans_id; in kupdate_transactions()
1749 if (jl->j_len == 0 || (jl->j_state & LIST_TOUCHED) || in kupdate_transactions()
1750 atomic_read(&jl->j_commit_left) in kupdate_transactions()
1751 || !(jl->j_state & LIST_DIRTY)) { in kupdate_transactions()
1752 del_from_work_list(s, jl); in kupdate_transactions()
1755 ret = write_one_transaction(s, jl, &chunk); in kupdate_transactions()
1761 entry = jl->j_list.next; in kupdate_transactions()
1767 jl = JOURNAL_LIST_ENTRY(entry); in kupdate_transactions()
1770 if (jl->j_trans_id <= orig_trans_id) in kupdate_transactions()
1793 struct reiserfs_journal_list *jl) in flush_used_journal_lists() argument
1805 flush_jl = tjl = jl; in flush_used_journal_lists()
1813 tjl->j_trans_id < jl->j_trans_id) { in flush_used_journal_lists()
1826 get_journal_list(jl); in flush_used_journal_lists()
1834 if (flush_jl != jl) { in flush_used_journal_lists()
1835 ret = kupdate_transactions(s, jl, &tjl, &trans_id, len, i); in flush_used_journal_lists()
1839 put_journal_list(s, jl); in flush_used_journal_lists()
1849 struct reiserfs_journal_list *jl, in remove_journal_hash() argument
1862 && (jl == NULL || jl == cur->jlist) in remove_journal_hash()
2579 struct reiserfs_journal_list *jl; in alloc_journal_list() local
2580 jl = kzalloc(sizeof(struct reiserfs_journal_list), in alloc_journal_list()
2582 INIT_LIST_HEAD(&jl->j_list); in alloc_journal_list()
2583 INIT_LIST_HEAD(&jl->j_working_list); in alloc_journal_list()
2584 INIT_LIST_HEAD(&jl->j_tail_bh_list); in alloc_journal_list()
2585 INIT_LIST_HEAD(&jl->j_bh_list); in alloc_journal_list()
2586 mutex_init(&jl->j_commit_mutex); in alloc_journal_list()
2588 get_journal_list(jl); in alloc_journal_list()
2589 return jl; in alloc_journal_list()
2729 struct reiserfs_journal_list *jl; in journal_init() local
2877 jl = journal->j_current_jl; in journal_init()
2885 jl->j_list_bitmap = get_list_bitmap(sb, jl); in journal_init()
2887 if (!jl->j_list_bitmap) { in journal_init()
3543 struct reiserfs_journal_list *jl; in flush_async_commits() local
3550 jl = JOURNAL_LIST_ENTRY(entry); in flush_async_commits()
3551 flush_commit_list(sb, jl, 1); in flush_async_commits()
3620 struct reiserfs_journal_list *jl; in check_journal_end() local
3657 jl = journal->j_current_jl; in check_journal_end()
3658 trans_id = jl->j_trans_id; in check_journal_end()
3660 jl->j_state |= LIST_COMMIT_PENDING; in check_journal_end()
3688 flush_commit_list(sb, jl, 1); in check_journal_end()
3841 struct reiserfs_journal_list *jl) in __commit_trans_jl() argument
3853 jl = journal->j_current_jl; in __commit_trans_jl()
3893 if (atomic_read(&jl->j_commit_left) > 1) in __commit_trans_jl()
3895 flush_commit_list(sb, jl, 1); in __commit_trans_jl()
3907 struct reiserfs_journal_list *jl = REISERFS_I(inode)->i_jl; in reiserfs_commit_for_inode() local
3913 if (!id || !jl) { in reiserfs_commit_for_inode()
3919 return __commit_trans_jl(inode, id, jl); in reiserfs_commit_for_inode()
3997 struct reiserfs_journal_list *jl, *temp_jl; in do_journal_end() local
4098 jl = journal->j_current_jl; in do_journal_end()
4106 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, sb); in do_journal_end()
4109 commit_trans_id = jl->j_trans_id; in do_journal_end()
4111 atomic_set(&jl->j_older_commits_done, 0); in do_journal_end()
4112 jl->j_trans_id = journal->j_trans_id; in do_journal_end()
4113 jl->j_timestamp = journal->j_trans_start_time; in do_journal_end()
4114 jl->j_commit_bh = c_bh; in do_journal_end()
4115 jl->j_start = journal->j_start; in do_journal_end()
4116 jl->j_len = journal->j_len; in do_journal_end()
4117 atomic_set(&jl->j_nonzerolen, journal->j_len); in do_journal_end()
4118 atomic_set(&jl->j_commit_left, journal->j_len + 2); in do_journal_end()
4119 jl->j_realblock = NULL; in do_journal_end()
4135 jl->j_realblock = jl_cn; in do_journal_end()
4158 jl_cn->jlist = jl; in do_journal_end()
4245 list_add_tail(&jl->j_list, &journal->j_journal_list); in do_journal_end()
4246 list_add_tail(&jl->j_working_list, &journal->j_working_list); in do_journal_end()
4283 if (!list_empty(&jl->j_tail_bh_list)) { in do_journal_end()
4286 journal, jl, &jl->j_tail_bh_list); in do_journal_end()
4289 BUG_ON(!list_empty(&jl->j_tail_bh_list)); in do_journal_end()
4290 mutex_unlock(&jl->j_commit_mutex); in do_journal_end()
4301 flush_commit_list(sb, jl, 1); in do_journal_end()
4302 flush_journal_list(sb, jl, 1); in do_journal_end()
4303 } else if (!(jl->j_state & LIST_COMMIT_PENDING)) { in do_journal_end()
4373 flush_commit_list(sb, jl, 1); in do_journal_end()