forked from luck/tmp_suning_uos_patched
UBIFS: remove incorrect index space check
When we report free space to user-space, we should not report 0 if the amount of empty LEBs is too low, because they would be produced by GC when needed. Thus, just call 'ubifs_calc_available()' straight away which would take 'min_idx_lebs' into account anyway. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
9e5de35496
commit
8aabb75017
|
@ -709,24 +709,11 @@ void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
|
|||
*/
|
||||
long long ubifs_budg_get_free_space(struct ubifs_info *c)
|
||||
{
|
||||
int min_idx_lebs, rsvd_idx_lebs;
|
||||
int min_idx_lebs;
|
||||
long long available, outstanding, free;
|
||||
|
||||
/* Do exactly the same calculations as in 'do_budget_space()' */
|
||||
spin_lock(&c->space_lock);
|
||||
min_idx_lebs = ubifs_calc_min_idx_lebs(c);
|
||||
|
||||
if (min_idx_lebs > c->lst.idx_lebs)
|
||||
rsvd_idx_lebs = min_idx_lebs - c->lst.idx_lebs;
|
||||
else
|
||||
rsvd_idx_lebs = 0;
|
||||
|
||||
if (rsvd_idx_lebs > c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt
|
||||
- c->lst.taken_empty_lebs) {
|
||||
spin_unlock(&c->space_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
outstanding = c->budg_data_growth + c->budg_dd_growth;
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue
Block a user