diff options
Diffstat (limited to 'fs/ext4/ialloc.c')
-rw-r--r-- | fs/ext4/ialloc.c | 13 |
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; |
761 | fail: | 762 | fail: |