Lines Matching refs:handle
144 static int ext4_bh_delay_or_unwritten(handle_t *handle, struct buffer_head *bh);
172 int ext4_truncate_restart_trans(handle_t *handle, struct inode *inode, in ext4_truncate_restart_trans() argument
184 jbd_debug(2, "restarting handle %p\n", handle); in ext4_truncate_restart_trans()
186 ret = ext4_journal_restart(handle, nblocks); in ext4_truncate_restart_trans()
198 handle_t *handle; in ext4_evict_inode() local
273 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, in ext4_evict_inode()
275 if (IS_ERR(handle)) { in ext4_evict_inode()
276 ext4_std_error(inode->i_sb, PTR_ERR(handle)); in ext4_evict_inode()
289 ext4_handle_sync(handle); in ext4_evict_inode()
301 err = ext4_mark_inode_dirty(handle, inode); in ext4_evict_inode()
318 err = ext4_xattr_delete_inode(handle, inode, &ea_inode_array, in ext4_evict_inode()
323 ext4_journal_stop(handle); in ext4_evict_inode()
339 ext4_orphan_del(handle, inode); in ext4_evict_inode()
349 if (ext4_mark_inode_dirty(handle, inode)) in ext4_evict_inode()
353 ext4_free_inode(handle, inode); in ext4_evict_inode()
354 ext4_journal_stop(handle); in ext4_evict_inode()
457 static void ext4_map_blocks_es_recheck(handle_t *handle, in ext4_map_blocks_es_recheck() argument
475 retval = ext4_ext_map_blocks(handle, inode, map, flags & in ext4_map_blocks_es_recheck()
478 retval = ext4_ind_map_blocks(handle, inode, map, flags & in ext4_map_blocks_es_recheck()
523 int ext4_map_blocks(handle_t *handle, struct inode *inode, in ext4_map_blocks() argument
572 ext4_map_blocks_es_recheck(handle, inode, map, in ext4_map_blocks()
584 retval = ext4_ext_map_blocks(handle, inode, map, flags & in ext4_map_blocks()
587 retval = ext4_ind_map_blocks(handle, inode, map, flags & in ext4_map_blocks()
661 retval = ext4_ext_map_blocks(handle, inode, map, flags); in ext4_map_blocks()
663 retval = ext4_ind_map_blocks(handle, inode, map, flags); in ext4_map_blocks()
750 ret = ext4_jbd2_inode_add_wait(handle, inode, in ext4_map_blocks()
753 ret = ext4_jbd2_inode_add_write(handle, inode, in ext4_map_blocks()
849 handle_t *handle; in ext4_get_block_trans() local
859 handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS, dio_credits); in ext4_get_block_trans()
860 if (IS_ERR(handle)) in ext4_get_block_trans()
861 return PTR_ERR(handle); in ext4_get_block_trans()
864 ext4_journal_stop(handle); in ext4_get_block_trans()
973 struct buffer_head *ext4_getblk(handle_t *handle, struct inode *inode, in ext4_getblk() argument
981 J_ASSERT(handle != NULL || create == 0); in ext4_getblk()
985 err = ext4_map_blocks(handle, inode, &map, map_flags); in ext4_getblk()
997 J_ASSERT(handle != NULL); in ext4_getblk()
1008 err = ext4_journal_get_create_access(handle, bh); in ext4_getblk()
1019 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_getblk()
1030 struct buffer_head *ext4_bread(handle_t *handle, struct inode *inode, in ext4_bread() argument
1035 bh = ext4_getblk(handle, inode, block, map_flags); in ext4_bread()
1092 int ext4_walk_page_buffers(handle_t *handle, in ext4_walk_page_buffers() argument
1097 int (*fn)(handle_t *handle, in ext4_walk_page_buffers() argument
1116 err = (*fn)(handle, bh); in ext4_walk_page_buffers()
1147 int do_journal_get_write_access(handle_t *handle, in do_journal_get_write_access() argument
1166 ret = ext4_journal_get_write_access(handle, bh); in do_journal_get_write_access()
1168 ret = ext4_handle_dirty_metadata(handle, NULL, bh); in do_journal_get_write_access()
1274 handle_t *handle; in ext4_write_begin() local
1333 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, needed_blocks); in ext4_write_begin()
1334 if (IS_ERR(handle)) { in ext4_write_begin()
1336 return PTR_ERR(handle); in ext4_write_begin()
1344 ext4_journal_stop(handle); in ext4_write_begin()
1365 ret = ext4_walk_page_buffers(handle, page_buffers(page), in ext4_write_begin()
1384 ext4_orphan_add(handle, inode); in ext4_write_begin()
1386 ext4_journal_stop(handle); in ext4_write_begin()
1410 static int write_end_fn(handle_t *handle, struct buffer_head *bh) in write_end_fn() argument
1416 ret = ext4_handle_dirty_metadata(handle, NULL, bh); in write_end_fn()
1434 handle_t *handle = ext4_journal_current_handle(); in ext4_write_end() local
1479 ext4_mark_inode_dirty(handle, inode); in ext4_write_end()
1487 ext4_orphan_add(handle, inode); in ext4_write_end()
1489 ret2 = ext4_journal_stop(handle); in ext4_write_end()
1512 static void ext4_journalled_zero_new_buffers(handle_t *handle, in ext4_journalled_zero_new_buffers() argument
1531 write_end_fn(handle, bh); in ext4_journalled_zero_new_buffers()
1546 handle_t *handle = ext4_journal_current_handle(); in ext4_journalled_write_end() local
1561 BUG_ON(!ext4_handle_valid(handle)); in ext4_journalled_write_end()
1575 ext4_journalled_zero_new_buffers(handle, page, from, to); in ext4_journalled_write_end()
1578 ext4_journalled_zero_new_buffers(handle, page, in ext4_journalled_write_end()
1580 ret = ext4_walk_page_buffers(handle, page_buffers(page), from, in ext4_journalled_write_end()
1589 EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid; in ext4_journalled_write_end()
1597 ret2 = ext4_mark_inode_dirty(handle, inode); in ext4_journalled_write_end()
1608 ext4_orphan_add(handle, inode); in ext4_journalled_write_end()
1610 ret2 = ext4_journal_stop(handle); in ext4_journalled_write_end()
1787 static int ext4_bh_delay_or_unwritten(handle_t *handle, struct buffer_head *bh) in ext4_bh_delay_or_unwritten() argument
2025 static int bget_one(handle_t *handle, struct buffer_head *bh) in bget_one() argument
2031 static int bput_one(handle_t *handle, struct buffer_head *bh) in bput_one() argument
2043 handle_t *handle = NULL; in __ext4_journalled_writepage() local
2062 ext4_walk_page_buffers(handle, page_bufs, 0, len, in __ext4_journalled_writepage()
2073 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in __ext4_journalled_writepage()
2075 if (IS_ERR(handle)) { in __ext4_journalled_writepage()
2076 ret = PTR_ERR(handle); in __ext4_journalled_writepage()
2080 BUG_ON(!ext4_handle_valid(handle)); in __ext4_journalled_writepage()
2086 ext4_journal_stop(handle); in __ext4_journalled_writepage()
2092 ret = ext4_mark_inode_dirty(handle, inode); in __ext4_journalled_writepage()
2094 ret = ext4_walk_page_buffers(handle, page_bufs, 0, len, NULL, in __ext4_journalled_writepage()
2097 err = ext4_walk_page_buffers(handle, page_bufs, 0, len, NULL, in __ext4_journalled_writepage()
2102 EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid; in __ext4_journalled_writepage()
2103 err = ext4_journal_stop(handle); in __ext4_journalled_writepage()
2491 static int mpage_map_one_extent(handle_t *handle, struct mpage_da_data *mpd) in mpage_map_one_extent() argument
2523 err = ext4_map_blocks(handle, inode, map, get_blocks_flags); in mpage_map_one_extent()
2527 if (!mpd->io_submit.io_end->handle && in mpage_map_one_extent()
2528 ext4_handle_valid(handle)) { in mpage_map_one_extent()
2529 mpd->io_submit.io_end->handle = handle->h_rsv_handle; in mpage_map_one_extent()
2530 handle->h_rsv_handle = NULL; in mpage_map_one_extent()
2559 static int mpage_map_and_submit_extent(handle_t *handle, in mpage_map_and_submit_extent() argument
2572 err = mpage_map_one_extent(handle, mpd); in mpage_map_and_submit_extent()
2633 err2 = ext4_mark_inode_dirty(handle, inode); in mpage_map_and_submit_extent()
2787 handle_t *handle = NULL; in ext4_writepages() local
2838 handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); in ext4_writepages()
2839 if (IS_ERR(handle)) { in ext4_writepages()
2840 ret = PTR_ERR(handle); in ext4_writepages()
2845 ext4_destroy_inline_data(handle, inode); in ext4_writepages()
2846 ext4_journal_stop(handle); in ext4_writepages()
2922 handle = ext4_journal_start_with_reserve(inode, in ext4_writepages()
2924 if (IS_ERR(handle)) { in ext4_writepages()
2925 ret = PTR_ERR(handle); in ext4_writepages()
2940 ret = mpage_map_and_submit_extent(handle, &mpd, in ext4_writepages()
2962 if (!ext4_handle_valid(handle) || handle->h_sync == 0) { in ext4_writepages()
2963 ext4_journal_stop(handle); in ext4_writepages()
2964 handle = NULL; in ext4_writepages()
2979 if (handle) { in ext4_writepages()
2981 ext4_journal_stop(handle); in ext4_writepages()
3100 handle_t *handle; in ext4_da_write_begin() local
3156 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in ext4_da_write_begin()
3158 if (IS_ERR(handle)) { in ext4_da_write_begin()
3160 return PTR_ERR(handle); in ext4_da_write_begin()
3168 ext4_journal_stop(handle); in ext4_da_write_begin()
3182 ext4_journal_stop(handle); in ext4_da_write_begin()
3233 handle_t *handle = ext4_journal_current_handle(); in ext4_da_write_end() local
3261 ext4_mark_inode_dirty(handle, inode); in ext4_da_write_end()
3277 ret2 = ext4_journal_stop(handle); in ext4_da_write_end()
3553 handle_t *handle; in ext4_iomap_begin() local
3567 handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS, in ext4_iomap_begin()
3569 if (IS_ERR(handle)) in ext4_iomap_begin()
3570 return PTR_ERR(handle); in ext4_iomap_begin()
3572 ret = ext4_map_blocks(handle, inode, &map, in ext4_iomap_begin()
3575 ext4_journal_stop(handle); in ext4_iomap_begin()
3595 err = ext4_orphan_add(handle, inode); in ext4_iomap_begin()
3597 ext4_journal_stop(handle); in ext4_iomap_begin()
3601 ext4_journal_stop(handle); in ext4_iomap_begin()
3647 handle_t *handle; in ext4_iomap_end() local
3654 handle = ext4_journal_start(inode, EXT4_HT_INODE, 2); in ext4_iomap_end()
3655 if (IS_ERR(handle)) { in ext4_iomap_end()
3656 ret = PTR_ERR(handle); in ext4_iomap_end()
3660 ext4_mark_inode_dirty(handle, inode); in ext4_iomap_end()
3679 ext4_orphan_del(handle, inode); in ext4_iomap_end()
3680 ext4_journal_stop(handle); in ext4_iomap_end()
3762 handle_t *handle; in ext4_direct_IO_write() local
3766 handle = ext4_journal_start(inode, EXT4_HT_INODE, 2); in ext4_direct_IO_write()
3767 if (IS_ERR(handle)) { in ext4_direct_IO_write()
3768 ret = PTR_ERR(handle); in ext4_direct_IO_write()
3771 ret = ext4_orphan_add(handle, inode); in ext4_direct_IO_write()
3773 ext4_journal_stop(handle); in ext4_direct_IO_write()
3778 ext4_journal_stop(handle); in ext4_direct_IO_write()
3861 handle = ext4_journal_start(inode, EXT4_HT_INODE, 2); in ext4_direct_IO_write()
3862 if (IS_ERR(handle)) { in ext4_direct_IO_write()
3874 ret = PTR_ERR(handle); in ext4_direct_IO_write()
3881 ext4_orphan_del(handle, inode); in ext4_direct_IO_write()
3895 ext4_mark_inode_dirty(handle, inode); in ext4_direct_IO_write()
3898 err = ext4_journal_stop(handle); in ext4_direct_IO_write()
4109 static int __ext4_block_zero_page_range(handle_t *handle, in __ext4_block_zero_page_range() argument
4175 err = ext4_journal_get_write_access(handle, bh); in __ext4_block_zero_page_range()
4183 err = ext4_handle_dirty_metadata(handle, inode, bh); in __ext4_block_zero_page_range()
4188 err = ext4_jbd2_inode_add_write(handle, inode, from, in __ext4_block_zero_page_range()
4205 static int ext4_block_zero_page_range(handle_t *handle, in ext4_block_zero_page_range() argument
4224 return __ext4_block_zero_page_range(handle, mapping, from, length); in ext4_block_zero_page_range()
4233 static int ext4_block_truncate_page(handle_t *handle, in ext4_block_truncate_page() argument
4248 return ext4_block_zero_page_range(handle, mapping, from, length); in ext4_block_truncate_page()
4251 int ext4_zero_partial_blocks(handle_t *handle, struct inode *inode, in ext4_zero_partial_blocks() argument
4270 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
4276 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
4283 err = ext4_block_zero_page_range(handle, mapping, in ext4_zero_partial_blocks()
4309 handle_t *handle; in ext4_update_disksize_before_punch() local
4319 handle = ext4_journal_start(inode, EXT4_HT_MISC, 1); in ext4_update_disksize_before_punch()
4320 if (IS_ERR(handle)) in ext4_update_disksize_before_punch()
4321 return PTR_ERR(handle); in ext4_update_disksize_before_punch()
4323 ext4_mark_inode_dirty(handle, inode); in ext4_update_disksize_before_punch()
4324 ext4_journal_stop(handle); in ext4_update_disksize_before_punch()
4377 handle_t *handle; in ext4_punch_hole() local
4462 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_punch_hole()
4463 if (IS_ERR(handle)) { in ext4_punch_hole()
4464 ret = PTR_ERR(handle); in ext4_punch_hole()
4469 ret = ext4_zero_partial_blocks(handle, inode, offset, in ext4_punch_hole()
4495 ret = ext4_ind_remove_space(handle, inode, first_block, in ext4_punch_hole()
4501 ext4_handle_sync(handle); in ext4_punch_hole()
4504 ext4_mark_inode_dirty(handle, inode); in ext4_punch_hole()
4506 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_punch_hole()
4508 ext4_journal_stop(handle); in ext4_punch_hole()
4574 handle_t *handle; in ext4_truncate() local
4614 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_truncate()
4615 if (IS_ERR(handle)) { in ext4_truncate()
4616 err = PTR_ERR(handle); in ext4_truncate()
4621 ext4_block_truncate_page(handle, mapping, inode->i_size); in ext4_truncate()
4632 err = ext4_orphan_add(handle, inode); in ext4_truncate()
4641 err = ext4_ext_truncate(handle, inode); in ext4_truncate()
4643 ext4_ind_truncate(handle, inode); in ext4_truncate()
4650 ext4_handle_sync(handle); in ext4_truncate()
4661 ext4_orphan_del(handle, inode); in ext4_truncate()
4664 ext4_mark_inode_dirty(handle, inode); in ext4_truncate()
4665 ext4_journal_stop(handle); in ext4_truncate()
5288 static int ext4_inode_blocks_set(handle_t *handle, in ext4_inode_blocks_set() argument
5398 static int ext4_do_update_inode(handle_t *handle, in ext4_do_update_inode() argument
5419 err = ext4_inode_blocks_set(handle, raw_inode, ei); in ext4_do_update_inode()
5518 err = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_do_update_inode()
5524 err = ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh); in ext4_do_update_inode()
5528 ext4_handle_sync(handle); in ext4_do_update_inode()
5529 err = ext4_handle_dirty_super(handle, sb); in ext4_do_update_inode()
5531 ext4_update_inode_fsync_trans(handle, inode, need_datasync); in ext4_do_update_inode()
5729 handle_t *handle; in ext4_setattr() local
5733 handle = ext4_journal_start(inode, EXT4_HT_QUOTA, in ext4_setattr()
5736 if (IS_ERR(handle)) { in ext4_setattr()
5737 error = PTR_ERR(handle); in ext4_setattr()
5749 ext4_journal_stop(handle); in ext4_setattr()
5758 error = ext4_mark_inode_dirty(handle, inode); in ext4_setattr()
5759 ext4_journal_stop(handle); in ext4_setattr()
5763 handle_t *handle; in ext4_setattr() local
5803 handle = ext4_journal_start(inode, EXT4_HT_INODE, 3); in ext4_setattr()
5804 if (IS_ERR(handle)) { in ext4_setattr()
5805 error = PTR_ERR(handle); in ext4_setattr()
5808 if (ext4_handle_valid(handle) && shrink) { in ext4_setattr()
5809 error = ext4_orphan_add(handle, inode); in ext4_setattr()
5823 rc = ext4_mark_inode_dirty(handle, inode); in ext4_setattr()
5836 ext4_journal_stop(handle); in ext4_setattr()
6055 int ext4_mark_iloc_dirty(handle_t *handle, in ext4_mark_iloc_dirty() argument
6071 err = ext4_do_update_inode(handle, inode, iloc); in ext4_mark_iloc_dirty()
6082 ext4_reserve_inode_write(handle_t *handle, struct inode *inode, in ext4_reserve_inode_write() argument
6093 err = ext4_journal_get_write_access(handle, iloc->bh); in ext4_reserve_inode_write()
6106 handle_t *handle, int *no_expand) in __ext4_expand_extra_isize() argument
6151 raw_inode, handle); in __ext4_expand_extra_isize()
6169 handle_t *handle) in ext4_try_to_expand_extra_isize() argument
6186 if (ext4_handle_valid(handle) && in ext4_try_to_expand_extra_isize()
6187 jbd2_journal_extend(handle, in ext4_try_to_expand_extra_isize()
6195 handle, &no_expand); in ext4_try_to_expand_extra_isize()
6205 handle_t *handle; in ext4_expand_extra_isize() local
6214 handle = ext4_journal_start(inode, EXT4_HT_INODE, in ext4_expand_extra_isize()
6216 if (IS_ERR(handle)) { in ext4_expand_extra_isize()
6217 error = PTR_ERR(handle); in ext4_expand_extra_isize()
6225 error = ext4_journal_get_write_access(handle, iloc->bh); in ext4_expand_extra_isize()
6232 handle, &no_expand); in ext4_expand_extra_isize()
6234 rc = ext4_mark_iloc_dirty(handle, inode, iloc); in ext4_expand_extra_isize()
6240 ext4_journal_stop(handle); in ext4_expand_extra_isize()
6257 int ext4_mark_inode_dirty(handle_t *handle, struct inode *inode) in ext4_mark_inode_dirty() argument
6265 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_mark_inode_dirty()
6271 iloc, handle); in ext4_mark_inode_dirty()
6273 return ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_mark_inode_dirty()
6296 handle_t *handle; in ext4_dirty_inode() local
6300 handle = ext4_journal_start(inode, EXT4_HT_INODE, 2); in ext4_dirty_inode()
6301 if (IS_ERR(handle)) in ext4_dirty_inode()
6304 ext4_mark_inode_dirty(handle, inode); in ext4_dirty_inode()
6306 ext4_journal_stop(handle); in ext4_dirty_inode()
6314 handle_t *handle; in ext4_change_inode_journal_flag() local
6386 handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); in ext4_change_inode_journal_flag()
6387 if (IS_ERR(handle)) in ext4_change_inode_journal_flag()
6388 return PTR_ERR(handle); in ext4_change_inode_journal_flag()
6390 err = ext4_mark_inode_dirty(handle, inode); in ext4_change_inode_journal_flag()
6391 ext4_handle_sync(handle); in ext4_change_inode_journal_flag()
6392 ext4_journal_stop(handle); in ext4_change_inode_journal_flag()
6398 static int ext4_bh_unmapped(handle_t *handle, struct buffer_head *bh) in ext4_bh_unmapped() argument
6414 handle_t *handle; in ext4_page_mkwrite() local
6476 handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, in ext4_page_mkwrite()
6478 if (IS_ERR(handle)) { in ext4_page_mkwrite()
6484 if (ext4_walk_page_buffers(handle, page_buffers(page), 0, in ext4_page_mkwrite()
6488 ext4_journal_stop(handle); in ext4_page_mkwrite()
6493 ext4_journal_stop(handle); in ext4_page_mkwrite()