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;
543 static inline void get_journal_list(struct reiserfs_journal_list *jl)
545 jl->j_refcount++;
549 struct reiserfs_journal_list *jl)
551 if (jl->j_refcount < 1) {
553 jl->j_trans_id, jl->j_refcount);
555 if (--jl->j_refcount == 0)
556 kfree(jl);
565 struct reiserfs_journal_list *jl)
568 struct reiserfs_list_bitmap *jb = jl->j_list_bitmap;
572 jl->j_list_bitmap->journal_list = NULL;
573 jl->j_list_bitmap = NULL;
581 struct reiserfs_journal_list *jl;
584 jl = JOURNAL_LIST_ENTRY(entry->next);
585 if (jl->j_trans_id <= trans_id) {
770 jh->jl = j->j_current_jl;
772 list_add_tail(&jh->list, &jh->jl->j_tail_bh_list);
774 list_add_tail(&jh->list, &jh->jl->j_bh_list);
792 struct reiserfs_journal_list *jl,
882 struct reiserfs_journal_list *jl)
888 unsigned int trans_id = jl->j_trans_id;
895 first_jl = jl;
896 entry = jl->j_list.prev;
908 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) %
1066 for (i = 0; i < (jl->j_len + 1); i++) {
1068 (jl->j_start + i) % SB_ONDISK_JOURNAL_SIZE(s);
1095 atomic_dec(&jl->j_commit_left);
1098 BUG_ON(atomic_read(&jl->j_commit_left) != 1);
1107 if (buffer_dirty(jl->j_commit_bh))
1109 mark_buffer_dirty(jl->j_commit_bh) ;
1112 __sync_dirty_buffer(jl->j_commit_bh,
1115 sync_dirty_buffer(jl->j_commit_bh);
1124 if (unlikely(!buffer_uptodate(jl->j_commit_bh))) {
1130 bforget(jl->j_commit_bh);
1132 (jl->j_trans_id - journal->j_last_commit_id) != 1) {
1134 journal->j_last_commit_id, jl->j_trans_id);
1136 journal->j_last_commit_id = jl->j_trans_id;
1142 cleanup_freed_for_journal_list(s, jl);
1148 dirty_one_transaction(s, jl);
1149 atomic_dec(&jl->j_commit_left);
1152 atomic_set(&jl->j_older_commits_done, 1);
1154 mutex_unlock(&jl->j_commit_mutex);
1156 put_journal_list(s, jl);
1197 struct reiserfs_journal_list *jl,
1202 cn = jl->j_realblock;
1218 jl, cn->blocknr, 1);
1224 jl->j_realblock = NULL;
1298 struct reiserfs_journal_list *jl)
1303 unsigned int trans_id = jl->j_trans_id;
1327 struct reiserfs_journal_list *jl)
1330 if (!list_empty(&jl->j_working_list)) {
1331 list_del_init(&jl->j_working_list);
1347 struct reiserfs_journal_list *jl, int flushall)
1355 unsigned long j_len_saved = jl->j_len;
1377 j_len_saved, jl->j_trans_id);
1382 if (atomic_read(&jl->j_nonzerolen) <= 0 &&
1383 atomic_read(&jl->j_commit_left) <= 0) {
1391 flush_commit_list(s, jl, 1);
1393 if (!(jl->j_state & LIST_DIRTY)
1398 if (atomic_read(&jl->j_nonzerolen) <= 0 &&
1399 atomic_read(&jl->j_commit_left) <= 0) {
1411 cn = jl->j_realblock;
1425 if (!(jl->j_state & LIST_DIRTY))
1522 cn = jl->j_realblock;
1575 flush_older_journal_lists(s, jl);
1591 (jl->j_start + jl->j_len +
1593 jl->j_trans_id);
1599 remove_all_from_journal_list(s, jl, 0);
1600 list_del_init(&jl->j_list);
1602 del_from_work_list(s, jl);
1605 (jl->j_trans_id - journal->j_last_flush_id) != 1) {
1607 journal->j_last_flush_id, jl->j_trans_id);
1609 journal->j_last_flush_id = jl->j_trans_id;
1615 jl->j_len = 0;
1616 atomic_set(&jl->j_nonzerolen, 0);
1617 jl->j_start = 0;
1618 jl->j_realblock = NULL;
1619 jl->j_commit_bh = NULL;
1620 jl->j_trans_id = 0;
1621 jl->j_state = 0;
1622 put_journal_list(s, jl);
1629 struct reiserfs_journal_list *jl,
1635 jl->j_state |= LIST_TOUCHED;
1636 del_from_work_list(s, jl);
1637 if (jl->j_len == 0 || atomic_read(&jl->j_nonzerolen) == 0) {
1641 cn = jl->j_realblock;
1681 struct reiserfs_journal_list *jl)
1686 jl->j_state |= LIST_DIRTY;
1687 cn = jl->j_realblock;
1716 struct reiserfs_journal_list *jl,
1724 unsigned int orig_trans_id = jl->j_trans_id;
1742 if (jl->j_len == 0 || (jl->j_state & LIST_TOUCHED) ||
1743 atomic_read(&jl->j_commit_left)
1744 || !(jl->j_state & LIST_DIRTY)) {
1745 del_from_work_list(s, jl);
1748 ret = write_one_transaction(s, jl, &chunk);
1754 entry = jl->j_list.next;
1760 jl = JOURNAL_LIST_ENTRY(entry);
1763 if (jl->j_trans_id <= orig_trans_id)
1786 struct reiserfs_journal_list *jl)
1797 flush_jl = tjl = jl;
1805 tjl->j_trans_id < jl->j_trans_id) {
1818 get_journal_list(jl);
1826 if (flush_jl != jl)
1827 kupdate_transactions(s, jl, &tjl, &trans_id, len, i);
1831 put_journal_list(s, jl);
1841 struct reiserfs_journal_list *jl,
1854 && (jl == NULL || jl == cur->jlist)
2572 struct reiserfs_journal_list *jl;
2573 jl = kzalloc(sizeof(struct reiserfs_journal_list),
2575 INIT_LIST_HEAD(&jl->j_list);
2576 INIT_LIST_HEAD(&jl->j_working_list);
2577 INIT_LIST_HEAD(&jl->j_tail_bh_list);
2578 INIT_LIST_HEAD(&jl->j_bh_list);
2579 mutex_init(&jl->j_commit_mutex);
2581 get_journal_list(jl);
2582 return jl;
2726 struct reiserfs_journal_list *jl;
2888 jl = journal->j_current_jl;
2896 jl->j_list_bitmap = get_list_bitmap(sb, jl);
2898 if (!jl->j_list_bitmap) {
3551 struct reiserfs_journal_list *jl;
3558 jl = JOURNAL_LIST_ENTRY(entry);
3559 flush_commit_list(sb, jl, 1);
3628 struct reiserfs_journal_list *jl;
3665 jl = journal->j_current_jl;
3666 trans_id = jl->j_trans_id;
3668 jl->j_state |= LIST_COMMIT_PENDING;
3696 flush_commit_list(sb, jl, 1);
3849 struct reiserfs_journal_list *jl)
3861 jl = journal->j_current_jl;
3901 if (atomic_read(&jl->j_commit_left) > 1)
3903 flush_commit_list(sb, jl, 1);
3915 struct reiserfs_journal_list *jl = REISERFS_I(inode)->i_jl;
3921 if (!id || !jl) {
3924 /* jl will be updated in __commit_trans_jl */
3927 return __commit_trans_jl(inode, id, jl);
4004 struct reiserfs_journal_list *jl, *temp_jl;
4105 jl = journal->j_current_jl;
4113 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, sb);
4116 commit_trans_id = jl->j_trans_id;
4118 atomic_set(&jl->j_older_commits_done, 0);
4119 jl->j_trans_id = journal->j_trans_id;
4120 jl->j_timestamp = journal->j_trans_start_time;
4121 jl->j_commit_bh = c_bh;
4122 jl->j_start = journal->j_start;
4123 jl->j_len = journal->j_len;
4124 atomic_set(&jl->j_nonzerolen, journal->j_len);
4125 atomic_set(&jl->j_commit_left, journal->j_len + 2);
4126 jl->j_realblock = NULL;
4142 jl->j_realblock = jl_cn;
4165 jl_cn->jlist = jl;
4252 list_add_tail(&jl->j_list, &journal->j_journal_list);
4253 list_add_tail(&jl->j_working_list, &journal->j_working_list);
4289 if (!list_empty(&jl->j_tail_bh_list)) {
4292 journal, jl, &jl->j_tail_bh_list);
4295 BUG_ON(!list_empty(&jl->j_tail_bh_list));
4296 mutex_unlock(&jl->j_commit_mutex);
4307 flush_commit_list(sb, jl, 1);
4308 flush_journal_list(sb, jl, 1);
4309 } else if (!(jl->j_state & LIST_COMMIT_PENDING)) {
4379 flush_commit_list(sb, jl, 1);