aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-08-25 09:02:31 -0400
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-08-31 10:16:03 -0400
commit8aabb75017291ba68c09ff5fdb998ef0a1fdaaf9 (patch)
treea16b1f8bf707b6611f6e2a966dc35f6bc3bbe762
parent9e5de3549615818cae9c20a0ee1fd3ad4a747758 (diff)
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>
-rw-r--r--fs/ubifs/budget.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/fs/ubifs/budget.c b/fs/ubifs/budget.c
index f6d2eaa7a067..9ef630a594ca 100644
--- a/fs/ubifs/budget.c
+++ b/fs/ubifs/budget.c
@@ -709,24 +709,11 @@ void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
709 */ 709 */
710long long ubifs_budg_get_free_space(struct ubifs_info *c) 710long long ubifs_budg_get_free_space(struct ubifs_info *c)
711{ 711{
712 int min_idx_lebs, rsvd_idx_lebs; 712 int min_idx_lebs;
713 long long available, outstanding, free; 713 long long available, outstanding, free;
714 714
715 /* Do exactly the same calculations as in 'do_budget_space()' */
716 spin_lock(&c->space_lock); 715 spin_lock(&c->space_lock);
717 min_idx_lebs = ubifs_calc_min_idx_lebs(c); 716 min_idx_lebs = ubifs_calc_min_idx_lebs(c);
718
719 if (min_idx_lebs > c->lst.idx_lebs)
720 rsvd_idx_lebs = min_idx_lebs - c->lst.idx_lebs;
721 else
722 rsvd_idx_lebs = 0;
723
724 if (rsvd_idx_lebs > c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt
725 - c->lst.taken_empty_lebs) {
726 spin_unlock(&c->space_lock);
727 return 0;
728 }
729
730 outstanding = c->budg_data_growth + c->budg_dd_growth; 717 outstanding = c->budg_data_growth + c->budg_dd_growth;
731 718
732 /* 719 /*