mirror of https://gitee.com/openkylin/linux.git
[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:
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:
|
||||
* 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:
|
||||
* allocate intermediate indexes (bitmap + group)
|
||||
* + change two blocks at each level, but root (already included)
|
||||
*/
|
||||
needed = (depth * 2) + (depth * 2);
|
||||
needed += (depth * 2) + (depth * 2);
|
||||
|
||||
/* any allocation modifies superblock */
|
||||
needed += 1;
|
||||
|
|
Loading…
Reference in New Issue