From f5dc9442b4ce8fde1f7c9e257ec353436ca0dda7 Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Tue, 29 Apr 2008 22:00:36 -0400 Subject: [PATCH] --- yaml --- r: 95059 b: refs/heads/master c: 8753e88f1b4345677620ec68f847222a6301e2fd h: refs/heads/master i: 95057: 0e970f92d270bb10428e7c1c312ea336f2ee1dcb 95055: 391932d35b74831e010a89fc6b8146c07981aecb v: v3 --- [refs] | 2 +- trunk/fs/ext4/ialloc.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index dcc014f1b76a..c1d2880ef947 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ef7377289a1510d638004158e43878643bc75dc5 +refs/heads/master: 8753e88f1b4345677620ec68f847222a6301e2fd diff --git a/trunk/fs/ext4/ialloc.c b/trunk/fs/ext4/ialloc.c index d59bdf7233b5..c6efbab0c801 100644 --- a/trunk/fs/ext4/ialloc.c +++ b/trunk/fs/ext4/ialloc.c @@ -739,11 +739,6 @@ struct inode *ext4_new_inode(handle_t *handle, struct inode * dir, int mode) if (err) goto fail_free_drop; - err = ext4_mark_inode_dirty(handle, inode); - if (err) { - ext4_std_error(sb, err); - goto fail_free_drop; - } if (test_opt(sb, EXTENTS)) { /* set extent flag only for diretory, file and normal symlink*/ if (S_ISDIR(mode) || S_ISREG(mode) || S_ISLNK(mode)) { @@ -752,10 +747,16 @@ struct inode *ext4_new_inode(handle_t *handle, struct inode * dir, int mode) err = ext4_update_incompat_feature(handle, sb, EXT4_FEATURE_INCOMPAT_EXTENTS); if (err) - goto fail; + goto fail_free_drop; } } + err = ext4_mark_inode_dirty(handle, inode); + if (err) { + ext4_std_error(sb, err); + goto fail_free_drop; + } + ext4_debug("allocating inode %lu\n", inode->i_ino); goto really_out; fail: