Lines Matching refs:jl

87 			      struct reiserfs_journal_list *jl, int flushall);
89 struct reiserfs_journal_list *jl, int flushall);
96 struct reiserfs_journal_list *jl);
311 *jl) in get_list_bitmap()
335 jb->journal_list = jl; in get_list_bitmap()
545 static inline void get_journal_list(struct reiserfs_journal_list *jl) in get_journal_list() argument
547 jl->j_refcount++; in get_journal_list()
551 struct reiserfs_journal_list *jl) in put_journal_list() argument
553 if (jl->j_refcount < 1) { in put_journal_list()
555 jl->j_trans_id, jl->j_refcount); in put_journal_list()
557 if (--jl->j_refcount == 0) in put_journal_list()
558 kfree(jl); in put_journal_list()
567 struct reiserfs_journal_list *jl) in cleanup_freed_for_journal_list() argument
570 struct reiserfs_list_bitmap *jb = jl->j_list_bitmap; in cleanup_freed_for_journal_list()
574 jl->j_list_bitmap->journal_list = NULL; in cleanup_freed_for_journal_list()
575 jl->j_list_bitmap = NULL; in cleanup_freed_for_journal_list()
583 struct reiserfs_journal_list *jl; in journal_list_still_alive() local
586 jl = JOURNAL_LIST_ENTRY(entry->next); in journal_list_still_alive()
587 if (jl->j_trans_id <= trans_id) { in journal_list_still_alive()
772 jh->jl = j->j_current_jl; in __add_jh()
774 list_add_tail(&jh->list, &jh->jl->j_tail_bh_list); in __add_jh()
776 list_add_tail(&jh->list, &jh->jl->j_bh_list); in __add_jh()
794 struct reiserfs_journal_list *jl, in write_ordered_buffers() argument
884 struct reiserfs_journal_list *jl) in flush_older_commits() argument
890 unsigned int trans_id = jl->j_trans_id; in flush_older_commits()
897 first_jl = jl; in flush_older_commits()
898 entry = jl->j_list.prev; in flush_older_commits()
910 if (first_jl == jl) { in flush_older_commits()
971 struct reiserfs_journal_list *jl, int flushall) in flush_commit_list() argument
976 unsigned int trans_id = jl->j_trans_id; in flush_commit_list()
984 if (atomic_read(&jl->j_older_commits_done)) { in flush_commit_list()
992 BUG_ON(jl->j_len <= 0); in flush_commit_list()
995 get_journal_list(jl); in flush_commit_list()
997 if (flush_older_commits(s, jl) == 1) { in flush_commit_list()
1007 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, s); in flush_commit_list()
1010 mutex_unlock(&jl->j_commit_mutex); in flush_commit_list()
1013 BUG_ON(jl->j_trans_id == 0); in flush_commit_list()
1016 if (atomic_read(&jl->j_commit_left) <= 0) { in flush_commit_list()
1018 atomic_set(&jl->j_older_commits_done, 1); in flush_commit_list()
1020 mutex_unlock(&jl->j_commit_mutex); in flush_commit_list()
1024 if (!list_empty(&jl->j_bh_list)) { in flush_commit_list()
1033 journal, jl, &jl->j_bh_list); in flush_commit_list()
1038 BUG_ON(!list_empty(&jl->j_bh_list)); in flush_commit_list()
1047 write_len = jl->j_len + 1; in flush_commit_list()
1051 bn = SB_ONDISK_JOURNAL_1st_BLOCK(s) + (jl->j_start + i) % in flush_commit_list()
1065 for (i = 0; i < (jl->j_len + 1); i++) { in flush_commit_list()
1067 (jl->j_start + i) % SB_ONDISK_JOURNAL_SIZE(s); in flush_commit_list()
1094 atomic_dec(&jl->j_commit_left); in flush_commit_list()
1097 BUG_ON(atomic_read(&jl->j_commit_left) != 1); in flush_commit_list()
1106 if (buffer_dirty(jl->j_commit_bh)) in flush_commit_list()
1108 mark_buffer_dirty(jl->j_commit_bh) ; in flush_commit_list()
1111 __sync_dirty_buffer(jl->j_commit_bh, in flush_commit_list()
1114 sync_dirty_buffer(jl->j_commit_bh); in flush_commit_list()
1123 if (unlikely(!buffer_uptodate(jl->j_commit_bh))) { in flush_commit_list()
1129 bforget(jl->j_commit_bh); in flush_commit_list()
1131 (jl->j_trans_id - journal->j_last_commit_id) != 1) { in flush_commit_list()
1133 journal->j_last_commit_id, jl->j_trans_id); in flush_commit_list()
1135 journal->j_last_commit_id = jl->j_trans_id; in flush_commit_list()
1141 cleanup_freed_for_journal_list(s, jl); in flush_commit_list()
1147 dirty_one_transaction(s, jl); in flush_commit_list()
1148 atomic_dec(&jl->j_commit_left); in flush_commit_list()
1151 atomic_set(&jl->j_older_commits_done, 1); in flush_commit_list()
1153 mutex_unlock(&jl->j_commit_mutex); in flush_commit_list()
1155 put_journal_list(s, jl); in flush_commit_list()
1196 struct reiserfs_journal_list *jl, in remove_all_from_journal_list() argument
1201 cn = jl->j_realblock; in remove_all_from_journal_list()
1217 jl, cn->blocknr, 1); in remove_all_from_journal_list()
1223 jl->j_realblock = NULL; in remove_all_from_journal_list()
1297 struct reiserfs_journal_list *jl) in flush_older_journal_lists() argument
1302 unsigned int trans_id = jl->j_trans_id; in flush_older_journal_lists()
1326 struct reiserfs_journal_list *jl) in del_from_work_list() argument
1329 if (!list_empty(&jl->j_working_list)) { in del_from_work_list()
1330 list_del_init(&jl->j_working_list); in del_from_work_list()
1346 struct reiserfs_journal_list *jl, int flushall) in flush_journal_list() argument
1354 unsigned long j_len_saved = jl->j_len; in flush_journal_list()
1376 j_len_saved, jl->j_trans_id); in flush_journal_list()
1381 if (atomic_read(&jl->j_nonzerolen) <= 0 && in flush_journal_list()
1382 atomic_read(&jl->j_commit_left) <= 0) { in flush_journal_list()
1390 flush_commit_list(s, jl, 1); in flush_journal_list()
1392 if (!(jl->j_state & LIST_DIRTY) in flush_journal_list()
1397 if (atomic_read(&jl->j_nonzerolen) <= 0 && in flush_journal_list()
1398 atomic_read(&jl->j_commit_left) <= 0) { in flush_journal_list()
1410 cn = jl->j_realblock; in flush_journal_list()
1424 if (!(jl->j_state & LIST_DIRTY)) in flush_journal_list()
1521 cn = jl->j_realblock; in flush_journal_list()
1574 flush_older_journal_lists(s, jl); in flush_journal_list()
1590 (jl->j_start + jl->j_len + in flush_journal_list()
1592 jl->j_trans_id); in flush_journal_list()
1598 remove_all_from_journal_list(s, jl, 0); in flush_journal_list()
1599 list_del_init(&jl->j_list); in flush_journal_list()
1601 del_from_work_list(s, jl); in flush_journal_list()
1604 (jl->j_trans_id - journal->j_last_flush_id) != 1) { in flush_journal_list()
1606 journal->j_last_flush_id, jl->j_trans_id); in flush_journal_list()
1608 journal->j_last_flush_id = jl->j_trans_id; in flush_journal_list()
1614 jl->j_len = 0; in flush_journal_list()
1615 atomic_set(&jl->j_nonzerolen, 0); in flush_journal_list()
1616 jl->j_start = 0; in flush_journal_list()
1617 jl->j_realblock = NULL; in flush_journal_list()
1618 jl->j_commit_bh = NULL; in flush_journal_list()
1619 jl->j_trans_id = 0; in flush_journal_list()
1620 jl->j_state = 0; in flush_journal_list()
1621 put_journal_list(s, jl); in flush_journal_list()
1628 struct reiserfs_journal_list *jl, in write_one_transaction() argument
1634 jl->j_state |= LIST_TOUCHED; in write_one_transaction()
1635 del_from_work_list(s, jl); in write_one_transaction()
1636 if (jl->j_len == 0 || atomic_read(&jl->j_nonzerolen) == 0) { in write_one_transaction()
1640 cn = jl->j_realblock; in write_one_transaction()
1680 struct reiserfs_journal_list *jl) in dirty_one_transaction() argument
1685 jl->j_state |= LIST_DIRTY; in dirty_one_transaction()
1686 cn = jl->j_realblock; in dirty_one_transaction()
1715 struct reiserfs_journal_list *jl, in kupdate_transactions() argument
1723 unsigned int orig_trans_id = jl->j_trans_id; in kupdate_transactions()
1741 if (jl->j_len == 0 || (jl->j_state & LIST_TOUCHED) || in kupdate_transactions()
1742 atomic_read(&jl->j_commit_left) in kupdate_transactions()
1743 || !(jl->j_state & LIST_DIRTY)) { in kupdate_transactions()
1744 del_from_work_list(s, jl); in kupdate_transactions()
1747 ret = write_one_transaction(s, jl, &chunk); in kupdate_transactions()
1753 entry = jl->j_list.next; in kupdate_transactions()
1759 jl = JOURNAL_LIST_ENTRY(entry); in kupdate_transactions()
1762 if (jl->j_trans_id <= orig_trans_id) in kupdate_transactions()
1785 struct reiserfs_journal_list *jl) in flush_used_journal_lists() argument
1796 flush_jl = tjl = jl; in flush_used_journal_lists()
1804 tjl->j_trans_id < jl->j_trans_id) { in flush_used_journal_lists()
1817 get_journal_list(jl); in flush_used_journal_lists()
1825 if (flush_jl != jl) in flush_used_journal_lists()
1826 kupdate_transactions(s, jl, &tjl, &trans_id, len, i); in flush_used_journal_lists()
1830 put_journal_list(s, jl); in flush_used_journal_lists()
1840 struct reiserfs_journal_list *jl, in remove_journal_hash() argument
1853 && (jl == NULL || jl == cur->jlist) in remove_journal_hash()
2568 struct reiserfs_journal_list *jl; in alloc_journal_list() local
2569 jl = kzalloc(sizeof(struct reiserfs_journal_list), in alloc_journal_list()
2571 INIT_LIST_HEAD(&jl->j_list); in alloc_journal_list()
2572 INIT_LIST_HEAD(&jl->j_working_list); in alloc_journal_list()
2573 INIT_LIST_HEAD(&jl->j_tail_bh_list); in alloc_journal_list()
2574 INIT_LIST_HEAD(&jl->j_bh_list); in alloc_journal_list()
2575 mutex_init(&jl->j_commit_mutex); in alloc_journal_list()
2577 get_journal_list(jl); in alloc_journal_list()
2578 return jl; in alloc_journal_list()
2717 struct reiserfs_journal_list *jl; in journal_init() local
2879 jl = journal->j_current_jl; in journal_init()
2887 jl->j_list_bitmap = get_list_bitmap(sb, jl); in journal_init()
2889 if (!jl->j_list_bitmap) { in journal_init()
3544 struct reiserfs_journal_list *jl; in flush_async_commits() local
3551 jl = JOURNAL_LIST_ENTRY(entry); in flush_async_commits()
3552 flush_commit_list(sb, jl, 1); in flush_async_commits()
3621 struct reiserfs_journal_list *jl; in check_journal_end() local
3658 jl = journal->j_current_jl; in check_journal_end()
3659 trans_id = jl->j_trans_id; in check_journal_end()
3661 jl->j_state |= LIST_COMMIT_PENDING; in check_journal_end()
3689 flush_commit_list(sb, jl, 1); in check_journal_end()
3842 struct reiserfs_journal_list *jl) in __commit_trans_jl() argument
3854 jl = journal->j_current_jl; in __commit_trans_jl()
3894 if (atomic_read(&jl->j_commit_left) > 1) in __commit_trans_jl()
3896 flush_commit_list(sb, jl, 1); in __commit_trans_jl()
3908 struct reiserfs_journal_list *jl = REISERFS_I(inode)->i_jl; in reiserfs_commit_for_inode() local
3914 if (!id || !jl) { in reiserfs_commit_for_inode()
3920 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()
4282 if (!list_empty(&jl->j_tail_bh_list)) { in do_journal_end()
4285 journal, jl, &jl->j_tail_bh_list); in do_journal_end()
4288 BUG_ON(!list_empty(&jl->j_tail_bh_list)); in do_journal_end()
4289 mutex_unlock(&jl->j_commit_mutex); in do_journal_end()
4300 flush_commit_list(sb, jl, 1); in do_journal_end()
4301 flush_journal_list(sb, jl, 1); in do_journal_end()
4302 } else if (!(jl->j_state & LIST_COMMIT_PENDING)) { in do_journal_end()
4372 flush_commit_list(sb, jl, 1); in do_journal_end()