hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/fs/ubifs/budget.c
....@@ -212,11 +212,10 @@
212212 subtract_lebs += 1;
213213
214214 /*
215
- * The GC journal head LEB is not really accessible. And since
216
- * different write types go to different heads, we may count only on
217
- * one head's space.
215
+ * Since different write types go to different heads, we should
216
+ * reserve one leb for each head.
218217 */
219
- subtract_lebs += c->jhead_cnt - 1;
218
+ subtract_lebs += c->jhead_cnt;
220219
221220 /* We also reserve one LEB for deletions, which bypass budgeting */
222221 subtract_lebs += 1;
....@@ -403,7 +402,7 @@
403402 dd_growth = req->dirtied_page ? c->bi.page_budget : 0;
404403
405404 if (req->dirtied_ino)
406
- dd_growth += c->bi.inode_budget << (req->dirtied_ino - 1);
405
+ dd_growth += c->bi.inode_budget * req->dirtied_ino;
407406 if (req->mod_dent)
408407 dd_growth += c->bi.dent_budget;
409408 dd_growth += req->dirtied_ino_d;