diff options
| -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: |
