diff options
| -rw-r--r-- | fs/ext4/mballoc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index efa111a7606d..49e444b51a0c 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c | |||
| @@ -1266,6 +1266,7 @@ static void ext4_mb_unload_buddy(struct ext4_buddy *e4b) | |||
| 1266 | static int mb_find_order_for_block(struct ext4_buddy *e4b, int block) | 1266 | static int mb_find_order_for_block(struct ext4_buddy *e4b, int block) |
| 1267 | { | 1267 | { |
| 1268 | int order = 1; | 1268 | int order = 1; |
| 1269 | int bb_incr = 1 << (e4b->bd_blkbits - 1); | ||
| 1269 | void *bb; | 1270 | void *bb; |
| 1270 | 1271 | ||
| 1271 | BUG_ON(e4b->bd_bitmap == e4b->bd_buddy); | 1272 | BUG_ON(e4b->bd_bitmap == e4b->bd_buddy); |
| @@ -1278,7 +1279,8 @@ static int mb_find_order_for_block(struct ext4_buddy *e4b, int block) | |||
| 1278 | /* this block is part of buddy of order 'order' */ | 1279 | /* this block is part of buddy of order 'order' */ |
| 1279 | return order; | 1280 | return order; |
| 1280 | } | 1281 | } |
| 1281 | bb += 1 << (e4b->bd_blkbits - order); | 1282 | bb += bb_incr; |
| 1283 | bb_incr >>= 1; | ||
| 1282 | order++; | 1284 | order++; |
| 1283 | } | 1285 | } |
| 1284 | return 0; | 1286 | return 0; |
