• Home
  • Raw
  • Download

Lines Matching refs:handle

53 static struct buffer_head *ext4_append(handle_t *handle,  in ext4_append()  argument
83 bh = ext4_bread(handle, inode, *block, EXT4_GET_BLOCKS_CREATE); in ext4_append()
89 err = ext4_journal_get_write_access(handle, bh); in ext4_append()
310 static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
418 int ext4_handle_dirty_dirblock(handle_t *handle, in ext4_handle_dirty_dirblock() argument
423 return ext4_handle_dirty_metadata(handle, inode, bh); in ext4_handle_dirty_dirblock()
529 static inline int ext4_handle_dirty_dx_node(handle_t *handle, in ext4_handle_dirty_dx_node() argument
534 return ext4_handle_dirty_metadata(handle, inode, bh); in ext4_handle_dirty_dx_node()
1934 static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir, in do_split() argument
1954 bh2 = ext4_append(handle, dir, &newblock); in do_split()
1962 err = ext4_journal_get_write_access(handle, *bh); in do_split()
1967 err = ext4_journal_get_write_access(handle, frame->bh); in do_split()
2036 err = ext4_handle_dirty_dirblock(handle, dir, bh2); in do_split()
2039 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh); in do_split()
2128 static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname, in add_dirent_to_buf() argument
2147 err = ext4_journal_get_write_access(handle, bh); in add_dirent_to_buf()
2170 ext4_mark_inode_dirty(handle, dir); in add_dirent_to_buf()
2172 err = ext4_handle_dirty_dirblock(handle, dir, bh); in add_dirent_to_buf()
2182 static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname, in make_indexed_dir() argument
2205 retval = ext4_journal_get_write_access(handle, bh); in make_indexed_dir()
2225 bh2 = ext4_append(handle, dir, &block); in make_indexed_dir()
2286 retval = ext4_handle_dirty_dx_node(handle, dir, frame->bh); in make_indexed_dir()
2289 retval = ext4_handle_dirty_dirblock(handle, dir, bh2); in make_indexed_dir()
2293 de = do_split(handle,dir, &bh2, frame, &fname->hinfo); in make_indexed_dir()
2299 retval = add_dirent_to_buf(handle, fname, dir, inode, de, bh2); in make_indexed_dir()
2307 ext4_mark_inode_dirty(handle, dir); in make_indexed_dir()
2323 static int ext4_add_entry(handle_t *handle, struct dentry *dentry, in ext4_add_entry() argument
2359 retval = ext4_try_add_inline_entry(handle, &fname, dir, inode); in ext4_add_entry()
2369 retval = ext4_dx_add_entry(handle, &fname, dir, inode); in ext4_add_entry()
2381 ext4_mark_inode_dirty(handle, dir); in ext4_add_entry()
2387 bh = ext4_bread(handle, dir, block, in ext4_add_entry()
2396 retval = add_dirent_to_buf(handle, &fname, dir, inode, in ext4_add_entry()
2403 retval = make_indexed_dir(handle, &fname, dir, in ext4_add_entry()
2410 bh = ext4_append(handle, dir, &block); in ext4_add_entry()
2424 retval = add_dirent_to_buf(handle, &fname, dir, inode, de, bh); in ext4_add_entry()
2436 static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname, in ext4_dx_add_entry() argument
2462 err = ext4_journal_get_write_access(handle, bh); in ext4_dx_add_entry()
2466 err = add_dirent_to_buf(handle, fname, dir, inode, NULL, bh); in ext4_dx_add_entry()
2508 bh2 = ext4_append(handle, dir, &newblock); in ext4_dx_add_entry()
2519 err = ext4_journal_get_write_access(handle, frame->bh); in ext4_dx_add_entry()
2529 err = ext4_journal_get_write_access(handle, in ext4_dx_add_entry()
2550 err = ext4_handle_dirty_dx_node(handle, dir, bh2); in ext4_dx_add_entry()
2554 err = ext4_handle_dirty_dx_node(handle, dir, in ext4_dx_add_entry()
2558 err = ext4_handle_dirty_dx_node(handle, dir, in ext4_dx_add_entry()
2576 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh); in ext4_dx_add_entry()
2579 err = ext4_handle_dirty_dx_node(handle, dir, bh2); in ext4_dx_add_entry()
2585 de = do_split(handle, dir, &bh, frame, &fname->hinfo); in ext4_dx_add_entry()
2590 err = add_dirent_to_buf(handle, fname, dir, inode, de, bh); in ext4_dx_add_entry()
2610 int ext4_generic_delete_entry(handle_t *handle, in ext4_generic_delete_entry() argument
2649 static int ext4_delete_entry(handle_t *handle, in ext4_delete_entry() argument
2658 err = ext4_delete_inline_entry(handle, dir, de_del, bh, in ext4_delete_entry()
2668 err = ext4_journal_get_write_access(handle, bh); in ext4_delete_entry()
2672 err = ext4_generic_delete_entry(handle, dir, de_del, in ext4_delete_entry()
2679 err = ext4_handle_dirty_dirblock(handle, dir, bh); in ext4_delete_entry()
2701 static void ext4_inc_count(handle_t *handle, struct inode *inode) in ext4_inc_count() argument
2713 static void ext4_dec_count(handle_t *handle, struct inode *inode) in ext4_dec_count() argument
2720 static int ext4_add_nondir(handle_t *handle, in ext4_add_nondir() argument
2723 int err = ext4_add_entry(handle, dentry, inode); in ext4_add_nondir()
2725 ext4_mark_inode_dirty(handle, inode); in ext4_add_nondir()
2746 handle_t *handle; in ext4_create() local
2759 handle = ext4_journal_current_handle(); in ext4_create()
2765 err = ext4_add_nondir(handle, dentry, inode); in ext4_create()
2767 ext4_handle_sync(handle); in ext4_create()
2769 if (handle) in ext4_create()
2770 ext4_journal_stop(handle); in ext4_create()
2779 handle_t *handle; in ext4_mknod() local
2792 handle = ext4_journal_current_handle(); in ext4_mknod()
2797 err = ext4_add_nondir(handle, dentry, inode); in ext4_mknod()
2799 ext4_handle_sync(handle); in ext4_mknod()
2801 if (handle) in ext4_mknod()
2802 ext4_journal_stop(handle); in ext4_mknod()
2810 handle_t *handle; in ext4_tmpfile() local
2824 handle = ext4_journal_current_handle(); in ext4_tmpfile()
2831 err = ext4_orphan_add(handle, inode); in ext4_tmpfile()
2837 if (handle) in ext4_tmpfile()
2838 ext4_journal_stop(handle); in ext4_tmpfile()
2843 ext4_journal_stop(handle); in ext4_tmpfile()
2877 static int ext4_init_new_dir(handle_t *handle, struct inode *dir, in ext4_init_new_dir() argument
2891 err = ext4_try_create_inline_dir(handle, dir, inode); in ext4_init_new_dir()
2899 dir_block = ext4_append(handle, inode, &block); in ext4_init_new_dir()
2909 err = ext4_handle_dirty_dirblock(handle, inode, dir_block); in ext4_init_new_dir()
2920 handle_t *handle; in ext4_mkdir() local
2937 handle = ext4_journal_current_handle(); in ext4_mkdir()
2944 err = ext4_init_new_dir(handle, dir, inode); in ext4_mkdir()
2947 err = ext4_mark_inode_dirty(handle, inode); in ext4_mkdir()
2949 err = ext4_add_entry(handle, dentry, inode); in ext4_mkdir()
2954 ext4_mark_inode_dirty(handle, inode); in ext4_mkdir()
2958 ext4_inc_count(handle, dir); in ext4_mkdir()
2960 err = ext4_mark_inode_dirty(handle, dir); in ext4_mkdir()
2965 ext4_handle_sync(handle); in ext4_mkdir()
2968 if (handle) in ext4_mkdir()
2969 ext4_journal_stop(handle); in ext4_mkdir()
3064 int ext4_orphan_add(handle_t *handle, struct inode *inode) in ext4_orphan_add() argument
3094 err = ext4_journal_get_write_access(handle, sbi->s_sbh); in ext4_orphan_add()
3098 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_orphan_add()
3118 err = ext4_handle_dirty_super(handle, sb); in ext4_orphan_add()
3119 rc = ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_orphan_add()
3147 int ext4_orphan_del(handle_t *handle, struct inode *inode) in ext4_orphan_del() argument
3165 if (handle) { in ext4_orphan_del()
3167 err = ext4_reserve_inode_write(handle, inode, &iloc); in ext4_orphan_del()
3180 if (!handle || err) { in ext4_orphan_del()
3189 err = ext4_journal_get_write_access(handle, sbi->s_sbh); in ext4_orphan_del()
3196 err = ext4_handle_dirty_super(handle, inode->i_sb); in ext4_orphan_del()
3204 err = ext4_reserve_inode_write(handle, i_prev, &iloc2); in ext4_orphan_del()
3210 err = ext4_mark_iloc_dirty(handle, i_prev, &iloc2); in ext4_orphan_del()
3216 err = ext4_mark_iloc_dirty(handle, inode, &iloc); in ext4_orphan_del()
3232 handle_t *handle = NULL; in ext4_rmdir() local
3263 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_rmdir()
3265 if (IS_ERR(handle)) { in ext4_rmdir()
3266 retval = PTR_ERR(handle); in ext4_rmdir()
3267 handle = NULL; in ext4_rmdir()
3272 ext4_handle_sync(handle); in ext4_rmdir()
3274 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_rmdir()
3288 ext4_orphan_add(handle, inode); in ext4_rmdir()
3290 ext4_mark_inode_dirty(handle, inode); in ext4_rmdir()
3291 ext4_dec_count(handle, dir); in ext4_rmdir()
3293 ext4_mark_inode_dirty(handle, dir); in ext4_rmdir()
3308 if (handle) in ext4_rmdir()
3309 ext4_journal_stop(handle); in ext4_rmdir()
3319 handle_t *handle = NULL; in ext4_unlink() local
3347 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_unlink()
3349 if (IS_ERR(handle)) { in ext4_unlink()
3350 retval = PTR_ERR(handle); in ext4_unlink()
3351 handle = NULL; in ext4_unlink()
3356 ext4_handle_sync(handle); in ext4_unlink()
3358 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_unlink()
3363 ext4_mark_inode_dirty(handle, dir); in ext4_unlink()
3370 ext4_orphan_add(handle, inode); in ext4_unlink()
3372 ext4_mark_inode_dirty(handle, inode); in ext4_unlink()
3387 if (handle) in ext4_unlink()
3388 ext4_journal_stop(handle); in ext4_unlink()
3396 handle_t *handle; in ext4_symlink() local
3437 handle = ext4_journal_current_handle(); in ext4_symlink()
3439 if (handle) in ext4_symlink()
3440 ext4_journal_stop(handle); in ext4_symlink()
3467 err = ext4_orphan_add(handle, inode); in ext4_symlink()
3468 ext4_journal_stop(handle); in ext4_symlink()
3469 handle = NULL; in ext4_symlink()
3479 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_symlink()
3482 if (IS_ERR(handle)) { in ext4_symlink()
3483 err = PTR_ERR(handle); in ext4_symlink()
3484 handle = NULL; in ext4_symlink()
3488 err = ext4_orphan_del(handle, inode); in ext4_symlink()
3503 err = ext4_add_nondir(handle, dentry, inode); in ext4_symlink()
3505 ext4_handle_sync(handle); in ext4_symlink()
3507 if (handle) in ext4_symlink()
3508 ext4_journal_stop(handle); in ext4_symlink()
3512 if (handle) in ext4_symlink()
3513 ext4_journal_stop(handle); in ext4_symlink()
3526 handle_t *handle; in ext4_link() local
3547 handle = ext4_journal_start(dir, EXT4_HT_DIR, in ext4_link()
3550 if (IS_ERR(handle)) in ext4_link()
3551 return PTR_ERR(handle); in ext4_link()
3554 ext4_handle_sync(handle); in ext4_link()
3557 ext4_inc_count(handle, inode); in ext4_link()
3560 err = ext4_add_entry(handle, dentry, inode); in ext4_link()
3562 ext4_mark_inode_dirty(handle, inode); in ext4_link()
3567 ext4_orphan_del(handle, inode); in ext4_link()
3573 ext4_journal_stop(handle); in ext4_link()
3585 static struct buffer_head *ext4_get_first_dir_block(handle_t *handle, in ext4_get_first_dir_block() argument
3654 static int ext4_rename_dir_prepare(handle_t *handle, struct ext4_renament *ent) in ext4_rename_dir_prepare() argument
3658 ent->dir_bh = ext4_get_first_dir_block(handle, ent->inode, in ext4_rename_dir_prepare()
3666 return ext4_journal_get_write_access(handle, ent->dir_bh); in ext4_rename_dir_prepare()
3669 static int ext4_rename_dir_finish(handle_t *handle, struct ext4_renament *ent, in ext4_rename_dir_finish() argument
3678 retval = ext4_handle_dirty_dx_node(handle, in ext4_rename_dir_finish()
3682 retval = ext4_handle_dirty_dirblock(handle, ent->inode, in ext4_rename_dir_finish()
3686 retval = ext4_mark_inode_dirty(handle, ent->inode); in ext4_rename_dir_finish()
3695 static int ext4_setent(handle_t *handle, struct ext4_renament *ent, in ext4_setent() argument
3701 retval = ext4_journal_get_write_access(handle, ent->bh); in ext4_setent()
3710 ext4_mark_inode_dirty(handle, ent->dir); in ext4_setent()
3713 retval = ext4_handle_dirty_dirblock(handle, ent->dir, ent->bh); in ext4_setent()
3723 static void ext4_resetent(handle_t *handle, struct ext4_renament *ent, in ext4_resetent() argument
3745 ext4_setent(handle, &old, ino, file_type); in ext4_resetent()
3749 static int ext4_find_delete_entry(handle_t *handle, struct inode *dir, in ext4_find_delete_entry() argument
3760 retval = ext4_delete_entry(handle, dir, de, bh); in ext4_find_delete_entry()
3766 static void ext4_rename_delete(handle_t *handle, struct ext4_renament *ent, in ext4_rename_delete() argument
3781 retval = ext4_find_delete_entry(handle, ent->dir, in ext4_rename_delete()
3784 retval = ext4_delete_entry(handle, ent->dir, ent->de, ent->bh); in ext4_rename_delete()
3786 retval = ext4_find_delete_entry(handle, ent->dir, in ext4_rename_delete()
3798 static void ext4_update_dir_count(handle_t *handle, struct ext4_renament *ent) in ext4_update_dir_count() argument
3802 ext4_dec_count(handle, ent->dir); in ext4_update_dir_count()
3804 ext4_inc_count(handle, ent->dir); in ext4_update_dir_count()
3805 ext4_mark_inode_dirty(handle, ent->dir); in ext4_update_dir_count()
3813 handle_t *handle; in ext4_whiteout_for_rename() local
3827 handle = ext4_journal_current_handle(); in ext4_whiteout_for_rename()
3829 if (handle) in ext4_whiteout_for_rename()
3830 ext4_journal_stop(handle); in ext4_whiteout_for_rename()
3835 *h = handle; in ext4_whiteout_for_rename()
3854 handle_t *handle = NULL; in ext4_rename() local
3934 handle = ext4_journal_start(old.dir, EXT4_HT_DIR, credits); in ext4_rename()
3935 if (IS_ERR(handle)) { in ext4_rename()
3936 retval = PTR_ERR(handle); in ext4_rename()
3940 whiteout = ext4_whiteout_for_rename(&old, credits, &handle); in ext4_rename()
3949 ext4_handle_sync(handle); in ext4_rename()
3961 retval = ext4_rename_dir_prepare(handle, &old); in ext4_rename()
3980 retval = ext4_setent(handle, &old, whiteout->i_ino, in ext4_rename()
3984 ext4_mark_inode_dirty(handle, whiteout); in ext4_rename()
3987 retval = ext4_add_entry(handle, new.dentry, old.inode); in ext4_rename()
3991 retval = ext4_setent(handle, &new, in ext4_rename()
4005 ext4_mark_inode_dirty(handle, old.inode); in ext4_rename()
4011 ext4_rename_delete(handle, &old, force_reread); in ext4_rename()
4015 ext4_dec_count(handle, new.inode); in ext4_rename()
4021 retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino); in ext4_rename()
4025 ext4_dec_count(handle, old.dir); in ext4_rename()
4032 ext4_inc_count(handle, new.dir); in ext4_rename()
4034 ext4_mark_inode_dirty(handle, new.dir); in ext4_rename()
4037 ext4_mark_inode_dirty(handle, old.dir); in ext4_rename()
4039 ext4_mark_inode_dirty(handle, new.inode); in ext4_rename()
4041 ext4_orphan_add(handle, new.inode); in ext4_rename()
4048 ext4_resetent(handle, &old, in ext4_rename()
4051 ext4_orphan_add(handle, whiteout); in ext4_rename()
4054 ext4_journal_stop(handle); in ext4_rename()
4057 ext4_journal_stop(handle); in ext4_rename()
4070 handle_t *handle = NULL; in ext4_cross_rename() local
4126 handle = ext4_journal_start(old.dir, EXT4_HT_DIR, in ext4_cross_rename()
4129 if (IS_ERR(handle)) { in ext4_cross_rename()
4130 retval = PTR_ERR(handle); in ext4_cross_rename()
4131 handle = NULL; in ext4_cross_rename()
4136 ext4_handle_sync(handle); in ext4_cross_rename()
4140 retval = ext4_rename_dir_prepare(handle, &old); in ext4_cross_rename()
4146 retval = ext4_rename_dir_prepare(handle, &new); in ext4_cross_rename()
4165 retval = ext4_setent(handle, &new, old.inode->i_ino, old.de->file_type); in ext4_cross_rename()
4169 retval = ext4_setent(handle, &old, new.inode->i_ino, new_file_type); in ext4_cross_rename()
4180 ext4_mark_inode_dirty(handle, old.inode); in ext4_cross_rename()
4181 ext4_mark_inode_dirty(handle, new.inode); in ext4_cross_rename()
4184 retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino); in ext4_cross_rename()
4189 retval = ext4_rename_dir_finish(handle, &new, old.dir->i_ino); in ext4_cross_rename()
4193 ext4_update_dir_count(handle, &old); in ext4_cross_rename()
4194 ext4_update_dir_count(handle, &new); in ext4_cross_rename()
4202 if (handle) in ext4_cross_rename()
4203 ext4_journal_stop(handle); in ext4_cross_rename()