]>
Commit | Line | Data |
---|---|---|
7d777456 GKH |
1 | From 81799214a5369211cf9046735dafcf59a29e7454 Mon Sep 17 00:00:00 2001 |
2 | From: Theodore Ts'o <tytso@mit.edu> | |
3 | Date: Sun, 30 May 2010 22:49:22 -0400 | |
4 | Subject: ext4: Fix accounting of reserved metadata blocks | |
5 | ||
6 | commit ee5f4d9cdf32fd99172d11665c592a288c2b1ff4 upstream (as of v2.6.33-rc3) | |
7 | ||
8 | Commit 0637c6f had a typo which caused the reserved metadata blocks to | |
9 | not be released correctly. Fix this. | |
10 | ||
11 | Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> | |
12 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
13 | --- | |
14 | fs/ext4/inode.c | 8 ++++---- | |
15 | 1 file changed, 4 insertions(+), 4 deletions(-) | |
16 | ||
17 | --- a/fs/ext4/inode.c | |
18 | +++ b/fs/ext4/inode.c | |
19 | @@ -1118,9 +1118,9 @@ static void ext4_da_update_reserve_space | |
20 | * only when we have written all of the delayed | |
21 | * allocation blocks. | |
22 | */ | |
23 | - mdb_free = ei->i_allocated_meta_blocks; | |
24 | + mdb_free = ei->i_reserved_meta_blocks; | |
25 | + ei->i_reserved_meta_blocks = 0; | |
26 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, mdb_free); | |
27 | - ei->i_allocated_meta_blocks = 0; | |
28 | } | |
29 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | |
30 | ||
31 | @@ -1931,8 +1931,8 @@ static void ext4_da_release_space(struct | |
32 | * only when we have written all of the delayed | |
33 | * allocation blocks. | |
34 | */ | |
35 | - to_free += ei->i_allocated_meta_blocks; | |
36 | - ei->i_allocated_meta_blocks = 0; | |
37 | + to_free += ei->i_reserved_meta_blocks; | |
38 | + ei->i_reserved_meta_blocks = 0; | |
39 | } | |
40 | ||
41 | /* update fs dirty blocks counter */ |