Lines Matching refs:sb

92 			struct super_block *sb);
110 struct super_block *sb,
113 static void init_journal_hash(struct super_block *sb) in init_journal_hash() argument
115 struct reiserfs_journal *journal = SB_JOURNAL(sb); in init_journal_hash()
136 *sb) in allocate_bitmap_node()
145 bn->data = kzalloc(sb->s_blocksize, GFP_NOFS); in allocate_bitmap_node()
155 static struct reiserfs_bitmap_node *get_bitmap_node(struct super_block *sb) in get_bitmap_node() argument
157 struct reiserfs_journal *journal = SB_JOURNAL(sb); in get_bitmap_node()
167 memset(bn->data, 0, sb->s_blocksize); in get_bitmap_node()
171 bn = allocate_bitmap_node(sb); in get_bitmap_node()
178 static inline void free_bitmap_node(struct super_block *sb, in free_bitmap_node() argument
181 struct reiserfs_journal *journal = SB_JOURNAL(sb); in free_bitmap_node()
192 static void allocate_bitmap_nodes(struct super_block *sb) in allocate_bitmap_nodes() argument
195 struct reiserfs_journal *journal = SB_JOURNAL(sb); in allocate_bitmap_nodes()
198 bn = allocate_bitmap_node(sb); in allocate_bitmap_nodes()
209 static int set_bit_in_list_bitmap(struct super_block *sb, in set_bit_in_list_bitmap() argument
213 unsigned int bmap_nr = block / (sb->s_blocksize << 3); in set_bit_in_list_bitmap()
214 unsigned int bit_nr = block % (sb->s_blocksize << 3); in set_bit_in_list_bitmap()
217 jb->bitmaps[bmap_nr] = get_bitmap_node(sb); in set_bit_in_list_bitmap()
223 static void cleanup_bitmap_list(struct super_block *sb, in cleanup_bitmap_list() argument
230 for (i = 0; i < reiserfs_bmap_count(sb); i++) { in cleanup_bitmap_list()
232 free_bitmap_node(sb, jb->bitmaps[i]); in cleanup_bitmap_list()
241 static int free_list_bitmaps(struct super_block *sb, in free_list_bitmaps() argument
249 cleanup_bitmap_list(sb, jb); in free_list_bitmaps()
256 static int free_bitmap_nodes(struct super_block *sb) in free_bitmap_nodes() argument
258 struct reiserfs_journal *journal = SB_JOURNAL(sb); in free_bitmap_nodes()
278 int reiserfs_allocate_list_bitmaps(struct super_block *sb, in reiserfs_allocate_list_bitmaps() argument
292 reiserfs_warning(sb, "clm-2000", "unable to " in reiserfs_allocate_list_bitmaps()
299 free_list_bitmaps(sb, jb_array); in reiserfs_allocate_list_bitmaps()
309 static struct reiserfs_list_bitmap *get_list_bitmap(struct super_block *sb, in get_list_bitmap() argument
314 struct reiserfs_journal *journal = SB_JOURNAL(sb); in get_list_bitmap()
322 flush_commit_list(sb, in get_list_bitmap()
367 static struct reiserfs_journal_cnode *get_cnode(struct super_block *sb) in get_cnode() argument
370 struct reiserfs_journal *journal = SB_JOURNAL(sb); in get_cnode()
372 reiserfs_check_lock_depth(sb, "get_cnode"); in get_cnode()
394 static void free_cnode(struct super_block *sb, in free_cnode() argument
397 struct reiserfs_journal *journal = SB_JOURNAL(sb); in free_cnode()
399 reiserfs_check_lock_depth(sb, "free_cnode"); in free_cnode()
424 *sb, in get_journal_hash_dev()
431 cn = journal_hash(table, sb, bl); in get_journal_hash_dev()
433 if (cn->blocknr == bl && cn->sb == sb) in get_journal_hash_dev()
459 int reiserfs_in_journal(struct super_block *sb, in reiserfs_in_journal() argument
463 struct reiserfs_journal *journal = SB_JOURNAL(sb); in reiserfs_in_journal()
471 PROC_INFO_INC(sb, journal.in_journal); in reiserfs_in_journal()
480 PROC_INFO_INC(sb, journal.in_journal_bitmap); in reiserfs_in_journal()
490 sb->s_blocksize << 3, in reiserfs_in_journal()
497 bl = bmap_nr * (sb->s_blocksize << 3) + bit_nr; in reiserfs_in_journal()
501 get_journal_hash_dev(sb, journal->j_list_hash_table, bl))) { in reiserfs_in_journal()
506 if ((cn = get_journal_hash_dev(sb, journal->j_hash_table, bl))) { in reiserfs_in_journal()
511 PROC_INFO_INC(sb, journal.in_journal_reusable); in reiserfs_in_journal()
522 cn_orig = journal_hash(table, cn->sb, cn->blocknr); in insert_journal_hash()
528 journal_hash(table, cn->sb, cn->blocknr) = cn; in insert_journal_hash()
532 static inline void lock_journal(struct super_block *sb) in lock_journal() argument
534 PROC_INFO_INC(sb, journal.lock_journal); in lock_journal()
536 reiserfs_mutex_lock_safe(&SB_JOURNAL(sb)->j_mutex, sb); in lock_journal()
540 static inline void unlock_journal(struct super_block *sb) in unlock_journal() argument
542 mutex_unlock(&SB_JOURNAL(sb)->j_mutex); in unlock_journal()
566 static void cleanup_freed_for_journal_list(struct super_block *sb, in cleanup_freed_for_journal_list() argument
572 cleanup_bitmap_list(sb, jb); in cleanup_freed_for_journal_list()
1171 struct super_block *sb = cn->sb; in find_newer_jl_for_cn() local
1176 if (cn->sb == sb && cn->blocknr == blocknr && cn->jlist) { in find_newer_jl_for_cn()
1195 static void remove_all_from_journal_list(struct super_block *sb, in remove_all_from_journal_list() argument
1199 struct reiserfs_journal *journal = SB_JOURNAL(sb); in remove_all_from_journal_list()
1210 reiserfs_warning(sb, "reiserfs-2201", in remove_all_from_journal_list()
1216 remove_journal_hash(sb, journal->j_list_hash_table, in remove_all_from_journal_list()
1221 free_cnode(sb, last); in remove_all_from_journal_list()
1234 static int _update_journal_header_block(struct super_block *sb, in _update_journal_header_block() argument
1239 struct reiserfs_journal *journal = SB_JOURNAL(sb); in _update_journal_header_block()
1247 depth = reiserfs_write_unlock_nested(sb); in _update_journal_header_block()
1249 reiserfs_write_lock_nested(sb, depth); in _update_journal_header_block()
1252 reiserfs_warning(sb, "journal-699", in _update_journal_header_block()
1267 depth = reiserfs_write_unlock_nested(sb); in _update_journal_header_block()
1269 if (reiserfs_barrier_flush(sb)) in _update_journal_header_block()
1275 reiserfs_write_lock_nested(sb, depth); in _update_journal_header_block()
1277 reiserfs_warning(sb, "journal-837", in _update_journal_header_block()
1285 static int update_journal_header_block(struct super_block *sb, in update_journal_header_block() argument
1289 return _update_journal_header_block(sb, offset, trans_id); in update_journal_header_block()
1296 static int flush_older_journal_lists(struct super_block *sb, in flush_older_journal_lists() argument
1301 struct reiserfs_journal *journal = SB_JOURNAL(sb); in flush_older_journal_lists()
1317 flush_journal_list(sb, other_jl, 0); in flush_older_journal_lists()
1838 static void remove_journal_hash(struct super_block *sb, in remove_journal_hash() argument
1846 head = &(journal_hash(table, sb, block)); in remove_journal_hash()
1852 if (cur->blocknr == block && cur->sb == sb in remove_journal_hash()
1864 cur->sb = NULL; in remove_journal_hash()
1879 static void free_journal_ram(struct super_block *sb) in free_journal_ram() argument
1881 struct reiserfs_journal *journal = SB_JOURNAL(sb); in free_journal_ram()
1886 free_list_bitmaps(sb, journal->j_list_bitmap); in free_journal_ram()
1887 free_bitmap_nodes(sb); /* must be after free_list_bitmaps */ in free_journal_ram()
1895 release_journal_dev(sb, journal); in free_journal_ram()
1904 struct super_block *sb, int error) in do_journal_release() argument
1907 struct reiserfs_journal *journal = SB_JOURNAL(sb); in do_journal_release()
1913 if (!error && !sb_rdonly(sb)) { in do_journal_release()
1922 if (!journal_join(&myth, sb)) { in do_journal_release()
1923 reiserfs_prepare_for_journal(sb, in do_journal_release()
1924 SB_BUFFER_WITH_SB(sb), in do_journal_release()
1926 journal_mark_dirty(&myth, SB_BUFFER_WITH_SB(sb)); in do_journal_release()
1934 if (!journal_join_abort(&myth, sb)) { in do_journal_release()
1935 reiserfs_prepare_for_journal(sb, in do_journal_release()
1936 SB_BUFFER_WITH_SB(sb), in do_journal_release()
1938 journal_mark_dirty(&myth, SB_BUFFER_WITH_SB(sb)); in do_journal_release()
1948 reiserfs_write_unlock(sb); in do_journal_release()
1955 reiserfs_cancel_old_flush(sb); in do_journal_release()
1957 cancel_delayed_work_sync(&SB_JOURNAL(sb)->j_work); in do_journal_release()
1959 free_journal_ram(sb); in do_journal_release()
1961 reiserfs_write_lock(sb); in do_journal_release()
1968 struct super_block *sb) in journal_release() argument
1970 return do_journal_release(th, sb, 0); in journal_release()
1975 struct super_block *sb) in journal_release_error() argument
1977 return do_journal_release(th, sb, 1); in journal_release_error()
1984 static int journal_compare_desc_commit(struct super_block *sb, in journal_compare_desc_commit() argument
1990 get_commit_trans_len(commit) > SB_JOURNAL(sb)->j_trans_max || in journal_compare_desc_commit()
2003 static int journal_transaction_is_valid(struct super_block *sb, in journal_transaction_is_valid() argument
2021 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_transaction_is_valid()
2031 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_transaction_is_valid()
2039 if (get_desc_trans_len(desc) > SB_JOURNAL(sb)->j_trans_max) { in journal_transaction_is_valid()
2040 reiserfs_warning(sb, "journal-2018", in journal_transaction_is_valid()
2046 offset = d_bh->b_blocknr - SB_ONDISK_JOURNAL_1st_BLOCK(sb); in journal_transaction_is_valid()
2053 journal_bread(sb, in journal_transaction_is_valid()
2054 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_transaction_is_valid()
2056 1) % SB_ONDISK_JOURNAL_SIZE(sb))); in journal_transaction_is_valid()
2060 if (journal_compare_desc_commit(sb, desc, commit)) { in journal_transaction_is_valid()
2061 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_transaction_is_valid()
2065 SB_ONDISK_JOURNAL_1st_BLOCK(sb), in journal_transaction_is_valid()
2072 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_transaction_is_valid()
2081 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_transaction_is_valid()
2085 SB_ONDISK_JOURNAL_1st_BLOCK(sb), in journal_transaction_is_valid()
2108 static int journal_read_transaction(struct super_block *sb, in journal_read_transaction() argument
2114 struct reiserfs_journal *journal = SB_JOURNAL(sb); in journal_read_transaction()
2126 d_bh = journal_bread(sb, cur_dblock); in journal_read_transaction()
2130 trans_offset = d_bh->b_blocknr - SB_ONDISK_JOURNAL_1st_BLOCK(sb); in journal_read_transaction()
2131 reiserfs_debug(sb, REISERFS_DEBUG_CODE, "journal-1037: " in journal_read_transaction()
2133 d_bh->b_blocknr - SB_ONDISK_JOURNAL_1st_BLOCK(sb), in journal_read_transaction()
2136 reiserfs_debug(sb, REISERFS_DEBUG_CODE, "journal-1039: " in journal_read_transaction()
2139 SB_ONDISK_JOURNAL_1st_BLOCK(sb)); in journal_read_transaction()
2144 reiserfs_debug(sb, REISERFS_DEBUG_CODE, "journal-1146: " in journal_read_transaction()
2151 c_bh = journal_bread(sb, SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read_transaction()
2153 SB_ONDISK_JOURNAL_SIZE(sb))); in journal_read_transaction()
2159 if (journal_compare_desc_commit(sb, desc, commit)) { in journal_read_transaction()
2160 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read_transaction()
2164 SB_ONDISK_JOURNAL_1st_BLOCK(sb), in journal_read_transaction()
2172 if (bdev_read_only(sb->s_bdev)) { in journal_read_transaction()
2173 reiserfs_warning(sb, "clm-2076", in journal_read_transaction()
2196 reiserfs_warning(sb, "journal-1169", in journal_read_transaction()
2201 trans_half = journal_trans_half(sb->s_blocksize); in journal_read_transaction()
2204 journal_getblk(sb, in journal_read_transaction()
2205 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read_transaction()
2207 i) % SB_ONDISK_JOURNAL_SIZE(sb)); in journal_read_transaction()
2210 sb_getblk(sb, in journal_read_transaction()
2214 sb_getblk(sb, in journal_read_transaction()
2218 if (real_blocks[i]->b_blocknr > SB_BLOCK_COUNT(sb)) { in journal_read_transaction()
2219 reiserfs_warning(sb, "journal-1207", in journal_read_transaction()
2227 (sb, real_blocks[i]->b_blocknr)) { in journal_read_transaction()
2228 reiserfs_warning(sb, "journal-1204", in journal_read_transaction()
2247 reiserfs_warning(sb, "journal-1212", in journal_read_transaction()
2272 reiserfs_warning(sb, "journal-1226", in journal_read_transaction()
2286 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read_transaction()
2288 2) % SB_ONDISK_JOURNAL_SIZE(sb)); in journal_read_transaction()
2289 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read_transaction()
2291 cur_dblock - SB_ONDISK_JOURNAL_1st_BLOCK(sb)); in journal_read_transaction()
2297 journal->j_start = cur_dblock - SB_ONDISK_JOURNAL_1st_BLOCK(sb); in journal_read_transaction()
2367 static int journal_read(struct super_block *sb) in journal_read() argument
2369 struct reiserfs_journal *journal = SB_JOURNAL(sb); in journal_read()
2384 cur_dblock = SB_ONDISK_JOURNAL_1st_BLOCK(sb); in journal_read()
2385 reiserfs_info(sb, "checking transaction log (%pg)\n", in journal_read()
2394 journal->j_header_bh = journal_bread(sb, in journal_read()
2395 SB_ONDISK_JOURNAL_1st_BLOCK(sb) in journal_read()
2396 + SB_ONDISK_JOURNAL_SIZE(sb)); in journal_read()
2402 SB_ONDISK_JOURNAL_SIZE(sb) in journal_read()
2405 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read()
2409 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read()
2422 journal_bread(sb, in journal_read()
2423 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read()
2425 ret = journal_transaction_is_valid(sb, d_bh, NULL, NULL); in journal_read()
2440 (SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read()
2441 SB_ONDISK_JOURNAL_SIZE(sb))) { in journal_read()
2448 sb->s_blocksize, in journal_read()
2449 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_read()
2450 SB_ONDISK_JOURNAL_SIZE(sb)); in journal_read()
2452 journal_transaction_is_valid(sb, d_bh, in journal_read()
2461 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read()
2466 (sb), oldest_trans_id); in journal_read()
2471 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read()
2476 (sb), oldest_trans_id); in journal_read()
2480 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read()
2495 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read()
2498 cur_dblock - SB_ONDISK_JOURNAL_1st_BLOCK(sb), in journal_read()
2505 journal_read_transaction(sb, cur_dblock, oldest_start, in journal_read()
2513 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + journal->j_start; in journal_read()
2520 reiserfs_debug(sb, REISERFS_DEBUG_CODE, in journal_read()
2542 reiserfs_debug(sb, REISERFS_DEBUG_CODE, "journal-1299: Setting " in journal_read()
2546 reiserfs_info(sb, in journal_read()
2551 reiserfs_write_lock(sb); in journal_read()
2552 if (!bdev_read_only(sb->s_bdev) && in journal_read()
2553 _update_journal_header_block(sb, journal->j_start, in journal_read()
2555 reiserfs_write_unlock(sb); in journal_read()
2562 reiserfs_write_unlock(sb); in journal_read()
2581 static void journal_list_init(struct super_block *sb) in journal_list_init() argument
2583 SB_JOURNAL(sb)->j_current_jl = alloc_journal_list(sb); in journal_list_init()
2664 static int check_advise_trans_params(struct super_block *sb, in check_advise_trans_params() argument
2670 if (sb->s_blocksize < REISERFS_STANDARD_BLKSIZE) in check_advise_trans_params()
2671 ratio = REISERFS_STANDARD_BLKSIZE / sb->s_blocksize; in check_advise_trans_params()
2675 SB_ONDISK_JOURNAL_SIZE(sb) / journal->j_trans_max < in check_advise_trans_params()
2677 reiserfs_warning(sb, "sh-462", in check_advise_trans_params()
2684 reiserfs_warning(sb, "sh-463", in check_advise_trans_params()
2696 if (sb->s_blocksize != REISERFS_STANDARD_BLKSIZE) { in check_advise_trans_params()
2697 reiserfs_warning(sb, "sh-464", "bad blocksize (%u)", in check_advise_trans_params()
2698 sb->s_blocksize); in check_advise_trans_params()
2709 int journal_init(struct super_block *sb, const char *j_dev_name, in journal_init() argument
2712 int num_cnodes = SB_ONDISK_JOURNAL_SIZE(sb) * 2; in journal_init()
2720 journal = SB_JOURNAL(sb) = vzalloc(sizeof(struct reiserfs_journal)); in journal_init()
2722 reiserfs_warning(sb, "journal-1256", in journal_init()
2731 if (reiserfs_allocate_list_bitmaps(sb, journal->j_list_bitmap, in journal_init()
2732 reiserfs_bmap_count(sb))) in journal_init()
2735 allocate_bitmap_nodes(sb); in journal_init()
2738 SB_JOURNAL_1st_RESERVED_BLOCK(sb) = (old_format ? in journal_init()
2740 / sb->s_blocksize + in journal_init()
2741 reiserfs_bmap_count(sb) + in journal_init()
2744 sb->s_blocksize + 2); in journal_init()
2750 if (!SB_ONDISK_JOURNAL_DEVICE(sb) && in journal_init()
2751 (SB_JOURNAL_1st_RESERVED_BLOCK(sb) + in journal_init()
2752 SB_ONDISK_JOURNAL_SIZE(sb) > sb->s_blocksize * 8)) { in journal_init()
2753 reiserfs_warning(sb, "journal-1393", in journal_init()
2757 SB_JOURNAL_1st_RESERVED_BLOCK(sb), in journal_init()
2758 SB_ONDISK_JOURNAL_SIZE(sb), in journal_init()
2759 sb->s_blocksize); in journal_init()
2763 if (journal_init_dev(sb, journal, j_dev_name) != 0) { in journal_init()
2764 reiserfs_warning(sb, "sh-462", in journal_init()
2769 rs = SB_DISK_SUPER_BLOCK(sb); in journal_init()
2772 bhjh = journal_bread(sb, in journal_init()
2773 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in journal_init()
2774 SB_ONDISK_JOURNAL_SIZE(sb)); in journal_init()
2776 reiserfs_warning(sb, "sh-459", in journal_init()
2786 reiserfs_warning(sb, "sh-460", in journal_init()
2802 if (check_advise_trans_params(sb, journal) != 0) in journal_init()
2811 reiserfs_info(sb, "journal params: device %pg, size %u, " in journal_init()
2815 SB_ONDISK_JOURNAL_SIZE(sb), in journal_init()
2816 SB_ONDISK_JOURNAL_1st_BLOCK(sb), in journal_init()
2824 journal_list_init(sb); in journal_init()
2856 reiserfs_warning(sb, "journal-2004", "Journal cnode memory " in journal_init()
2864 init_journal_hash(sb); in journal_init()
2872 reiserfs_write_lock(sb); in journal_init()
2873 jl->j_list_bitmap = get_list_bitmap(sb, jl); in journal_init()
2874 reiserfs_write_unlock(sb); in journal_init()
2876 reiserfs_warning(sb, "journal-2005", in journal_init()
2881 ret = journal_read(sb); in journal_init()
2883 reiserfs_warning(sb, "reiserfs-2006", in journal_init()
2889 journal->j_work_sb = sb; in journal_init()
2892 free_journal_ram(sb); in journal_init()
2978 static void let_transaction_grow(struct super_block *sb, unsigned int trans_id) in let_transaction_grow() argument
2980 struct reiserfs_journal *journal = SB_JOURNAL(sb); in let_transaction_grow()
2985 depth = reiserfs_write_unlock_nested(sb); in let_transaction_grow()
2987 reiserfs_write_lock_nested(sb, depth); in let_transaction_grow()
2993 queue_log_writer(sb); in let_transaction_grow()
3011 struct super_block *sb, unsigned long nblocks, in do_journal_begin_r() argument
3016 struct reiserfs_journal *journal = SB_JOURNAL(sb); in do_journal_begin_r()
3022 reiserfs_check_lock_depth(sb, "journal_begin"); in do_journal_begin_r()
3025 PROC_INFO_INC(sb, journal.journal_being); in do_journal_begin_r()
3028 th->t_super = sb; in do_journal_begin_r()
3031 lock_journal(sb); in do_journal_begin_r()
3033 unlock_journal(sb); in do_journal_begin_r()
3040 unlock_journal(sb); in do_journal_begin_r()
3041 depth = reiserfs_write_unlock_nested(sb); in do_journal_begin_r()
3042 reiserfs_wait_on_write_block(sb); in do_journal_begin_r()
3043 reiserfs_write_lock_nested(sb, depth); in do_journal_begin_r()
3044 PROC_INFO_INC(sb, journal.journal_relock_writers); in do_journal_begin_r()
3068 unlock_journal(sb); in do_journal_begin_r()
3076 queue_log_writer(sb); in do_journal_begin_r()
3087 queue_log_writer(sb); in do_journal_begin_r()
3091 retval = journal_join(&myth, sb); in do_journal_begin_r()
3105 PROC_INFO_INC(sb, journal.journal_relock_wcount); in do_journal_begin_r()
3117 unlock_journal(sb); in do_journal_begin_r()
3128 th->t_super = sb; in do_journal_begin_r()
3180 struct super_block *sb) in journal_join() argument
3190 return do_journal_begin_r(th, sb, 1, JBEGIN_JOIN); in journal_join()
3194 struct super_block *sb) in journal_join_abort() argument
3204 return do_journal_begin_r(th, sb, 1, JBEGIN_ABORT); in journal_join_abort()
3208 struct super_block *sb, unsigned long nblocks) in journal_begin() argument
3216 if (cur_th->t_super == sb) { in journal_begin()
3221 reiserfs_warning(sb, "reiserfs-2005", in journal_begin()
3231 reiserfs_warning(sb, "clm-2100", in journal_begin()
3239 ret = do_journal_begin_r(th, sb, nblocks, JBEGIN_REG); in journal_begin()
3267 struct super_block *sb = th->t_super; in journal_mark_dirty() local
3268 struct reiserfs_journal *journal = SB_JOURNAL(sb); in journal_mark_dirty()
3274 PROC_INFO_INC(sb, journal.mark_dirty); in journal_mark_dirty()
3285 PROC_INFO_INC(sb, journal.mark_dirty_already); in journal_mark_dirty()
3295 reiserfs_warning(sb, "journal-1777", in journal_mark_dirty()
3306 reiserfs_warning(sb, "journal-1409", in journal_mark_dirty()
3324 PROC_INFO_INC(sb, journal.mark_dirty_notjournal); in journal_mark_dirty()
3336 cn = get_cnode(sb); in journal_mark_dirty()
3338 reiserfs_panic(sb, "journal-4", "get_cnode failed!"); in journal_mark_dirty()
3350 cn->sb = sb; in journal_mark_dirty()
3367 reiserfs_schedule_old_flush(sb); in journal_mark_dirty()
3373 struct super_block *sb = th->t_super; in journal_end() local
3375 reiserfs_warning(sb, "REISER-NESTING", in journal_end()
3412 static int remove_from_transaction(struct super_block *sb, in remove_from_transaction() argument
3417 struct reiserfs_journal *journal = SB_JOURNAL(sb); in remove_from_transaction()
3420 cn = get_journal_hash_dev(sb, journal->j_hash_table, blocknr); in remove_from_transaction()
3437 remove_journal_hash(sb, journal->j_hash_table, NULL, in remove_from_transaction()
3447 reiserfs_warning(sb, "journal-1752", in remove_from_transaction()
3454 free_cnode(sb, cn); in remove_from_transaction()
3471 struct super_block *sb = cn->sb; in can_dirty() local
3482 if (cur->jlist && cur->bh && cur->blocknr && cur->sb == sb && in can_dirty()
3496 cur->blocknr && cur->sb == sb && cur->blocknr == blocknr) { in can_dirty()
3510 struct super_block *sb = th->t_super; in journal_end_sync() local
3511 struct reiserfs_journal *journal = SB_JOURNAL(sb); in journal_end_sync()
3517 reiserfs_prepare_for_journal(sb, SB_BUFFER_WITH_SB(sb), in journal_end_sync()
3519 journal_mark_dirty(th, SB_BUFFER_WITH_SB(sb)); in journal_end_sync()
3529 struct super_block *sb = journal->j_work_sb; in flush_async_commits() local
3533 reiserfs_write_lock(sb); in flush_async_commits()
3538 flush_commit_list(sb, jl, 1); in flush_async_commits()
3540 reiserfs_write_unlock(sb); in flush_async_commits()
3547 void reiserfs_flush_old_commits(struct super_block *sb) in reiserfs_flush_old_commits() argument
3551 struct reiserfs_journal *journal = SB_JOURNAL(sb); in reiserfs_flush_old_commits()
3569 if (!journal_join(&th, sb)) { in reiserfs_flush_old_commits()
3570 reiserfs_prepare_for_journal(sb, in reiserfs_flush_old_commits()
3571 SB_BUFFER_WITH_SB(sb), in reiserfs_flush_old_commits()
3573 journal_mark_dirty(&th, SB_BUFFER_WITH_SB(sb)); in reiserfs_flush_old_commits()
3608 struct super_block *sb = th->t_super; in check_journal_end() local
3609 struct reiserfs_journal *journal = SB_JOURNAL(sb); in check_journal_end()
3652 unlock_journal(sb); in check_journal_end()
3660 queue_log_writer(sb); in check_journal_end()
3662 lock_journal(sb); in check_journal_end()
3667 unlock_journal(sb); in check_journal_end()
3673 && journal_list_still_alive(sb, trans_id) in check_journal_end()
3675 flush_commit_list(sb, jl, 1); in check_journal_end()
3679 unlock_journal(sb); in check_journal_end()
3696 unlock_journal(sb); in check_journal_end()
3700 if (journal->j_start > SB_ONDISK_JOURNAL_SIZE(sb)) { in check_journal_end()
3701 reiserfs_panic(sb, "journal-003", in check_journal_end()
3726 struct super_block *sb, b_blocknr_t blocknr) in journal_mark_freed() argument
3728 struct reiserfs_journal *journal = SB_JOURNAL(sb); in journal_mark_freed()
3735 cn = get_journal_hash_dev(sb, journal->j_hash_table, blocknr); in journal_mark_freed()
3745 cleaned = remove_from_transaction(sb, blocknr, cleaned); in journal_mark_freed()
3753 reiserfs_panic(sb, "journal-1702", in journal_mark_freed()
3756 set_bit_in_list_bitmap(sb, blocknr, jb); in journal_mark_freed()
3764 cleaned = remove_from_transaction(sb, blocknr, cleaned); in journal_mark_freed()
3770 cn = get_journal_hash_dev(sb, journal->j_list_hash_table, in journal_mark_freed()
3773 if (sb == cn->sb && blocknr == cn->blocknr) { in journal_mark_freed()
3791 reiserfs_warning(sb, in journal_mark_freed()
3831 struct super_block *sb = inode->i_sb; in __commit_trans_jl() local
3832 struct reiserfs_journal *journal = SB_JOURNAL(sb); in __commit_trans_jl()
3845 let_transaction_grow(sb, id); in __commit_trans_jl()
3850 ret = journal_begin(&th, sb, 1); in __commit_trans_jl()
3856 reiserfs_prepare_for_journal(sb, SB_BUFFER_WITH_SB(sb), in __commit_trans_jl()
3858 journal_mark_dirty(&th, SB_BUFFER_WITH_SB(sb)); in __commit_trans_jl()
3882 flush_commit_list(sb, jl, 1); in __commit_trans_jl()
3909 void reiserfs_restore_prepared_buffer(struct super_block *sb, in reiserfs_restore_prepared_buffer() argument
3912 struct reiserfs_journal *journal = SB_JOURNAL(sb); in reiserfs_restore_prepared_buffer()
3913 PROC_INFO_INC(sb, journal.restore_prepared); in reiserfs_restore_prepared_buffer()
3920 reiserfs_write_lock(sb); in reiserfs_restore_prepared_buffer()
3921 cn = get_journal_hash_dev(sb, in reiserfs_restore_prepared_buffer()
3928 reiserfs_write_unlock(sb); in reiserfs_restore_prepared_buffer()
3940 int reiserfs_prepare_for_journal(struct super_block *sb, in reiserfs_prepare_for_journal() argument
3943 PROC_INFO_INC(sb, journal.prepare); in reiserfs_prepare_for_journal()
3971 struct super_block *sb = th->t_super; in do_journal_end() local
3972 struct reiserfs_journal *journal = SB_JOURNAL(sb); in do_journal_end()
4004 reiserfs_check_lock_depth(sb, "journal end"); in do_journal_end()
4006 reiserfs_prepare_for_journal(sb, SB_BUFFER_WITH_SB(sb), in do_journal_end()
4008 journal_mark_dirty(th, SB_BUFFER_WITH_SB(sb)); in do_journal_end()
4011 lock_journal(sb); in do_journal_end()
4027 reiserfs_schedule_old_flush(sb); in do_journal_end()
4028 wake_queued_writers(sb); in do_journal_end()
4029 reiserfs_async_progress_wait(sb); in do_journal_end()
4062 journal_getblk(sb, in do_journal_end()
4063 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in do_journal_end()
4075 c_bh = journal_getblk(sb, SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in do_journal_end()
4077 1) % SB_ONDISK_JOURNAL_SIZE(sb))); in do_journal_end()
4092 reiserfs_mutex_lock_safe(&jl->j_commit_mutex, sb); in do_journal_end()
4112 trans_half = journal_trans_half(sb->s_blocksize); in do_journal_end()
4115 jl_cn = get_cnode(sb); in do_journal_end()
4117 reiserfs_panic(sb, "journal-1676", in do_journal_end()
4134 (sb, cn->bh->b_blocknr)) { in do_journal_end()
4135 reiserfs_panic(sb, "journal-2332", in do_journal_end()
4142 jl_cn->sb = sb; in do_journal_end()
4190 journal_getblk(sb, in do_journal_end()
4191 SB_ONDISK_JOURNAL_1st_BLOCK(sb) + in do_journal_end()
4194 SB_ONDISK_JOURNAL_SIZE(sb))); in do_journal_end()
4211 reiserfs_warning(sb, "journal-2048", in do_journal_end()
4217 free_cnode(sb, cn); in do_journal_end()
4219 reiserfs_cond_resched(sb); in do_journal_end()
4228 journal->j_current_jl = alloc_journal_list(sb); in do_journal_end()
4238 2) % SB_ONDISK_JOURNAL_SIZE(sb); in do_journal_end()
4253 init_journal_hash(sb); in do_journal_end()
4269 depth = reiserfs_write_unlock_nested(sb); in do_journal_end()
4272 reiserfs_write_lock_nested(sb, depth); in do_journal_end()
4286 flush_commit_list(sb, jl, 1); in do_journal_end()
4287 flush_journal_list(sb, jl, 1); in do_journal_end()
4293 if (sb->s_flags & SB_ACTIVE) in do_journal_end()
4294 queue_delayed_work(REISERFS_SB(sb)->commit_wq, in do_journal_end()
4309 flush_used_journal_lists(sb, temp_jl); in do_journal_end()
4313 SB_ONDISK_JOURNAL_SIZE(sb)) { in do_journal_end()
4324 SB_ONDISK_JOURNAL_SIZE(sb)) { in do_journal_end()
4326 SB_ONDISK_JOURNAL_SIZE(sb)) >= in do_journal_end()
4328 flush_used_journal_lists(sb, temp_jl); in do_journal_end()
4343 get_list_bitmap(sb, journal->j_current_jl); in do_journal_end()
4346 reiserfs_panic(sb, "journal-1996", in do_journal_end()
4351 unlock_journal(sb); in do_journal_end()
4357 journal_list_still_alive(sb, commit_trans_id)) { in do_journal_end()
4358 flush_commit_list(sb, jl, 1); in do_journal_end()
4361 reiserfs_check_lock_depth(sb, "journal end2"); in do_journal_end()
4369 th->t_super = sb; in do_journal_end()
4375 void reiserfs_abort_journal(struct super_block *sb, int errno) in reiserfs_abort_journal() argument
4377 struct reiserfs_journal *journal = SB_JOURNAL(sb); in reiserfs_abort_journal()
4384 sb->s_flags |= SB_RDONLY; in reiserfs_abort_journal()