[PATCH] ext4: fix credit calculation in ext4_ext_calc_credits_for_insert
Fix a nit in ext4_ext_calc_credits_for_insert(). Besides, credits for the new root are already added in the index split accounting. Signed-off-by: Johann Lombardi <johann.lombardi@bull.net> Signed-off-by: Alex Tomas <alex@clusterfs.com> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
97d2a80584
commit
feb1892746
@@ -1531,16 +1531,17 @@ int inline ext4_ext_calc_credits_for_insert(struct inode *inode,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* tree can be full, so it would need to grow in depth:
|
* tree can be full, so it would need to grow in depth:
|
||||||
* allocation + old root + new root
|
* we need one credit to modify old root, credits for
|
||||||
|
* new root will be added in split accounting
|
||||||
*/
|
*/
|
||||||
needed += 2 + 1 + 1;
|
needed += 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Index split can happen, we would need:
|
* Index split can happen, we would need:
|
||||||
* allocate intermediate indexes (bitmap + group)
|
* allocate intermediate indexes (bitmap + group)
|
||||||
* + change two blocks at each level, but root (already included)
|
* + change two blocks at each level, but root (already included)
|
||||||
*/
|
*/
|
||||||
needed = (depth * 2) + (depth * 2);
|
needed += (depth * 2) + (depth * 2);
|
||||||
|
|
||||||
/* any allocation modifies superblock */
|
/* any allocation modifies superblock */
|
||||||
needed += 1;
|
needed += 1;
|
||||||
|
Reference in New Issue
Block a user