diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2008-09-08 23:08:40 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-09-08 23:08:40 -0400 |
commit | 166348dd37a4baacfb6fe495954b56f56b116f0c (patch) | |
tree | afb36ca25ec3bdbd4397a5b952bc78be1e5feff9 /fs/ext4/balloc.c | |
parent | 68629f29c6764c37ebdceec2f6bbef6637eaf420 (diff) |
ext4: Don't add the inode to journal handle until after the block is allocated
Make sure we don't add the inode to the journal handle until after the
block allocation, so that a journal commit will not include the inode in
case of block allocation failure.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/balloc.c')
-rw-r--r-- | fs/ext4/balloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c index ae26c37e398e..cca7fd53ad7b 100644 --- a/fs/ext4/balloc.c +++ b/fs/ext4/balloc.c | |||
@@ -2063,7 +2063,7 @@ ext4_fsblk_t ext4_new_meta_blocks(handle_t *handle, struct inode *inode, | |||
2063 | /* | 2063 | /* |
2064 | * Account for the allocated meta blocks | 2064 | * Account for the allocated meta blocks |
2065 | */ | 2065 | */ |
2066 | if (!(*errp)) { | 2066 | if (!(*errp) && EXT4_I(inode)->i_delalloc_reserved_flag) { |
2067 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | 2067 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); |
2068 | EXT4_I(inode)->i_allocated_meta_blocks += *count; | 2068 | EXT4_I(inode)->i_allocated_meta_blocks += *count; |
2069 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | 2069 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); |