|
@@ -148,8 +148,6 @@ static int f2fs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
|
|
inode->i_mapping->a_ops = &f2fs_dblock_aops;
|
|
|
ino = inode->i_ino;
|
|
|
|
|
|
- f2fs_balance_fs(sbi, true);
|
|
|
-
|
|
|
f2fs_lock_op(sbi);
|
|
|
err = f2fs_add_link(dentry, inode);
|
|
|
if (err)
|
|
@@ -163,6 +161,8 @@ static int f2fs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
|
|
|
|
|
|
if (IS_DIRSYNC(dir))
|
|
|
f2fs_sync_fs(sbi->sb, 1);
|
|
|
+
|
|
|
+ f2fs_balance_fs(sbi, true);
|
|
|
return 0;
|
|
|
out:
|
|
|
handle_failed_inode(inode);
|
|
@@ -423,8 +423,6 @@ static int f2fs_symlink(struct inode *dir, struct dentry *dentry,
|
|
|
inode_nohighmem(inode);
|
|
|
inode->i_mapping->a_ops = &f2fs_dblock_aops;
|
|
|
|
|
|
- f2fs_balance_fs(sbi, true);
|
|
|
-
|
|
|
f2fs_lock_op(sbi);
|
|
|
err = f2fs_add_link(dentry, inode);
|
|
|
if (err)
|
|
@@ -487,6 +485,8 @@ err_out:
|
|
|
}
|
|
|
|
|
|
kfree(sd);
|
|
|
+
|
|
|
+ f2fs_balance_fs(sbi, true);
|
|
|
return err;
|
|
|
out:
|
|
|
handle_failed_inode(inode);
|
|
@@ -508,8 +508,6 @@ static int f2fs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|
|
inode->i_mapping->a_ops = &f2fs_dblock_aops;
|
|
|
mapping_set_gfp_mask(inode->i_mapping, GFP_F2FS_HIGH_ZERO);
|
|
|
|
|
|
- f2fs_balance_fs(sbi, true);
|
|
|
-
|
|
|
set_inode_flag(inode, FI_INC_LINK);
|
|
|
f2fs_lock_op(sbi);
|
|
|
err = f2fs_add_link(dentry, inode);
|
|
@@ -524,6 +522,8 @@ static int f2fs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|
|
|
|
|
if (IS_DIRSYNC(dir))
|
|
|
f2fs_sync_fs(sbi->sb, 1);
|
|
|
+
|
|
|
+ f2fs_balance_fs(sbi, true);
|
|
|
return 0;
|
|
|
|
|
|
out_fail:
|
|
@@ -554,8 +554,6 @@ static int f2fs_mknod(struct inode *dir, struct dentry *dentry,
|
|
|
init_special_inode(inode, inode->i_mode, rdev);
|
|
|
inode->i_op = &f2fs_special_inode_operations;
|
|
|
|
|
|
- f2fs_balance_fs(sbi, true);
|
|
|
-
|
|
|
f2fs_lock_op(sbi);
|
|
|
err = f2fs_add_link(dentry, inode);
|
|
|
if (err)
|
|
@@ -569,6 +567,8 @@ static int f2fs_mknod(struct inode *dir, struct dentry *dentry,
|
|
|
|
|
|
if (IS_DIRSYNC(dir))
|
|
|
f2fs_sync_fs(sbi->sb, 1);
|
|
|
+
|
|
|
+ f2fs_balance_fs(sbi, true);
|
|
|
return 0;
|
|
|
out:
|
|
|
handle_failed_inode(inode);
|
|
@@ -595,8 +595,6 @@ static int __f2fs_tmpfile(struct inode *dir, struct dentry *dentry,
|
|
|
inode->i_mapping->a_ops = &f2fs_dblock_aops;
|
|
|
}
|
|
|
|
|
|
- f2fs_balance_fs(sbi, true);
|
|
|
-
|
|
|
f2fs_lock_op(sbi);
|
|
|
err = acquire_orphan_inode(sbi);
|
|
|
if (err)
|
|
@@ -622,6 +620,8 @@ static int __f2fs_tmpfile(struct inode *dir, struct dentry *dentry,
|
|
|
/* link_count was changed by d_tmpfile as well. */
|
|
|
f2fs_unlock_op(sbi);
|
|
|
unlock_new_inode(inode);
|
|
|
+
|
|
|
+ f2fs_balance_fs(sbi, true);
|
|
|
return 0;
|
|
|
|
|
|
release_out:
|