Lines Matching refs:handle

134 static int ext4_bh_delay_or_unwritten(handle_t *handle, struct buffer_head *bh);
157 int ext4_truncate_restart_trans(handle_t *handle, struct inode *inode, in ext4_truncate_restart_trans() argument
169 jbd_debug(2, "restarting handle %p\n", handle); in ext4_truncate_restart_trans()
171 ret = ext4_journal_restart(handle, nblocks); in ext4_truncate_restart_trans()
183 handle_t *handle; in ext4_evict_inode() local
237 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, in ext4_evict_inode()
239 if (IS_ERR(handle)) { in ext4_evict_inode()
240 ext4_std_error(inode->i_sb, PTR_ERR(handle)); in ext4_evict_inode()
252 ext4_handle_sync(handle); in ext4_evict_inode()
254 err = ext4_mark_inode_dirty(handle, inode); in ext4_evict_inode()
269 if (!ext4_handle_has_enough_credits(handle, 3)) { in ext4_evict_inode()
270 err = ext4_journal_extend(handle, 3); in ext4_evict_inode()
272 err = ext4_journal_restart(handle, 3); in ext4_evict_inode()
277 ext4_journal_stop(handle); in ext4_evict_inode()
292 ext4_orphan_del(handle, inode); in ext4_evict_inode()
302 if (ext4_mark_inode_dirty(handle, inode)) in ext4_evict_inode()
306 ext4_free_inode(handle, inode); in ext4_evict_inode()
307 ext4_journal_stop(handle); in ext4_evict_inode()
389 static void ext4_map_blocks_es_recheck(handle_t *handle, in ext4_map_blocks_es_recheck() argument
408 retval = ext4_ext_map_blocks(handle, inode, map, flags & in ext4_map_blocks_es_recheck()
411 retval = ext4_ind_map_blocks(handle, inode, map, flags & in ext4_map_blocks_es_recheck()
457 int ext4_map_blocks(handle_t *handle, struct inode *inode, in ext4_map_blocks() argument
501 ext4_map_blocks_es_recheck(handle, inode, map, in ext4_map_blocks()
514 retval = ext4_ext_map_blocks(handle, inode, map, flags & in ext4_map_blocks()
517 retval = ext4_ind_map_blocks(handle, inode, map, flags & in ext4_map_blocks()
592 retval = ext4_ext_map_blocks(handle, inode, map, flags); in ext4_map_blocks()
594 retval = ext4_ind_map_blocks(handle, inode, map, flags); in ext4_map_blocks()
693 handle_t *handle = ext4_journal_current_handle(); in _ext4_get_block() local
704 if (flags && !(flags & EXT4_GET_BLOCKS_NO_LOCK) && !handle) { in _ext4_get_block()
709 handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS, in _ext4_get_block()
711 if (IS_ERR(handle)) { in _ext4_get_block()
712 ret = PTR_ERR(handle); in _ext4_get_block()
718 ret = ext4_map_blocks(handle, inode, &map, flags); in _ext4_get_block()
740 ext4_journal_stop(handle); in _ext4_get_block()
754 struct buffer_head *ext4_getblk(handle_t *handle, struct inode *inode, in ext4_getblk() argument
761 J_ASSERT(handle != NULL || create == 0); in ext4_getblk()
765 err = ext4_map_blocks(handle, inode, &map, in ext4_getblk()
778 J_ASSERT(handle != NULL); in ext4_getblk()
789 err = ext4_journal_get_create_access(handle, bh); in ext4_getblk()
800 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_getblk()
811 struct buffer_head *ext4_bread(handle_t *handle, struct inode *inode, in ext4_bread() argument
816 bh = ext4_getblk(handle, inode, block, create); in ext4_bread()
829 int ext4_walk_page_buffers(handle_t *handle, in ext4_walk_page_buffers() argument
834 int (*fn)(handle_t *handle, in ext4_walk_page_buffers() argument
853 err = (*fn)(handle, bh); in ext4_walk_page_buffers()
884 int do_journal_get_write_access(handle_t *handle, in do_journal_get_write_access() argument
903 ret = ext4_journal_get_write_access(handle, bh); in do_journal_get_write_access()
905 ret = ext4_handle_dirty_metadata(handle, NULL, bh); in do_journal_get_write_access()
1006 handle_t *handle; in ext4_write_begin() local
1045 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, needed_blocks); in ext4_write_begin()
1046 if (IS_ERR(handle)) { in ext4_write_begin()
1048 return PTR_ERR(handle); in ext4_write_begin()
1056 ext4_journal_stop(handle); in ext4_write_begin()
1076 ret = ext4_walk_page_buffers(handle, page_buffers(page), in ext4_write_begin()
1092 ext4_orphan_add(handle, inode); in ext4_write_begin()
1094 ext4_journal_stop(handle); in ext4_write_begin()
1118 static int write_end_fn(handle_t *handle, struct buffer_head *bh) in write_end_fn() argument
1124 ret = ext4_handle_dirty_metadata(handle, NULL, bh); in write_end_fn()
1142 handle_t *handle = ext4_journal_current_handle(); in ext4_write_end() local
1150 ret = ext4_jbd2_file_inode(handle, inode); in ext4_write_end()
1184 ext4_mark_inode_dirty(handle, inode); in ext4_write_end()
1191 ext4_orphan_add(handle, inode); in ext4_write_end()
1193 ret2 = ext4_journal_stop(handle); in ext4_write_end()
1216 handle_t *handle = ext4_journal_current_handle(); in ext4_journalled_write_end() local
1228 BUG_ON(!ext4_handle_valid(handle)); in ext4_journalled_write_end()
1240 ret = ext4_walk_page_buffers(handle, page_buffers(page), from, in ext4_journalled_write_end()
1247 EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid; in ext4_journalled_write_end()
1255 ret2 = ext4_mark_inode_dirty(handle, inode); in ext4_journalled_write_end()
1265 ext4_orphan_add(handle, inode); in ext4_journalled_write_end()
1267 ret2 = ext4_journal_stop(handle); in ext4_journalled_write_end()
1506 static int ext4_bh_delay_or_unwritten(handle_t *handle, struct buffer_head *bh) in ext4_bh_delay_or_unwritten() argument
1694 static int bget_one(handle_t *handle, struct buffer_head *bh) in bget_one() argument
1700 static int bput_one(handle_t *handle, struct buffer_head *bh) in bput_one() argument
1712 handle_t *handle = NULL; in __ext4_journalled_writepage() local
1731 ext4_walk_page_buffers(handle, page_bufs, 0, len, in __ext4_journalled_writepage()
1742 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in __ext4_journalled_writepage()
1744 if (IS_ERR(handle)) { in __ext4_journalled_writepage()
1745 ret = PTR_ERR(handle); in __ext4_journalled_writepage()
1749 BUG_ON(!ext4_handle_valid(handle)); in __ext4_journalled_writepage()
1755 ext4_journal_stop(handle); in __ext4_journalled_writepage()
1762 ret = ext4_journal_get_write_access(handle, inode_bh); in __ext4_journalled_writepage()
1764 err = ext4_handle_dirty_metadata(handle, inode, inode_bh); in __ext4_journalled_writepage()
1767 ret = ext4_walk_page_buffers(handle, page_bufs, 0, len, NULL, in __ext4_journalled_writepage()
1770 err = ext4_walk_page_buffers(handle, page_bufs, 0, len, NULL, in __ext4_journalled_writepage()
1775 EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid; in __ext4_journalled_writepage()
1776 err = ext4_journal_stop(handle); in __ext4_journalled_writepage()
2118 static int mpage_map_one_extent(handle_t *handle, struct mpage_da_data *mpd) in mpage_map_one_extent() argument
2149 err = ext4_map_blocks(handle, inode, map, get_blocks_flags); in mpage_map_one_extent()
2153 if (!mpd->io_submit.io_end->handle && in mpage_map_one_extent()
2154 ext4_handle_valid(handle)) { in mpage_map_one_extent()
2155 mpd->io_submit.io_end->handle = handle->h_rsv_handle; in mpage_map_one_extent()
2156 handle->h_rsv_handle = NULL; in mpage_map_one_extent()
2192 static int mpage_map_and_submit_extent(handle_t *handle, in mpage_map_and_submit_extent() argument
2205 err = mpage_map_one_extent(handle, mpd); in mpage_map_and_submit_extent()
2264 err2 = ext4_mark_inode_dirty(handle, inode); in mpage_map_and_submit_extent()
2422 handle_t *handle = NULL; in ext4_writepages() local
2480 handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); in ext4_writepages()
2481 if (IS_ERR(handle)) { in ext4_writepages()
2482 ret = PTR_ERR(handle); in ext4_writepages()
2487 ext4_destroy_inline_data(handle, inode); in ext4_writepages()
2488 ext4_journal_stop(handle); in ext4_writepages()
2532 handle = ext4_journal_start_with_reserve(inode, in ext4_writepages()
2534 if (IS_ERR(handle)) { in ext4_writepages()
2535 ret = PTR_ERR(handle); in ext4_writepages()
2548 ret = mpage_map_and_submit_extent(handle, &mpd, in ext4_writepages()
2560 ext4_journal_stop(handle); in ext4_writepages()
2660 handle_t *handle; in ext4_da_write_begin() local
2702 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in ext4_da_write_begin()
2704 if (IS_ERR(handle)) { in ext4_da_write_begin()
2706 return PTR_ERR(handle); in ext4_da_write_begin()
2714 ext4_journal_stop(handle); in ext4_da_write_begin()
2728 ext4_journal_stop(handle); in ext4_da_write_begin()
2779 handle_t *handle = ext4_journal_current_handle(); in ext4_da_write_end() local
2806 ext4_mark_inode_dirty(handle, inode); in ext4_da_write_end()
2822 ret2 = ext4_journal_stop(handle); in ext4_da_write_end()
3362 static int __ext4_block_zero_page_range(handle_t *handle, in __ext4_block_zero_page_range() argument
3429 err = ext4_journal_get_write_access(handle, bh); in __ext4_block_zero_page_range()
3437 err = ext4_handle_dirty_metadata(handle, inode, bh); in __ext4_block_zero_page_range()
3442 err = ext4_jbd2_file_inode(handle, inode); in __ext4_block_zero_page_range()
3458 static int ext4_block_zero_page_range(handle_t *handle, in ext4_block_zero_page_range() argument
3475 return __ext4_block_zero_page_range(handle, mapping, from, length); in ext4_block_zero_page_range()
3484 static int ext4_block_truncate_page(handle_t *handle, in ext4_block_truncate_page() argument
3495 return ext4_block_zero_page_range(handle, mapping, from, length); in ext4_block_truncate_page()
3498 int ext4_zero_partial_blocks(handle_t *handle, struct inode *inode, in ext4_zero_partial_blocks() argument
3517 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
3523 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
3530 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
3556 handle_t *handle; in ext4_update_disksize_before_punch() local
3566 handle = ext4_journal_start(inode, EXT4_HT_MISC, 1); in ext4_update_disksize_before_punch()
3567 if (IS_ERR(handle)) in ext4_update_disksize_before_punch()
3568 return PTR_ERR(handle); in ext4_update_disksize_before_punch()
3570 ext4_mark_inode_dirty(handle, inode); in ext4_update_disksize_before_punch()
3571 ext4_journal_stop(handle); in ext4_update_disksize_before_punch()
3593 handle_t *handle; in ext4_punch_hole() local
3666 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_punch_hole()
3667 if (IS_ERR(handle)) { in ext4_punch_hole()
3668 ret = PTR_ERR(handle); in ext4_punch_hole()
3673 ret = ext4_zero_partial_blocks(handle, inode, offset, in ext4_punch_hole()
3700 ret = ext4_ind_remove_space(handle, inode, first_block, in ext4_punch_hole()
3705 ext4_handle_sync(handle); in ext4_punch_hole()
3708 ext4_mark_inode_dirty(handle, inode); in ext4_punch_hole()
3710 ext4_journal_stop(handle); in ext4_punch_hole()
3776 handle_t *handle; in ext4_truncate() local
3815 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_truncate()
3816 if (IS_ERR(handle)) { in ext4_truncate()
3817 ext4_std_error(inode->i_sb, PTR_ERR(handle)); in ext4_truncate()
3822 ext4_block_truncate_page(handle, mapping, inode->i_size); in ext4_truncate()
3833 if (ext4_orphan_add(handle, inode)) in ext4_truncate()
3841 ext4_ext_truncate(handle, inode); in ext4_truncate()
3843 ext4_ind_truncate(handle, inode); in ext4_truncate()
3848 ext4_handle_sync(handle); in ext4_truncate()
3859 ext4_orphan_del(handle, inode); in ext4_truncate()
3862 ext4_mark_inode_dirty(handle, inode); in ext4_truncate()
3863 ext4_journal_stop(handle); in ext4_truncate()
4338 static int ext4_inode_blocks_set(handle_t *handle, in ext4_inode_blocks_set() argument
4448 static int ext4_do_update_inode(handle_t *handle, in ext4_do_update_inode() argument
4501 err = ext4_inode_blocks_set(handle, raw_inode, ei); in ext4_do_update_inode()
4557 rc = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_do_update_inode()
4563 err = ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh); in ext4_do_update_inode()
4569 ext4_handle_sync(handle); in ext4_do_update_inode()
4570 err = ext4_handle_dirty_super(handle, sb); in ext4_do_update_inode()
4572 ext4_update_inode_fsync_trans(handle, inode, need_datasync); in ext4_do_update_inode()
4739 handle_t *handle; in ext4_setattr() local
4743 handle = ext4_journal_start(inode, EXT4_HT_QUOTA, in ext4_setattr()
4746 if (IS_ERR(handle)) { in ext4_setattr()
4747 error = PTR_ERR(handle); in ext4_setattr()
4752 ext4_journal_stop(handle); in ext4_setattr()
4761 error = ext4_mark_inode_dirty(handle, inode); in ext4_setattr()
4762 ext4_journal_stop(handle); in ext4_setattr()
4766 handle_t *handle; in ext4_setattr() local
4786 handle = ext4_journal_start(inode, EXT4_HT_INODE, 3); in ext4_setattr()
4787 if (IS_ERR(handle)) { in ext4_setattr()
4788 error = PTR_ERR(handle); in ext4_setattr()
4791 if (ext4_handle_valid(handle)) { in ext4_setattr()
4792 error = ext4_orphan_add(handle, inode); in ext4_setattr()
4797 rc = ext4_mark_inode_dirty(handle, inode); in ext4_setattr()
4808 ext4_journal_stop(handle); in ext4_setattr()
5000 int ext4_mark_iloc_dirty(handle_t *handle, in ext4_mark_iloc_dirty() argument
5012 err = ext4_do_update_inode(handle, inode, iloc); in ext4_mark_iloc_dirty()
5023 ext4_reserve_inode_write(handle_t *handle, struct inode *inode, in ext4_reserve_inode_write() argument
5031 err = ext4_journal_get_write_access(handle, iloc->bh); in ext4_reserve_inode_write()
5048 handle_t *handle) in ext4_expand_extra_isize() argument
5071 raw_inode, handle); in ext4_expand_extra_isize()
5087 int ext4_mark_inode_dirty(handle_t *handle, struct inode *inode) in ext4_mark_inode_dirty() argument
5096 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_mark_inode_dirty()
5097 if (ext4_handle_valid(handle) && in ext4_mark_inode_dirty()
5107 if ((jbd2_journal_extend(handle, in ext4_mark_inode_dirty()
5111 iloc, handle); in ext4_mark_inode_dirty()
5128 err = ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_mark_inode_dirty()
5152 handle_t *handle; in ext4_dirty_inode() local
5156 handle = ext4_journal_start(inode, EXT4_HT_INODE, 2); in ext4_dirty_inode()
5157 if (IS_ERR(handle)) in ext4_dirty_inode()
5160 ext4_mark_inode_dirty(handle, inode); in ext4_dirty_inode()
5162 ext4_journal_stop(handle); in ext4_dirty_inode()
5175 static int ext4_pin_inode(handle_t *handle, struct inode *inode)
5180 if (handle) {
5184 err = jbd2_journal_get_write_access(handle, iloc.bh);
5186 err = ext4_handle_dirty_metadata(handle,
5200 handle_t *handle; in ext4_change_inode_journal_flag() local
5262 handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); in ext4_change_inode_journal_flag()
5263 if (IS_ERR(handle)) in ext4_change_inode_journal_flag()
5264 return PTR_ERR(handle); in ext4_change_inode_journal_flag()
5266 err = ext4_mark_inode_dirty(handle, inode); in ext4_change_inode_journal_flag()
5267 ext4_handle_sync(handle); in ext4_change_inode_journal_flag()
5268 ext4_journal_stop(handle); in ext4_change_inode_journal_flag()
5274 static int ext4_bh_unmapped(handle_t *handle, struct buffer_head *bh) in ext4_bh_unmapped() argument
5288 handle_t *handle; in ext4_page_mkwrite() local
5342 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in ext4_page_mkwrite()
5344 if (IS_ERR(handle)) { in ext4_page_mkwrite()
5350 if (ext4_walk_page_buffers(handle, page_buffers(page), 0, in ext4_page_mkwrite()
5354 ext4_journal_stop(handle); in ext4_page_mkwrite()
5359 ext4_journal_stop(handle); in ext4_page_mkwrite()