diff options
author | Ferenc Havasi <havasi@inf.u-szeged.hu> | 2005-09-16 08:58:20 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@mtd.linutronix.de> | 2005-11-06 15:47:18 -0500 |
commit | 34c0e906718fa2f85b54b937f79bffdca48ee864 (patch) | |
tree | ff07b9203c8f149c1f69f0e6bc2e6cf15d56fa3d /fs/jffs2 | |
parent | 962034f43937d02a1c18e802a6641aed0a266ac5 (diff) |
[JFFS2] Account summary space in reserved_size.
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>
Diffstat (limited to 'fs/jffs2')
-rw-r--r-- | fs/jffs2/nodemgmt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c index 208b2bdf01e5..2cf576ae1120 100644 --- a/fs/jffs2/nodemgmt.c +++ b/fs/jffs2/nodemgmt.c | |||
@@ -7,7 +7,7 @@ | |||
7 | * | 7 | * |
8 | * For licensing information, see the file 'LICENCE' in this directory. | 8 | * For licensing information, see the file 'LICENCE' in this directory. |
9 | * | 9 | * |
10 | * $Id: nodemgmt.c,v 1.125 2005/09/07 08:34:54 havasi Exp $ | 10 | * $Id: nodemgmt.c,v 1.126 2005/09/16 12:58:17 havasi Exp $ |
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
@@ -307,6 +307,8 @@ static int jffs2_do_reserve_space(struct jffs2_sb_info *c, uint32_t minsize, uin | |||
307 | 307 | ||
308 | jffs2_close_nextblock(c, jeb); | 308 | jffs2_close_nextblock(c, jeb); |
309 | jeb = NULL; | 309 | jeb = NULL; |
310 | /* keep always valid value in reserved_size */ | ||
311 | reserved_size = PAD(sumsize + c->summary->sum_size + JFFS2_SUMMARY_FRAME_SIZE); | ||
310 | } | 312 | } |
311 | } else { | 313 | } else { |
312 | if (jeb && minsize > jeb->free_size) { | 314 | if (jeb && minsize > jeb->free_size) { |