UBIFS: remove incorrect index space check
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Mon, 25 Aug 2008 13:02:31 +0000 (16:02 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Sun, 31 Aug 2008 14:16:03 +0000 (17:16 +0300)
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>
fs/ubifs/budget.c

index f6d2eaa7a06717740416c190309ecb11d8d6a823..9ef630a594ca6a96c114328df81068bd94926989 100644 (file)
@@ -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;
 
        /*