Lines Matching refs:handle

50 static struct buffer_head *ext4_append(handle_t *handle,  in ext4_append()  argument
64 bh = ext4_bread(handle, inode, *block, 1); in ext4_append()
70 err = ext4_journal_get_write_access(handle, bh); in ext4_append()
272 static int ext4_dx_add_entry(handle_t *handle, struct dentry *dentry,
374 int ext4_handle_dirty_dirent_node(handle_t *handle, in ext4_handle_dirty_dirent_node() argument
379 return ext4_handle_dirty_metadata(handle, inode, bh); in ext4_handle_dirty_dirent_node()
485 static inline int ext4_handle_dirty_dx_node(handle_t *handle, in ext4_handle_dirty_dx_node() argument
490 return ext4_handle_dirty_metadata(handle, inode, bh); in ext4_handle_dirty_dx_node()
1686 static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir, in do_split() argument
1706 bh2 = ext4_append(handle, dir, &newblock); in do_split()
1714 err = ext4_journal_get_write_access(handle, *bh); in do_split()
1719 err = ext4_journal_get_write_access(handle, frame->bh); in do_split()
1778 err = ext4_handle_dirty_dirent_node(handle, dir, bh2); in do_split()
1781 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh); in do_split()
1927 static int add_dirent_to_buf(handle_t *handle, struct dentry *dentry, in add_dirent_to_buf() argument
1949 err = ext4_journal_get_write_access(handle, bh); in add_dirent_to_buf()
1976 ext4_mark_inode_dirty(handle, dir); in add_dirent_to_buf()
1978 err = ext4_handle_dirty_dirent_node(handle, dir, bh); in add_dirent_to_buf()
1988 static int make_indexed_dir(handle_t *handle, struct dentry *dentry, in make_indexed_dir() argument
2026 retval = ext4_journal_get_write_access(handle, bh); in make_indexed_dir()
2046 bh2 = ext4_append(handle, dir, &block); in make_indexed_dir()
2089 ext4_mark_inode_dirty(handle, dir); in make_indexed_dir()
2104 retval = ext4_handle_dirty_dx_node(handle, dir, frame->bh); in make_indexed_dir()
2107 retval = ext4_handle_dirty_dirent_node(handle, dir, bh); in make_indexed_dir()
2111 de = do_split(handle,dir, &bh, frame, &hinfo); in make_indexed_dir()
2118 retval = add_dirent_to_buf(handle, dentry, inode, de, bh); in make_indexed_dir()
2127 ext4_mark_inode_dirty(handle, dir); in make_indexed_dir()
2142 static int ext4_add_entry(handle_t *handle, struct dentry *dentry, in ext4_add_entry() argument
2165 retval = ext4_try_add_inline_entry(handle, dentry, inode); in ext4_add_entry()
2175 retval = ext4_dx_add_entry(handle, dentry, inode); in ext4_add_entry()
2180 ext4_mark_inode_dirty(handle, dir); in ext4_add_entry()
2188 retval = add_dirent_to_buf(handle, dentry, inode, NULL, bh); in ext4_add_entry()
2194 retval = make_indexed_dir(handle, dentry, inode, bh); in ext4_add_entry()
2200 bh = ext4_append(handle, dir, &block); in ext4_add_entry()
2212 retval = add_dirent_to_buf(handle, dentry, inode, de, bh); in ext4_add_entry()
2223 static int ext4_dx_add_entry(handle_t *handle, struct dentry *dentry, in ext4_dx_add_entry() argument
2248 err = ext4_journal_get_write_access(handle, bh); in ext4_dx_add_entry()
2252 err = add_dirent_to_buf(handle, dentry, inode, NULL, bh); in ext4_dx_add_entry()
2274 bh2 = ext4_append(handle, dir, &newblock); in ext4_dx_add_entry()
2285 err = ext4_journal_get_write_access(handle, frame->bh); in ext4_dx_add_entry()
2295 err = ext4_journal_get_write_access(handle, in ext4_dx_add_entry()
2316 err = ext4_handle_dirty_dx_node(handle, dir, bh2); in ext4_dx_add_entry()
2337 err = ext4_journal_get_write_access(handle, in ext4_dx_add_entry()
2342 err = ext4_handle_dirty_dx_node(handle, dir, frames[0].bh); in ext4_dx_add_entry()
2348 de = do_split(handle, dir, &bh, frame, &hinfo); in ext4_dx_add_entry()
2353 err = add_dirent_to_buf(handle, dentry, inode, de, bh); in ext4_dx_add_entry()
2368 int ext4_generic_delete_entry(handle_t *handle, in ext4_generic_delete_entry() argument
2407 static int ext4_delete_entry(handle_t *handle, in ext4_delete_entry() argument
2416 err = ext4_delete_inline_entry(handle, dir, de_del, bh, in ext4_delete_entry()
2426 err = ext4_journal_get_write_access(handle, bh); in ext4_delete_entry()
2430 err = ext4_generic_delete_entry(handle, dir, de_del, in ext4_delete_entry()
2437 err = ext4_handle_dirty_dirent_node(handle, dir, bh); in ext4_delete_entry()
2452 static void ext4_inc_count(handle_t *handle, struct inode *inode) in ext4_inc_count() argument
2469 static void ext4_dec_count(handle_t *handle, struct inode *inode) in ext4_dec_count() argument
2476 static int ext4_add_nondir(handle_t *handle, in ext4_add_nondir() argument
2479 int err = ext4_add_entry(handle, dentry, inode); in ext4_add_nondir()
2481 ext4_mark_inode_dirty(handle, inode); in ext4_add_nondir()
2503 handle_t *handle; in ext4_create() local
2514 handle = ext4_journal_current_handle(); in ext4_create()
2533 err = ext4_add_nondir(handle, dentry, inode); in ext4_create()
2535 ext4_handle_sync(handle); in ext4_create()
2537 if (handle) in ext4_create()
2538 ext4_journal_stop(handle); in ext4_create()
2547 handle_t *handle; in ext4_mknod() local
2561 handle = ext4_journal_current_handle(); in ext4_mknod()
2566 err = ext4_add_nondir(handle, dentry, inode); in ext4_mknod()
2568 ext4_handle_sync(handle); in ext4_mknod()
2570 if (handle) in ext4_mknod()
2571 ext4_journal_stop(handle); in ext4_mknod()
2579 handle_t *handle; in ext4_tmpfile() local
2591 handle = ext4_journal_current_handle(); in ext4_tmpfile()
2598 err = ext4_orphan_add(handle, inode); in ext4_tmpfile()
2604 if (handle) in ext4_tmpfile()
2605 ext4_journal_stop(handle); in ext4_tmpfile()
2610 ext4_journal_stop(handle); in ext4_tmpfile()
2643 static int ext4_init_new_dir(handle_t *handle, struct inode *dir, in ext4_init_new_dir() argument
2658 err = ext4_try_create_inline_dir(handle, dir, inode); in ext4_init_new_dir()
2666 dir_block = ext4_append(handle, inode, &block); in ext4_init_new_dir()
2678 err = ext4_handle_dirty_dirent_node(handle, inode, dir_block); in ext4_init_new_dir()
2689 handle_t *handle; in ext4_mkdir() local
2704 handle = ext4_journal_current_handle(); in ext4_mkdir()
2711 err = ext4_init_new_dir(handle, dir, inode); in ext4_mkdir()
2722 err = ext4_mark_inode_dirty(handle, inode); in ext4_mkdir()
2724 err = ext4_add_entry(handle, dentry, inode); in ext4_mkdir()
2729 ext4_mark_inode_dirty(handle, inode); in ext4_mkdir()
2733 ext4_inc_count(handle, dir); in ext4_mkdir()
2735 err = ext4_mark_inode_dirty(handle, dir); in ext4_mkdir()
2741 ext4_handle_sync(handle); in ext4_mkdir()
2744 if (handle) in ext4_mkdir()
2745 ext4_journal_stop(handle); in ext4_mkdir()
2835 int ext4_orphan_add(handle_t *handle, struct inode *inode) in ext4_orphan_add() argument
2865 err = ext4_journal_get_write_access(handle, sbi->s_sbh); in ext4_orphan_add()
2869 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_orphan_add()
2889 err = ext4_handle_dirty_super(handle, sb); in ext4_orphan_add()
2890 rc = ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_orphan_add()
2916 int ext4_orphan_del(handle_t *handle, struct inode *inode) in ext4_orphan_del() argument
2934 if (handle) { in ext4_orphan_del()
2936 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_orphan_del()
2949 if (!handle || err) { in ext4_orphan_del()
2958 err = ext4_journal_get_write_access(handle, sbi->s_sbh); in ext4_orphan_del()
2965 err = ext4_handle_dirty_super(handle, inode->i_sb); in ext4_orphan_del()
2973 err = ext4_reserve_inode_write(handle, i_prev, &iloc2); in ext4_orphan_del()
2979 err = ext4_mark_iloc_dirty(handle, i_prev, &iloc2); in ext4_orphan_del()
2985 err = ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_orphan_del()
3001 handle_t *handle = NULL; in ext4_rmdir() local
3025 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_rmdir()
3027 if (IS_ERR(handle)) { in ext4_rmdir()
3028 retval = PTR_ERR(handle); in ext4_rmdir()
3029 handle = NULL; in ext4_rmdir()
3034 ext4_handle_sync(handle); in ext4_rmdir()
3036 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_rmdir()
3049 ext4_orphan_add(handle, inode); in ext4_rmdir()
3051 ext4_mark_inode_dirty(handle, inode); in ext4_rmdir()
3052 ext4_dec_count(handle, dir); in ext4_rmdir()
3054 ext4_mark_inode_dirty(handle, dir); in ext4_rmdir()
3058 if (handle) in ext4_rmdir()
3059 ext4_journal_stop(handle); in ext4_rmdir()
3069 handle_t *handle = NULL; in ext4_unlink() local
3090 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_unlink()
3092 if (IS_ERR(handle)) { in ext4_unlink()
3093 retval = PTR_ERR(handle); in ext4_unlink()
3094 handle = NULL; in ext4_unlink()
3099 ext4_handle_sync(handle); in ext4_unlink()
3107 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_unlink()
3112 ext4_mark_inode_dirty(handle, dir); in ext4_unlink()
3115 ext4_orphan_add(handle, inode); in ext4_unlink()
3117 ext4_mark_inode_dirty(handle, inode); in ext4_unlink()
3121 if (handle) in ext4_unlink()
3122 ext4_journal_stop(handle); in ext4_unlink()
3130 handle_t *handle; in ext4_symlink() local
3173 handle = ext4_journal_current_handle(); in ext4_symlink()
3175 if (handle) in ext4_symlink()
3176 ext4_journal_stop(handle); in ext4_symlink()
3225 err = ext4_orphan_add(handle, inode); in ext4_symlink()
3226 ext4_journal_stop(handle); in ext4_symlink()
3227 handle = NULL; in ext4_symlink()
3237 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_symlink()
3240 if (IS_ERR(handle)) { in ext4_symlink()
3241 err = PTR_ERR(handle); in ext4_symlink()
3242 handle = NULL; in ext4_symlink()
3246 err = ext4_orphan_del(handle, inode); in ext4_symlink()
3260 err = ext4_add_nondir(handle, dentry, inode); in ext4_symlink()
3262 ext4_handle_sync(handle); in ext4_symlink()
3264 if (handle) in ext4_symlink()
3265 ext4_journal_stop(handle); in ext4_symlink()
3269 if (handle) in ext4_symlink()
3270 ext4_journal_stop(handle); in ext4_symlink()
3281 handle_t *handle; in ext4_link() local
3293 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_link()
3296 if (IS_ERR(handle)) in ext4_link()
3297 return PTR_ERR(handle); in ext4_link()
3300 ext4_handle_sync(handle); in ext4_link()
3303 ext4_inc_count(handle, inode); in ext4_link()
3306 err = ext4_add_entry(handle, dentry, inode); in ext4_link()
3308 ext4_mark_inode_dirty(handle, inode); in ext4_link()
3313 ext4_orphan_del(handle, inode); in ext4_link()
3319 ext4_journal_stop(handle); in ext4_link()
3331 static struct buffer_head *ext4_get_first_dir_block(handle_t *handle, in ext4_get_first_dir_block() argument
3373 static int ext4_rename_dir_prepare(handle_t *handle, struct ext4_renament *ent) in ext4_rename_dir_prepare() argument
3377 ent->dir_bh = ext4_get_first_dir_block(handle, ent->inode, in ext4_rename_dir_prepare()
3385 return ext4_journal_get_write_access(handle, ent->dir_bh); in ext4_rename_dir_prepare()
3388 static int ext4_rename_dir_finish(handle_t *handle, struct ext4_renament *ent, in ext4_rename_dir_finish() argument
3397 retval = ext4_handle_dirty_dx_node(handle, in ext4_rename_dir_finish()
3401 retval = ext4_handle_dirty_dirent_node(handle, in ext4_rename_dir_finish()
3406 retval = ext4_mark_inode_dirty(handle, ent->inode); in ext4_rename_dir_finish()
3415 static int ext4_setent(handle_t *handle, struct ext4_renament *ent, in ext4_setent() argument
3421 retval = ext4_journal_get_write_access(handle, ent->bh); in ext4_setent()
3431 ext4_mark_inode_dirty(handle, ent->dir); in ext4_setent()
3434 retval = ext4_handle_dirty_dirent_node(handle, in ext4_setent()
3447 static int ext4_find_delete_entry(handle_t *handle, struct inode *dir, in ext4_find_delete_entry() argument
3458 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_find_delete_entry()
3464 static void ext4_rename_delete(handle_t *handle, struct ext4_renament *ent, in ext4_rename_delete() argument
3479 retval = ext4_find_delete_entry(handle, ent->dir, in ext4_rename_delete()
3482 retval = ext4_delete_entry(handle, ent->dir, ent->de, ent->bh); in ext4_rename_delete()
3484 retval = ext4_find_delete_entry(handle, ent->dir, in ext4_rename_delete()
3496 static void ext4_update_dir_count(handle_t *handle, struct ext4_renament *ent) in ext4_update_dir_count() argument
3500 ext4_dec_count(handle, ent->dir); in ext4_update_dir_count()
3502 ext4_inc_count(handle, ent->dir); in ext4_update_dir_count()
3503 ext4_mark_inode_dirty(handle, ent->dir); in ext4_update_dir_count()
3511 handle_t *handle; in ext4_whiteout_for_rename() local
3525 handle = ext4_journal_current_handle(); in ext4_whiteout_for_rename()
3527 if (handle) in ext4_whiteout_for_rename()
3528 ext4_journal_stop(handle); in ext4_whiteout_for_rename()
3533 *h = handle; in ext4_whiteout_for_rename()
3552 handle_t *handle = NULL; in ext4_rename() local
3617 handle = ext4_journal_start(old.dir, EXT4_HT_DIR, credits); in ext4_rename()
3618 if (IS_ERR(handle)) { in ext4_rename()
3619 retval = PTR_ERR(handle); in ext4_rename()
3620 handle = NULL; in ext4_rename()
3624 whiteout = ext4_whiteout_for_rename(&old, credits, &handle); in ext4_rename()
3633 ext4_handle_sync(handle); in ext4_rename()
3645 retval = ext4_rename_dir_prepare(handle, &old); in ext4_rename()
3665 retval = ext4_setent(handle, &old, whiteout->i_ino, in ext4_rename()
3669 ext4_mark_inode_dirty(handle, whiteout); in ext4_rename()
3672 retval = ext4_add_entry(handle, new.dentry, old.inode); in ext4_rename()
3676 retval = ext4_setent(handle, &new, in ext4_rename()
3690 ext4_mark_inode_dirty(handle, old.inode); in ext4_rename()
3696 ext4_rename_delete(handle, &old, force_reread); in ext4_rename()
3700 ext4_dec_count(handle, new.inode); in ext4_rename()
3706 retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino); in ext4_rename()
3710 ext4_dec_count(handle, old.dir); in ext4_rename()
3717 ext4_inc_count(handle, new.dir); in ext4_rename()
3719 ext4_mark_inode_dirty(handle, new.dir); in ext4_rename()
3722 ext4_mark_inode_dirty(handle, old.dir); in ext4_rename()
3724 ext4_mark_inode_dirty(handle, new.inode); in ext4_rename()
3726 ext4_orphan_add(handle, new.inode); in ext4_rename()
3740 if (handle) in ext4_rename()
3741 ext4_journal_stop(handle); in ext4_rename()
3748 handle_t *handle = NULL; in ext4_cross_rename() local
3791 handle = ext4_journal_start(old.dir, EXT4_HT_DIR, in ext4_cross_rename()
3794 if (IS_ERR(handle)) { in ext4_cross_rename()
3795 retval = PTR_ERR(handle); in ext4_cross_rename()
3796 handle = NULL; in ext4_cross_rename()
3801 ext4_handle_sync(handle); in ext4_cross_rename()
3805 retval = ext4_rename_dir_prepare(handle, &old); in ext4_cross_rename()
3811 retval = ext4_rename_dir_prepare(handle, &new); in ext4_cross_rename()
3830 retval = ext4_setent(handle, &new, old.inode->i_ino, old.de->file_type); in ext4_cross_rename()
3834 retval = ext4_setent(handle, &old, new.inode->i_ino, new_file_type); in ext4_cross_rename()
3844 ext4_mark_inode_dirty(handle, old.inode); in ext4_cross_rename()
3845 ext4_mark_inode_dirty(handle, new.inode); in ext4_cross_rename()
3848 retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino); in ext4_cross_rename()
3853 retval = ext4_rename_dir_finish(handle, &new, old.dir->i_ino); in ext4_cross_rename()
3857 ext4_update_dir_count(handle, &old); in ext4_cross_rename()
3858 ext4_update_dir_count(handle, &new); in ext4_cross_rename()
3866 if (handle) in ext4_cross_rename()
3867 ext4_journal_stop(handle); in ext4_cross_rename()