[JFFS2] Account summary space in reserved_size.
authorFerenc Havasi <havasi@inf.u-szeged.hu>
Fri, 16 Sep 2005 12:58:20 +0000 (13:58 +0100)
committerThomas Gleixner <tglx@mtd.linutronix.de>
Sun, 6 Nov 2005 20:47:18 +0000 (21:47 +0100)
Always keep valid data in reserved_size.

It did not cause problems, but the reservation code was unoptimal
when centralized summary was active or the size of the erase block
was very small.

Signed-off-by: Ferenc Havasi <havasi@inf.u-szeged.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
fs/jffs2/nodemgmt.c

index 208b2bdf01e5f6f4e76229a272b9ab73e3dd6309..2cf576ae112075f1bb207241d1034a0e7a7df627 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id: nodemgmt.c,v 1.125 2005/09/07 08:34:54 havasi Exp $
+ * $Id: nodemgmt.c,v 1.126 2005/09/16 12:58:17 havasi Exp $
  *
  */
 
@@ -307,6 +307,8 @@ static int jffs2_do_reserve_space(struct jffs2_sb_info *c, uint32_t minsize, uin
 
                        jffs2_close_nextblock(c, jeb);
                        jeb = NULL;
+                       /* keep always valid value in reserved_size */
+                       reserved_size = PAD(sumsize + c->summary->sum_size + JFFS2_SUMMARY_FRAME_SIZE);
                }
        } else {
                if (jeb && minsize > jeb->free_size) {