aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2/nodemgmt.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-05-21 08:29:11 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-05-21 08:29:11 -0400
commitca89a517fa577e6f26621463d3aa4f3c3d530b1e (patch)
treee277f31d6629c5dcc358adfa80190fc247d43f65 /fs/jffs2/nodemgmt.c
parent010b06d6d07d9fa5ea6070aa72bb3e0de1761ab7 (diff)
[JFFS2] Finally eliminate __totlen field from struct jffs2_raw_node_ref
Well, almost. We'll actually keep a 'TEST_TOTLEN' macro set for now, and keep doing some paranoia checks to make sure it's all working correctly. But if TEST_TOTLEN is unset, the size of struct jffs2_raw_node_ref drops from 16 bytes to 12 on 32-bit machines. That's a saving of about half a megabyte of memory on the OLPC prototype board, with 125K or so nodes in its 512MiB of flash. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'fs/jffs2/nodemgmt.c')
-rw-r--r--fs/jffs2/nodemgmt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c
index 4701556be49d..9a0f312cfcda 100644
--- a/fs/jffs2/nodemgmt.c
+++ b/fs/jffs2/nodemgmt.c
@@ -386,7 +386,9 @@ int jffs2_add_physical_node_ref(struct jffs2_sb_info *c, struct jffs2_raw_node_r
386 struct jffs2_eraseblock *jeb; 386 struct jffs2_eraseblock *jeb;
387 387
388 jeb = &c->blocks[new->flash_offset / c->sector_size]; 388 jeb = &c->blocks[new->flash_offset / c->sector_size];
389#ifdef TEST_TOTLEN
389 new->__totlen = len; 390 new->__totlen = len;
391#endif
390 392
391 D1(printk(KERN_DEBUG "jffs2_add_physical_node_ref(): Node at 0x%x(%d), size 0x%x\n", ref_offset(new), ref_flags(new), len)); 393 D1(printk(KERN_DEBUG "jffs2_add_physical_node_ref(): Node at 0x%x(%d), size 0x%x\n", ref_offset(new), ref_flags(new), len));
392#if 1 394#if 1
@@ -679,7 +681,9 @@ void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref
679 681
680 spin_lock(&c->erase_completion_lock); 682 spin_lock(&c->erase_completion_lock);
681 683
684#ifdef TEST_TOTLEN
682 ref->__totlen += n->__totlen; 685 ref->__totlen += n->__totlen;
686#endif
683 ref->next_phys = n->next_phys; 687 ref->next_phys = n->next_phys;
684 if (jeb->last_node == n) jeb->last_node = ref; 688 if (jeb->last_node == n) jeb->last_node = ref;
685 if (jeb->gc_node == n) { 689 if (jeb->gc_node == n) {
@@ -702,7 +706,9 @@ void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref
702 p = p->next_phys; 706 p = p->next_phys;
703 707
704 if (ref_obsolete(p) && !ref->next_in_ino) { 708 if (ref_obsolete(p) && !ref->next_in_ino) {
709#ifdef TEST_TOTLEN
705 p->__totlen += ref->__totlen; 710 p->__totlen += ref->__totlen;
711#endif
706 if (jeb->last_node == ref) { 712 if (jeb->last_node == ref) {
707 jeb->last_node = p; 713 jeb->last_node = p;
708 } 714 }