Lines Matching defs:handle
53 static struct buffer_head *ext4_append(handle_t *handle,
83 bh = ext4_bread(handle, inode, *block, EXT4_GET_BLOCKS_CREATE);
88 err = ext4_mark_inode_dirty(handle, inode);
92 err = ext4_journal_get_write_access(handle, inode->i_sb, bh,
326 static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
434 int ext4_handle_dirty_dirblock(handle_t *handle,
439 return ext4_handle_dirty_metadata(handle, inode, bh);
545 static inline int ext4_handle_dirty_dx_node(handle_t *handle,
550 return ext4_handle_dirty_metadata(handle, inode, bh);
1974 static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
1994 bh2 = ext4_append(handle, dir, &newblock);
2002 err = ext4_journal_get_write_access(handle, dir->i_sb, *bh,
2008 err = ext4_journal_get_write_access(handle, dir->i_sb, frame->bh,
2078 err = ext4_handle_dirty_dirblock(handle, dir, bh2);
2081 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
2170 static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
2189 err = ext4_journal_get_write_access(handle, dir->i_sb, bh,
2213 err2 = ext4_mark_inode_dirty(handle, dir);
2215 err = ext4_handle_dirty_dirblock(handle, dir, bh);
2225 static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
2248 retval = ext4_journal_get_write_access(handle, dir->i_sb, bh,
2269 bh2 = ext4_append(handle, dir, &block);
2336 retval = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
2339 retval = ext4_handle_dirty_dirblock(handle, dir, bh2);
2343 de = do_split(handle,dir, &bh2, frame, &fname->hinfo);
2349 retval = add_dirent_to_buf(handle, fname, dir, inode, de, bh2);
2357 ext4_mark_inode_dirty(handle, dir);
2373 static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
2409 retval = ext4_try_add_inline_entry(handle, &fname, dir, inode);
2419 retval = ext4_dx_add_entry(handle, &fname, dir, inode);
2431 retval = ext4_mark_inode_dirty(handle, dir);
2439 bh = ext4_bread(handle, dir, block,
2448 retval = add_dirent_to_buf(handle, &fname, dir, inode,
2455 retval = make_indexed_dir(handle, &fname, dir,
2462 bh = ext4_append(handle, dir, &block);
2476 retval = add_dirent_to_buf(handle, &fname, dir, inode, de, bh);
2488 static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
2514 err = ext4_journal_get_write_access(handle, sb, bh, EXT4_JTR_NONE);
2518 err = add_dirent_to_buf(handle, fname, dir, inode, NULL, bh);
2560 bh2 = ext4_append(handle, dir, &newblock);
2571 err = ext4_journal_get_write_access(handle, sb, frame->bh,
2582 err = ext4_journal_get_write_access(handle, sb,
2604 err = ext4_handle_dirty_dx_node(handle, dir, bh2);
2608 err = ext4_handle_dirty_dx_node(handle, dir,
2612 err = ext4_handle_dirty_dx_node(handle, dir,
2630 err = ext4_handle_dirty_dx_node(handle, dir, frame->bh);
2633 err = ext4_handle_dirty_dx_node(handle, dir, bh2);
2639 de = do_split(handle, dir, &bh, frame, &fname->hinfo);
2644 err = add_dirent_to_buf(handle, fname, dir, inode, de, bh);
2714 static int ext4_delete_entry(handle_t *handle,
2723 err = ext4_delete_inline_entry(handle, dir, de_del, bh,
2733 err = ext4_journal_get_write_access(handle, dir->i_sb, bh,
2744 err = ext4_handle_dirty_dirblock(handle, dir, bh);
2791 static int ext4_add_nondir(handle_t *handle,
2796 int err = ext4_add_entry(handle, dentry, inode);
2798 err = ext4_mark_inode_dirty(handle, inode);
2800 ext4_handle_sync(handle);
2806 ext4_mark_inode_dirty(handle, inode);
2807 ext4_orphan_add(handle, inode);
2823 handle_t *handle;
2836 handle = ext4_journal_current_handle();
2842 err = ext4_add_nondir(handle, dentry, &inode);
2844 ext4_fc_track_create(handle, dentry);
2846 if (handle)
2847 ext4_journal_stop(handle);
2858 handle_t *handle;
2871 handle = ext4_journal_current_handle();
2876 err = ext4_add_nondir(handle, dentry, &inode);
2878 ext4_fc_track_create(handle, dentry);
2880 if (handle)
2881 ext4_journal_stop(handle);
2892 handle_t *handle;
2906 handle = ext4_journal_current_handle();
2913 err = ext4_orphan_add(handle, inode);
2919 if (handle)
2920 ext4_journal_stop(handle);
2925 ext4_journal_stop(handle);
2959 int ext4_init_new_dir(handle_t *handle, struct inode *dir,
2973 err = ext4_try_create_inline_dir(handle, dir, inode);
2981 dir_block = ext4_append(handle, inode, &block);
2991 err = ext4_handle_dirty_dirblock(handle, inode, dir_block);
3003 handle_t *handle;
3020 handle = ext4_journal_current_handle();
3027 err = ext4_init_new_dir(handle, dir, inode);
3030 err = ext4_mark_inode_dirty(handle, inode);
3032 err = ext4_add_entry(handle, dentry, inode);
3036 ext4_orphan_add(handle, inode);
3038 err2 = ext4_mark_inode_dirty(handle, inode);
3041 ext4_journal_stop(handle);
3048 err = ext4_mark_inode_dirty(handle, dir);
3052 ext4_fc_track_create(handle, dentry);
3054 ext4_handle_sync(handle);
3057 if (handle)
3058 ext4_journal_stop(handle);
3148 handle_t *handle = NULL;
3179 handle = ext4_journal_start(dir, EXT4_HT_DIR,
3181 if (IS_ERR(handle)) {
3182 retval = PTR_ERR(handle);
3183 handle = NULL;
3188 ext4_handle_sync(handle);
3190 retval = ext4_delete_entry(handle, dir, de, bh);
3204 ext4_orphan_add(handle, inode);
3207 retval = ext4_mark_inode_dirty(handle, inode);
3212 ext4_fc_track_unlink(handle, dentry);
3213 retval = ext4_mark_inode_dirty(handle, dir);
3228 if (handle)
3229 ext4_journal_stop(handle);
3240 handle_t *handle;
3266 handle = ext4_journal_start(dir, EXT4_HT_DIR,
3268 if (IS_ERR(handle)) {
3269 retval = PTR_ERR(handle);
3274 ext4_handle_sync(handle);
3277 retval = ext4_delete_entry(handle, dir, de, bh);
3282 retval = ext4_mark_inode_dirty(handle, dir);
3294 ext4_orphan_add(handle, inode);
3296 retval = ext4_mark_inode_dirty(handle, inode);
3298 ext4_fc_track_unlink(handle, dentry);
3300 ext4_journal_stop(handle);
3342 static int ext4_init_symlink_block(handle_t *handle, struct inode *inode,
3349 bh = ext4_bread(handle, inode, 0, EXT4_GET_BLOCKS_CREATE);
3354 err = ext4_journal_get_write_access(handle, inode->i_sb, bh, EXT4_JTR_NONE);
3362 err = ext4_handle_dirty_metadata(handle, inode, bh);
3371 handle_t *handle;
3402 handle = ext4_journal_current_handle();
3404 if (handle)
3405 ext4_journal_stop(handle);
3426 err = ext4_init_symlink_block(handle, inode, &disk_link);
3437 err = ext4_add_nondir(handle, dentry, &inode);
3438 if (handle)
3439 ext4_journal_stop(handle);
3445 ext4_mark_inode_dirty(handle, inode);
3446 ext4_orphan_add(handle, inode);
3448 if (handle)
3449 ext4_journal_stop(handle);
3461 handle_t *handle;
3464 handle = ext4_journal_start(dir, EXT4_HT_DIR,
3467 if (IS_ERR(handle))
3468 return PTR_ERR(handle);
3471 ext4_handle_sync(handle);
3477 err = ext4_add_entry(handle, dentry, inode);
3479 err = ext4_mark_inode_dirty(handle, inode);
3484 ext4_orphan_del(handle, inode);
3486 ext4_fc_track_link(handle, dentry);
3491 ext4_journal_stop(handle);
3526 static struct buffer_head *ext4_get_first_dir_block(handle_t *handle,
3595 static int ext4_rename_dir_prepare(handle_t *handle, struct ext4_renament *ent)
3599 ent->dir_bh = ext4_get_first_dir_block(handle, ent->inode,
3607 return ext4_journal_get_write_access(handle, ent->dir->i_sb,
3611 static int ext4_rename_dir_finish(handle_t *handle, struct ext4_renament *ent,
3620 retval = ext4_handle_dirty_dx_node(handle,
3624 retval = ext4_handle_dirty_dirblock(handle, ent->inode,
3628 retval = ext4_mark_inode_dirty(handle, ent->inode);
3637 static int ext4_setent(handle_t *handle, struct ext4_renament *ent,
3643 retval = ext4_journal_get_write_access(handle, ent->dir->i_sb, ent->bh,
3652 retval = ext4_mark_inode_dirty(handle, ent->dir);
3655 retval2 = ext4_handle_dirty_dirblock(handle, ent->dir, ent->bh);
3664 static void ext4_resetent(handle_t *handle, struct ext4_renament *ent,
3686 ext4_setent(handle, &old, ino, file_type);
3690 static int ext4_find_delete_entry(handle_t *handle, struct inode *dir,
3701 retval = ext4_delete_entry(handle, dir, de, bh);
3707 static void ext4_rename_delete(handle_t *handle, struct ext4_renament *ent,
3722 retval = ext4_find_delete_entry(handle, ent->dir,
3725 retval = ext4_delete_entry(handle, ent->dir, ent->de, ent->bh);
3727 retval = ext4_find_delete_entry(handle, ent->dir,
3739 static void ext4_update_dir_count(handle_t *handle, struct ext4_renament *ent)
3746 ext4_mark_inode_dirty(handle, ent->dir);
3755 handle_t *handle;
3770 handle = ext4_journal_current_handle();
3772 if (handle)
3773 ext4_journal_stop(handle);
3778 *h = handle;
3797 handle_t *handle = NULL;
3877 handle = ext4_journal_start(old.dir, EXT4_HT_DIR, credits);
3878 if (IS_ERR(handle)) {
3879 retval = PTR_ERR(handle);
3883 whiteout = ext4_whiteout_for_rename(idmap, &old, credits, &handle);
3892 ext4_handle_sync(handle);
3904 retval = ext4_rename_dir_prepare(handle, &old);
3923 retval = ext4_setent(handle, &old, whiteout->i_ino,
3927 retval = ext4_mark_inode_dirty(handle, whiteout);
3933 retval = ext4_add_entry(handle, new.dentry, old.inode);
3937 retval = ext4_setent(handle, &new,
3951 retval = ext4_mark_inode_dirty(handle, old.inode);
3959 ext4_rename_delete(handle, &old, force_reread);
3969 retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino);
3982 retval = ext4_mark_inode_dirty(handle, new.dir);
3987 retval = ext4_mark_inode_dirty(handle, old.dir);
3998 EXT4_FC_REASON_RENAME_DIR, handle);
4003 ext4_fc_track_unlink(handle, new.dentry);
4007 __ext4_fc_track_link(handle, old.inode, new.dentry);
4008 __ext4_fc_track_unlink(handle, old.inode, old.dentry);
4010 __ext4_fc_track_create(handle, whiteout,
4016 retval = ext4_mark_inode_dirty(handle, new.inode);
4020 ext4_orphan_add(handle, new.inode);
4027 ext4_resetent(handle, &old,
4030 ext4_mark_inode_dirty(handle, whiteout);
4031 ext4_orphan_add(handle, whiteout);
4034 ext4_journal_stop(handle);
4037 ext4_journal_stop(handle);
4050 handle_t *handle = NULL;
4105 handle = ext4_journal_start(old.dir, EXT4_HT_DIR,
4108 if (IS_ERR(handle)) {
4109 retval = PTR_ERR(handle);
4110 handle = NULL;
4115 ext4_handle_sync(handle);
4119 retval = ext4_rename_dir_prepare(handle, &old);
4125 retval = ext4_rename_dir_prepare(handle, &new);
4144 retval = ext4_setent(handle, &new, old.inode->i_ino, old.de->file_type);
4148 retval = ext4_setent(handle, &old, new.inode->i_ino, new_file_type);
4158 retval = ext4_mark_inode_dirty(handle, old.inode);
4161 retval = ext4_mark_inode_dirty(handle, new.inode);
4165 EXT4_FC_REASON_CROSS_RENAME, handle);
4167 retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino);
4172 retval = ext4_rename_dir_finish(handle, &new, old.dir->i_ino);
4176 ext4_update_dir_count(handle, &old);
4177 ext4_update_dir_count(handle, &new);
4185 if (handle)
4186 ext4_journal_stop(handle);
4217 * directories can handle most operations...