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)
335 jb->journal_list = jl;
545 static inline void get_journal_list(struct reiserfs_journal_list *jl)
547 jl->j_refcount++;
551 struct reiserfs_journal_list *jl)
553 if (jl->j_refcount < 1) {
555 jl->j_trans_id, jl->j_refcount);
557 if (--jl->j_refcount == 0)
558 kfree(jl);
567 struct reiserfs_journal_list *jl)
570 struct reiserfs_list_bitmap *jb = jl->j_list_bitmap;
574 jl->j_list_bitmap->journal_list = NULL;
575 jl->j_list_bitmap = NULL;
583 struct reiserfs_journal_list *jl;
586 jl = JOURNAL_LIST_ENTRY(entry->next);
587 if (jl->j_trans_id <= trans_id) {
772 jh->jl = j->j_current_jl;
774 list_add_tail(&jh->list, &jh->jl->j_tail_bh_list);
776 list_add_tail(&jh->list, &jh->jl->j_bh_list);
794 struct reiserfs_journal_list *jl,
884 struct reiserfs_journal_list *jl)
890 unsigned int trans_id = jl->j_trans_id;
897 first_jl = jl;
898 entry = jl->j_list.prev;
910 if (first_jl == jl) {
971 struct reiserfs_journal_list *jl, int flushall)
976 unsigned int trans_id = jl->j_trans_id;
984 if (atomic_read(&jl->j_older_commits_done)) {
992 BUG_ON(jl->j_len <= 0);
995 get_journal_list(jl);
997 if (flush_older_commits(s, jl) == 1) {
1007 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, s);
1010 mutex_unlock(&jl->j_commit_mutex);
1013 BUG_ON(jl->j_trans_id == 0);
1016 if (atomic_read(&jl->j_commit_left) <= 0) {
1018 atomic_set(&jl->j_older_commits_done, 1);
1020 mutex_unlock(&jl->j_commit_mutex);
1024 if (!list_empty(&jl->j_bh_list)) {
1033 journal, jl, &jl->j_bh_list);
1038 BUG_ON(!list_empty(&jl->j_bh_list));
1047 write_len = jl->j_len + 1;
1051 bn = SB_ONDISK_JOURNAL_1st_BLOCK(s) + (jl->j_start + i) %
1065 for (i = 0; i < (jl->j_len + 1); i++) {
1067 (jl->j_start + i) % SB_ONDISK_JOURNAL_SIZE(s);
1094 atomic_dec(&jl->j_commit_left);
1097 BUG_ON(atomic_read(&jl->j_commit_left) != 1);
1106 if (buffer_dirty(jl->j_commit_bh))
1108 mark_buffer_dirty(jl->j_commit_bh) ;
1111 __sync_dirty_buffer(jl->j_commit_bh,
1114 sync_dirty_buffer(jl->j_commit_bh);
1123 if (unlikely(!buffer_uptodate(jl->j_commit_bh))) {
1129 bforget(jl->j_commit_bh);
1131 (jl->j_trans_id - journal->j_last_commit_id) != 1) {
1133 journal->j_last_commit_id, jl->j_trans_id);
1135 journal->j_last_commit_id = jl->j_trans_id;
1141 cleanup_freed_for_journal_list(s, jl);
1147 dirty_one_transaction(s, jl);
1148 atomic_dec(&jl->j_commit_left);
1151 atomic_set(&jl->j_older_commits_done, 1);
1153 mutex_unlock(&jl->j_commit_mutex);
1155 put_journal_list(s, jl);
1196 struct reiserfs_journal_list *jl,
1201 cn = jl->j_realblock;
1217 jl, cn->blocknr, 1);
1223 jl->j_realblock = NULL;
1297 struct reiserfs_journal_list *jl)
1302 unsigned int trans_id = jl->j_trans_id;
1326 struct reiserfs_journal_list *jl)
1329 if (!list_empty(&jl->j_working_list)) {
1330 list_del_init(&jl->j_working_list);
1346 struct reiserfs_journal_list *jl, int flushall)
1354 unsigned long j_len_saved = jl->j_len;
1376 j_len_saved, jl->j_trans_id);
1381 if (atomic_read(&jl->j_nonzerolen) <= 0 &&
1382 atomic_read(&jl->j_commit_left) <= 0) {
1390 flush_commit_list(s, jl, 1);
1392 if (!(jl->j_state & LIST_DIRTY)
1397 if (atomic_read(&jl->j_nonzerolen) <= 0 &&
1398 atomic_read(&jl->j_commit_left) <= 0) {
1410 cn = jl->j_realblock;
1424 if (!(jl->j_state & LIST_DIRTY))
1521 cn = jl->j_realblock;
1574 flush_older_journal_lists(s, jl);
1590 (jl->j_start + jl->j_len +
1592 jl->j_trans_id);
1598 remove_all_from_journal_list(s, jl, 0);
1599 list_del_init(&jl->j_list);
1601 del_from_work_list(s, jl);
1604 (jl->j_trans_id - journal->j_last_flush_id) != 1) {
1606 journal->j_last_flush_id, jl->j_trans_id);
1608 journal->j_last_flush_id = jl->j_trans_id;
1614 jl->j_len = 0;
1615 atomic_set(&jl->j_nonzerolen, 0);
1616 jl->j_start = 0;
1617 jl->j_realblock = NULL;
1618 jl->j_commit_bh = NULL;
1619 jl->j_trans_id = 0;
1620 jl->j_state = 0;
1621 put_journal_list(s, jl);
1628 struct reiserfs_journal_list *jl,
1634 jl->j_state |= LIST_TOUCHED;
1635 del_from_work_list(s, jl);
1636 if (jl->j_len == 0 || atomic_read(&jl->j_nonzerolen) == 0) {
1640 cn = jl->j_realblock;
1680 struct reiserfs_journal_list *jl)
1685 jl->j_state |= LIST_DIRTY;
1686 cn = jl->j_realblock;
1715 struct reiserfs_journal_list *jl,
1723 unsigned int orig_trans_id = jl->j_trans_id;
1741 if (jl->j_len == 0 || (jl->j_state & LIST_TOUCHED) ||
1742 atomic_read(&jl->j_commit_left)
1743 || !(jl->j_state & LIST_DIRTY)) {
1744 del_from_work_list(s, jl);
1747 ret = write_one_transaction(s, jl, &chunk);
1753 entry = jl->j_list.next;
1759 jl = JOURNAL_LIST_ENTRY(entry);
1762 if (jl->j_trans_id <= orig_trans_id)
1785 struct reiserfs_journal_list *jl)
1796 flush_jl = tjl = jl;
1804 tjl->j_trans_id < jl->j_trans_id) {
1817 get_journal_list(jl);
1825 if (flush_jl != jl)
1826 kupdate_transactions(s, jl, &tjl, &trans_id, len, i);
1830 put_journal_list(s, jl);
1840 struct reiserfs_journal_list *jl,
1853 && (jl == NULL || jl == cur->jlist)
2570 struct reiserfs_journal_list *jl;
2571 jl = kzalloc(sizeof(struct reiserfs_journal_list),
2573 INIT_LIST_HEAD(&jl->j_list);
2574 INIT_LIST_HEAD(&jl->j_working_list);
2575 INIT_LIST_HEAD(&jl->j_tail_bh_list);
2576 INIT_LIST_HEAD(&jl->j_bh_list);
2577 mutex_init(&jl->j_commit_mutex);
2579 get_journal_list(jl);
2580 return jl;
2719 struct reiserfs_journal_list *jl;
2881 jl = journal->j_current_jl;
2889 jl->j_list_bitmap = get_list_bitmap(sb, jl);
2891 if (!jl->j_list_bitmap) {
3546 struct reiserfs_journal_list *jl;
3553 jl = JOURNAL_LIST_ENTRY(entry);
3554 flush_commit_list(sb, jl, 1);
3623 struct reiserfs_journal_list *jl;
3660 jl = journal->j_current_jl;
3661 trans_id = jl->j_trans_id;
3663 jl->j_state |= LIST_COMMIT_PENDING;
3691 flush_commit_list(sb, jl, 1);
3844 struct reiserfs_journal_list *jl)
3856 jl = journal->j_current_jl;
3896 if (atomic_read(&jl->j_commit_left) > 1)
3898 flush_commit_list(sb, jl, 1);
3910 struct reiserfs_journal_list *jl = REISERFS_I(inode)->i_jl;
3916 if (!id || !jl) {
3919 /* jl will be updated in __commit_trans_jl */
3922 return __commit_trans_jl(inode, id, jl);
3999 struct reiserfs_journal_list *jl, *temp_jl;
4100 jl = journal->j_current_jl;
4108 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, sb);
4111 commit_trans_id = jl->j_trans_id;
4113 atomic_set(&jl->j_older_commits_done, 0);
4114 jl->j_trans_id = journal->j_trans_id;
4115 jl->j_timestamp = journal->j_trans_start_time;
4116 jl->j_commit_bh = c_bh;
4117 jl->j_start = journal->j_start;
4118 jl->j_len = journal->j_len;
4119 atomic_set(&jl->j_nonzerolen, journal->j_len);
4120 atomic_set(&jl->j_commit_left, journal->j_len + 2);
4121 jl->j_realblock = NULL;
4137 jl->j_realblock = jl_cn;
4160 jl_cn->jlist = jl;
4247 list_add_tail(&jl->j_list, &journal->j_journal_list);
4248 list_add_tail(&jl->j_working_list, &journal->j_working_list);
4284 if (!list_empty(&jl->j_tail_bh_list)) {
4287 journal, jl, &jl->j_tail_bh_list);
4290 BUG_ON(!list_empty(&jl->j_tail_bh_list));
4291 mutex_unlock(&jl->j_commit_mutex);
4302 flush_commit_list(sb, jl, 1);
4303 flush_journal_list(sb, jl, 1);
4304 } else if (!(jl->j_state & LIST_COMMIT_PENDING)) {
4374 flush_commit_list(sb, jl, 1);