aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/ialloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/ialloc.c')
-rw-r--r--fs/ext4/ialloc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index d59bdf7233b5..c6efbab0c801 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -739,11 +739,6 @@ got:
739 if (err) 739 if (err)
740 goto fail_free_drop; 740 goto fail_free_drop;
741 741
742 err = ext4_mark_inode_dirty(handle, inode);
743 if (err) {
744 ext4_std_error(sb, err);
745 goto fail_free_drop;
746 }
747 if (test_opt(sb, EXTENTS)) { 742 if (test_opt(sb, EXTENTS)) {
748 /* set extent flag only for diretory, file and normal symlink*/ 743 /* set extent flag only for diretory, file and normal symlink*/
749 if (S_ISDIR(mode) || S_ISREG(mode) || S_ISLNK(mode)) { 744 if (S_ISDIR(mode) || S_ISREG(mode) || S_ISLNK(mode)) {
@@ -752,10 +747,16 @@ got:
752 err = ext4_update_incompat_feature(handle, sb, 747 err = ext4_update_incompat_feature(handle, sb,
753 EXT4_FEATURE_INCOMPAT_EXTENTS); 748 EXT4_FEATURE_INCOMPAT_EXTENTS);
754 if (err) 749 if (err)
755 goto fail; 750 goto fail_free_drop;
756 } 751 }
757 } 752 }
758 753
754 err = ext4_mark_inode_dirty(handle, inode);
755 if (err) {
756 ext4_std_error(sb, err);
757 goto fail_free_drop;
758 }
759
759 ext4_debug("allocating inode %lu\n", inode->i_ino); 760 ext4_debug("allocating inode %lu\n", inode->i_ino);
760 goto really_out; 761 goto really_out;
761fail: 762fail: