Lines Matching refs:handle
135 static int ext4_bh_delay_or_unwritten(handle_t *handle, struct buffer_head *bh);
158 int ext4_truncate_restart_trans(handle_t *handle, struct inode *inode, in ext4_truncate_restart_trans() argument
170 jbd_debug(2, "restarting handle %p\n", handle); in ext4_truncate_restart_trans()
172 ret = ext4_journal_restart(handle, nblocks); in ext4_truncate_restart_trans()
184 handle_t *handle; in ext4_evict_inode() local
238 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, in ext4_evict_inode()
240 if (IS_ERR(handle)) { in ext4_evict_inode()
241 ext4_std_error(inode->i_sb, PTR_ERR(handle)); in ext4_evict_inode()
253 ext4_handle_sync(handle); in ext4_evict_inode()
255 err = ext4_mark_inode_dirty(handle, inode); in ext4_evict_inode()
270 if (!ext4_handle_has_enough_credits(handle, 3)) { in ext4_evict_inode()
271 err = ext4_journal_extend(handle, 3); in ext4_evict_inode()
273 err = ext4_journal_restart(handle, 3); in ext4_evict_inode()
278 ext4_journal_stop(handle); in ext4_evict_inode()
293 ext4_orphan_del(handle, inode); in ext4_evict_inode()
303 if (ext4_mark_inode_dirty(handle, inode)) in ext4_evict_inode()
307 ext4_free_inode(handle, inode); in ext4_evict_inode()
308 ext4_journal_stop(handle); in ext4_evict_inode()
390 static void ext4_map_blocks_es_recheck(handle_t *handle, in ext4_map_blocks_es_recheck() argument
409 retval = ext4_ext_map_blocks(handle, inode, map, flags & in ext4_map_blocks_es_recheck()
412 retval = ext4_ind_map_blocks(handle, inode, map, flags & in ext4_map_blocks_es_recheck()
458 int ext4_map_blocks(handle_t *handle, struct inode *inode, in ext4_map_blocks() argument
502 ext4_map_blocks_es_recheck(handle, inode, map, in ext4_map_blocks()
515 retval = ext4_ext_map_blocks(handle, inode, map, flags & in ext4_map_blocks()
518 retval = ext4_ind_map_blocks(handle, inode, map, flags & in ext4_map_blocks()
593 retval = ext4_ext_map_blocks(handle, inode, map, flags); in ext4_map_blocks()
595 retval = ext4_ind_map_blocks(handle, inode, map, flags); in ext4_map_blocks()
694 handle_t *handle = ext4_journal_current_handle(); in _ext4_get_block() local
705 if (flags && !(flags & EXT4_GET_BLOCKS_NO_LOCK) && !handle) { in _ext4_get_block()
710 handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS, in _ext4_get_block()
712 if (IS_ERR(handle)) { in _ext4_get_block()
713 ret = PTR_ERR(handle); in _ext4_get_block()
719 ret = ext4_map_blocks(handle, inode, &map, flags); in _ext4_get_block()
741 ext4_journal_stop(handle); in _ext4_get_block()
755 struct buffer_head *ext4_getblk(handle_t *handle, struct inode *inode, in ext4_getblk() argument
763 J_ASSERT(handle != NULL || create == 0); in ext4_getblk()
767 err = ext4_map_blocks(handle, inode, &map, map_flags); in ext4_getblk()
779 J_ASSERT(handle != NULL); in ext4_getblk()
790 err = ext4_journal_get_create_access(handle, bh); in ext4_getblk()
801 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_getblk()
812 struct buffer_head *ext4_bread(handle_t *handle, struct inode *inode, in ext4_bread() argument
817 bh = ext4_getblk(handle, inode, block, map_flags); in ext4_bread()
830 int ext4_walk_page_buffers(handle_t *handle, in ext4_walk_page_buffers() argument
835 int (*fn)(handle_t *handle, in ext4_walk_page_buffers() argument
854 err = (*fn)(handle, bh); in ext4_walk_page_buffers()
885 int do_journal_get_write_access(handle_t *handle, in do_journal_get_write_access() argument
904 ret = ext4_journal_get_write_access(handle, bh); in do_journal_get_write_access()
906 ret = ext4_handle_dirty_metadata(handle, NULL, bh); in do_journal_get_write_access()
1007 handle_t *handle; in ext4_write_begin() local
1046 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, needed_blocks); in ext4_write_begin()
1047 if (IS_ERR(handle)) { in ext4_write_begin()
1049 return PTR_ERR(handle); in ext4_write_begin()
1057 ext4_journal_stop(handle); in ext4_write_begin()
1077 ret = ext4_walk_page_buffers(handle, page_buffers(page), in ext4_write_begin()
1093 ext4_orphan_add(handle, inode); in ext4_write_begin()
1095 ext4_journal_stop(handle); in ext4_write_begin()
1119 static int write_end_fn(handle_t *handle, struct buffer_head *bh) in write_end_fn() argument
1125 ret = ext4_handle_dirty_metadata(handle, NULL, bh); in write_end_fn()
1143 handle_t *handle = ext4_journal_current_handle(); in ext4_write_end() local
1151 ret = ext4_jbd2_file_inode(handle, inode); in ext4_write_end()
1185 ext4_mark_inode_dirty(handle, inode); in ext4_write_end()
1192 ext4_orphan_add(handle, inode); in ext4_write_end()
1194 ret2 = ext4_journal_stop(handle); in ext4_write_end()
1249 handle_t *handle = ext4_journal_current_handle(); in ext4_journalled_write_end() local
1261 BUG_ON(!ext4_handle_valid(handle)); in ext4_journalled_write_end()
1273 ret = ext4_walk_page_buffers(handle, page_buffers(page), from, in ext4_journalled_write_end()
1280 EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid; in ext4_journalled_write_end()
1288 ret2 = ext4_mark_inode_dirty(handle, inode); in ext4_journalled_write_end()
1298 ext4_orphan_add(handle, inode); in ext4_journalled_write_end()
1300 ret2 = ext4_journal_stop(handle); in ext4_journalled_write_end()
1527 static int ext4_bh_delay_or_unwritten(handle_t *handle, struct buffer_head *bh) in ext4_bh_delay_or_unwritten() argument
1715 static int bget_one(handle_t *handle, struct buffer_head *bh) in bget_one() argument
1721 static int bput_one(handle_t *handle, struct buffer_head *bh) in bput_one() argument
1733 handle_t *handle = NULL; in __ext4_journalled_writepage() local
1752 ext4_walk_page_buffers(handle, page_bufs, 0, len, in __ext4_journalled_writepage()
1763 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in __ext4_journalled_writepage()
1765 if (IS_ERR(handle)) { in __ext4_journalled_writepage()
1766 ret = PTR_ERR(handle); in __ext4_journalled_writepage()
1770 BUG_ON(!ext4_handle_valid(handle)); in __ext4_journalled_writepage()
1776 ext4_journal_stop(handle); in __ext4_journalled_writepage()
1783 ret = ext4_journal_get_write_access(handle, inode_bh); in __ext4_journalled_writepage()
1785 err = ext4_handle_dirty_metadata(handle, inode, inode_bh); in __ext4_journalled_writepage()
1788 ret = ext4_walk_page_buffers(handle, page_bufs, 0, len, NULL, in __ext4_journalled_writepage()
1791 err = ext4_walk_page_buffers(handle, page_bufs, 0, len, NULL, in __ext4_journalled_writepage()
1796 EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid; in __ext4_journalled_writepage()
1797 err = ext4_journal_stop(handle); in __ext4_journalled_writepage()
2150 static int mpage_map_one_extent(handle_t *handle, struct mpage_da_data *mpd) in mpage_map_one_extent() argument
2181 err = ext4_map_blocks(handle, inode, map, get_blocks_flags); in mpage_map_one_extent()
2185 if (!mpd->io_submit.io_end->handle && in mpage_map_one_extent()
2186 ext4_handle_valid(handle)) { in mpage_map_one_extent()
2187 mpd->io_submit.io_end->handle = handle->h_rsv_handle; in mpage_map_one_extent()
2188 handle->h_rsv_handle = NULL; in mpage_map_one_extent()
2224 static int mpage_map_and_submit_extent(handle_t *handle, in mpage_map_and_submit_extent() argument
2237 err = mpage_map_one_extent(handle, mpd); in mpage_map_and_submit_extent()
2296 err2 = ext4_mark_inode_dirty(handle, inode); in mpage_map_and_submit_extent()
2454 handle_t *handle = NULL; in ext4_writepages() local
2512 handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); in ext4_writepages()
2513 if (IS_ERR(handle)) { in ext4_writepages()
2514 ret = PTR_ERR(handle); in ext4_writepages()
2519 ext4_destroy_inline_data(handle, inode); in ext4_writepages()
2520 ext4_journal_stop(handle); in ext4_writepages()
2564 handle = ext4_journal_start_with_reserve(inode, in ext4_writepages()
2566 if (IS_ERR(handle)) { in ext4_writepages()
2567 ret = PTR_ERR(handle); in ext4_writepages()
2580 ret = mpage_map_and_submit_extent(handle, &mpd, in ext4_writepages()
2592 ext4_journal_stop(handle); in ext4_writepages()
2691 handle_t *handle; in ext4_da_write_begin() local
2733 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in ext4_da_write_begin()
2735 if (IS_ERR(handle)) { in ext4_da_write_begin()
2737 return PTR_ERR(handle); in ext4_da_write_begin()
2745 ext4_journal_stop(handle); in ext4_da_write_begin()
2759 ext4_journal_stop(handle); in ext4_da_write_begin()
2810 handle_t *handle = ext4_journal_current_handle(); in ext4_da_write_end() local
2837 ext4_mark_inode_dirty(handle, inode); in ext4_da_write_end()
2853 ret2 = ext4_journal_stop(handle); in ext4_da_write_end()
3404 static int __ext4_block_zero_page_range(handle_t *handle, in __ext4_block_zero_page_range() argument
3471 err = ext4_journal_get_write_access(handle, bh); in __ext4_block_zero_page_range()
3479 err = ext4_handle_dirty_metadata(handle, inode, bh); in __ext4_block_zero_page_range()
3484 err = ext4_jbd2_file_inode(handle, inode); in __ext4_block_zero_page_range()
3500 static int ext4_block_zero_page_range(handle_t *handle, in ext4_block_zero_page_range() argument
3517 return __ext4_block_zero_page_range(handle, mapping, from, length); in ext4_block_zero_page_range()
3526 static int ext4_block_truncate_page(handle_t *handle, in ext4_block_truncate_page() argument
3537 return ext4_block_zero_page_range(handle, mapping, from, length); in ext4_block_truncate_page()
3540 int ext4_zero_partial_blocks(handle_t *handle, struct inode *inode, in ext4_zero_partial_blocks() argument
3559 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
3565 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
3572 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
3598 handle_t *handle; in ext4_update_disksize_before_punch() local
3608 handle = ext4_journal_start(inode, EXT4_HT_MISC, 1); in ext4_update_disksize_before_punch()
3609 if (IS_ERR(handle)) in ext4_update_disksize_before_punch()
3610 return PTR_ERR(handle); in ext4_update_disksize_before_punch()
3612 ext4_mark_inode_dirty(handle, inode); in ext4_update_disksize_before_punch()
3613 ext4_journal_stop(handle); in ext4_update_disksize_before_punch()
3635 handle_t *handle; in ext4_punch_hole() local
3708 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_punch_hole()
3709 if (IS_ERR(handle)) { in ext4_punch_hole()
3710 ret = PTR_ERR(handle); in ext4_punch_hole()
3715 ret = ext4_zero_partial_blocks(handle, inode, offset, in ext4_punch_hole()
3742 ret = ext4_ind_remove_space(handle, inode, first_block, in ext4_punch_hole()
3747 ext4_handle_sync(handle); in ext4_punch_hole()
3750 ext4_mark_inode_dirty(handle, inode); in ext4_punch_hole()
3752 ext4_journal_stop(handle); in ext4_punch_hole()
3818 handle_t *handle; in ext4_truncate() local
3857 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_truncate()
3858 if (IS_ERR(handle)) { in ext4_truncate()
3859 ext4_std_error(inode->i_sb, PTR_ERR(handle)); in ext4_truncate()
3864 ext4_block_truncate_page(handle, mapping, inode->i_size); in ext4_truncate()
3875 if (ext4_orphan_add(handle, inode)) in ext4_truncate()
3883 ext4_ext_truncate(handle, inode); in ext4_truncate()
3885 ext4_ind_truncate(handle, inode); in ext4_truncate()
3890 ext4_handle_sync(handle); in ext4_truncate()
3901 ext4_orphan_del(handle, inode); in ext4_truncate()
3904 ext4_mark_inode_dirty(handle, inode); in ext4_truncate()
3905 ext4_journal_stop(handle); in ext4_truncate()
4382 static int ext4_inode_blocks_set(handle_t *handle, in ext4_inode_blocks_set() argument
4492 static int ext4_do_update_inode(handle_t *handle, in ext4_do_update_inode() argument
4545 err = ext4_inode_blocks_set(handle, raw_inode, ei); in ext4_do_update_inode()
4600 rc = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_do_update_inode()
4606 err = ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh); in ext4_do_update_inode()
4611 ext4_handle_sync(handle); in ext4_do_update_inode()
4612 err = ext4_handle_dirty_super(handle, sb); in ext4_do_update_inode()
4614 ext4_update_inode_fsync_trans(handle, inode, need_datasync); in ext4_do_update_inode()
4784 handle_t *handle; in ext4_setattr() local
4788 handle = ext4_journal_start(inode, EXT4_HT_QUOTA, in ext4_setattr()
4791 if (IS_ERR(handle)) { in ext4_setattr()
4792 error = PTR_ERR(handle); in ext4_setattr()
4797 ext4_journal_stop(handle); in ext4_setattr()
4806 error = ext4_mark_inode_dirty(handle, inode); in ext4_setattr()
4807 ext4_journal_stop(handle); in ext4_setattr()
4811 handle_t *handle; in ext4_setattr() local
4835 handle = ext4_journal_start(inode, EXT4_HT_INODE, 3); in ext4_setattr()
4836 if (IS_ERR(handle)) { in ext4_setattr()
4837 error = PTR_ERR(handle); in ext4_setattr()
4840 if (ext4_handle_valid(handle) && shrink) { in ext4_setattr()
4841 error = ext4_orphan_add(handle, inode); in ext4_setattr()
4854 rc = ext4_mark_inode_dirty(handle, inode); in ext4_setattr()
4865 ext4_journal_stop(handle); in ext4_setattr()
5051 int ext4_mark_iloc_dirty(handle_t *handle, in ext4_mark_iloc_dirty() argument
5063 err = ext4_do_update_inode(handle, inode, iloc); in ext4_mark_iloc_dirty()
5074 ext4_reserve_inode_write(handle_t *handle, struct inode *inode, in ext4_reserve_inode_write() argument
5082 err = ext4_journal_get_write_access(handle, iloc->bh); in ext4_reserve_inode_write()
5099 handle_t *handle) in ext4_expand_extra_isize() argument
5122 raw_inode, handle); in ext4_expand_extra_isize()
5138 int ext4_mark_inode_dirty(handle_t *handle, struct inode *inode) in ext4_mark_inode_dirty() argument
5147 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_mark_inode_dirty()
5150 if (ext4_handle_valid(handle) && in ext4_mark_inode_dirty()
5160 if ((jbd2_journal_extend(handle, in ext4_mark_inode_dirty()
5164 iloc, handle); in ext4_mark_inode_dirty()
5180 return ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_mark_inode_dirty()
5203 handle_t *handle; in ext4_dirty_inode() local
5207 handle = ext4_journal_start(inode, EXT4_HT_INODE, 2); in ext4_dirty_inode()
5208 if (IS_ERR(handle)) in ext4_dirty_inode()
5211 ext4_mark_inode_dirty(handle, inode); in ext4_dirty_inode()
5213 ext4_journal_stop(handle); in ext4_dirty_inode()
5226 static int ext4_pin_inode(handle_t *handle, struct inode *inode)
5231 if (handle) {
5235 err = jbd2_journal_get_write_access(handle, iloc.bh);
5237 err = ext4_handle_dirty_metadata(handle,
5251 handle_t *handle; in ext4_change_inode_journal_flag() local
5313 handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); in ext4_change_inode_journal_flag()
5314 if (IS_ERR(handle)) in ext4_change_inode_journal_flag()
5315 return PTR_ERR(handle); in ext4_change_inode_journal_flag()
5317 err = ext4_mark_inode_dirty(handle, inode); in ext4_change_inode_journal_flag()
5318 ext4_handle_sync(handle); in ext4_change_inode_journal_flag()
5319 ext4_journal_stop(handle); in ext4_change_inode_journal_flag()
5325 static int ext4_bh_unmapped(handle_t *handle, struct buffer_head *bh) in ext4_bh_unmapped() argument
5339 handle_t *handle; in ext4_page_mkwrite() local
5393 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in ext4_page_mkwrite()
5395 if (IS_ERR(handle)) { in ext4_page_mkwrite()
5401 if (ext4_walk_page_buffers(handle, page_buffers(page), 0, in ext4_page_mkwrite()
5405 ext4_journal_stop(handle); in ext4_page_mkwrite()
5410 ext4_journal_stop(handle); in ext4_page_mkwrite()