diff options
Diffstat (limited to 'fs/jffs2/summary.c')
| -rw-r--r-- | fs/jffs2/summary.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/fs/jffs2/summary.c b/fs/jffs2/summary.c index 1451732e1fa7..351ba9f8185e 100644 --- a/fs/jffs2/summary.c +++ b/fs/jffs2/summary.c | |||
| @@ -430,10 +430,7 @@ static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eras | |||
| 430 | 430 | ||
| 431 | raw->flash_offset |= REF_UNCHECKED; | 431 | raw->flash_offset |= REF_UNCHECKED; |
| 432 | 432 | ||
| 433 | raw->next_in_ino = ic->nodes; | 433 | jffs2_link_node_ref(c, jeb, raw, PAD(je32_to_cpu(spi->totlen)), ic); |
| 434 | ic->nodes = raw; | ||
| 435 | |||
| 436 | jffs2_link_node_ref(c, jeb, raw, PAD(je32_to_cpu(spi->totlen))); | ||
| 437 | 434 | ||
| 438 | *pseudo_random += je32_to_cpu(spi->version); | 435 | *pseudo_random += je32_to_cpu(spi->version); |
| 439 | 436 | ||
| @@ -473,10 +470,7 @@ static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eras | |||
| 473 | } | 470 | } |
| 474 | 471 | ||
| 475 | raw->flash_offset |= REF_PRISTINE; | 472 | raw->flash_offset |= REF_PRISTINE; |
| 476 | raw->next_in_ino = ic->nodes; | 473 | jffs2_link_node_ref(c, jeb, raw, PAD(je32_to_cpu(spd->totlen)), ic); |
| 477 | ic->nodes = raw; | ||
| 478 | |||
| 479 | jffs2_link_node_ref(c, jeb, raw, PAD(je32_to_cpu(spd->totlen))); | ||
| 480 | 474 | ||
| 481 | fd->raw = raw; | 475 | fd->raw = raw; |
| 482 | fd->next = NULL; | 476 | fd->next = NULL; |
| @@ -525,9 +519,9 @@ static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eras | |||
| 525 | xd->node = raw; | 519 | xd->node = raw; |
| 526 | 520 | ||
| 527 | raw->flash_offset |= REF_UNCHECKED; | 521 | raw->flash_offset |= REF_UNCHECKED; |
| 528 | raw->next_in_ino = (void *)xd; | ||
| 529 | 522 | ||
| 530 | jffs2_link_node_ref(c, jeb, raw, PAD(je32_to_cpu(spx->totlen))); | 523 | jffs2_link_node_ref(c, jeb, raw, PAD(je32_to_cpu(spx->totlen)), NULL); |
| 524 | /* FIXME */ raw->next_in_ino = (void *)xd; | ||
| 531 | 525 | ||
| 532 | *pseudo_random += je32_to_cpu(spx->xid); | 526 | *pseudo_random += je32_to_cpu(spx->xid); |
| 533 | sp += JFFS2_SUMMARY_XATTR_SIZE; | 527 | sp += JFFS2_SUMMARY_XATTR_SIZE; |
| @@ -561,9 +555,9 @@ static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eras | |||
| 561 | c->xref_temp = ref; | 555 | c->xref_temp = ref; |
| 562 | 556 | ||
| 563 | raw->flash_offset |= REF_UNCHECKED; | 557 | raw->flash_offset |= REF_UNCHECKED; |
| 564 | raw->next_in_ino = (void *)ref; | ||
| 565 | 558 | ||
| 566 | jffs2_link_node_ref(c, jeb, raw, PAD(sizeof(struct jffs2_raw_xref))); | 559 | jffs2_link_node_ref(c, jeb, raw, PAD(sizeof(struct jffs2_raw_xref)), NULL); |
| 560 | /* FIXME */ raw->next_in_ino = (void *)ref; | ||
| 567 | 561 | ||
| 568 | *pseudo_random += raw->flash_offset; | 562 | *pseudo_random += raw->flash_offset; |
| 569 | sp += JFFS2_SUMMARY_XREF_SIZE; | 563 | sp += JFFS2_SUMMARY_XREF_SIZE; |
| @@ -664,9 +658,8 @@ int jffs2_sum_scan_sumnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb | |||
| 664 | } | 658 | } |
| 665 | 659 | ||
| 666 | marker_ref->flash_offset = jeb->offset | REF_NORMAL; | 660 | marker_ref->flash_offset = jeb->offset | REF_NORMAL; |
| 667 | marker_ref->next_in_ino = NULL; | ||
| 668 | 661 | ||
| 669 | jffs2_link_node_ref(c, jeb, marker_ref, je32_to_cpu(summary->cln_mkr)); | 662 | jffs2_link_node_ref(c, jeb, marker_ref, je32_to_cpu(summary->cln_mkr), NULL); |
| 670 | } | 663 | } |
| 671 | } | 664 | } |
| 672 | 665 | ||
| @@ -686,10 +679,9 @@ int jffs2_sum_scan_sumnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb | |||
| 686 | return -ENOMEM; | 679 | return -ENOMEM; |
| 687 | } | 680 | } |
| 688 | 681 | ||
| 689 | cache_ref->next_in_ino = NULL; | ||
| 690 | cache_ref->flash_offset |= REF_NORMAL; | 682 | cache_ref->flash_offset |= REF_NORMAL; |
| 691 | 683 | ||
| 692 | jffs2_link_node_ref(c, jeb, cache_ref, sumsize); | 684 | jffs2_link_node_ref(c, jeb, cache_ref, sumsize, NULL); |
| 693 | 685 | ||
| 694 | if (unlikely(jeb->free_size)) { | 686 | if (unlikely(jeb->free_size)) { |
| 695 | JFFS2_WARNING("Free size 0x%x bytes in eraseblock @0x%08x with summary?\n", | 687 | JFFS2_WARNING("Free size 0x%x bytes in eraseblock @0x%08x with summary?\n", |
| @@ -849,9 +841,8 @@ static int jffs2_sum_write_data(struct jffs2_sb_info *c, struct jffs2_eraseblock | |||
| 849 | 841 | ||
| 850 | ref->flash_offset = jeb->offset + c->sector_size - jeb->free_size; | 842 | ref->flash_offset = jeb->offset + c->sector_size - jeb->free_size; |
| 851 | ref->flash_offset |= REF_OBSOLETE; | 843 | ref->flash_offset |= REF_OBSOLETE; |
| 852 | ref->next_in_ino = 0; | ||
| 853 | 844 | ||
| 854 | jffs2_link_node_ref(c, jeb, ref, c->sector_size - jeb->free_size); | 845 | jffs2_link_node_ref(c, jeb, ref, c->sector_size - jeb->free_size, NULL); |
| 855 | } | 846 | } |
| 856 | 847 | ||
| 857 | c->summary->sum_size = JFFS2_SUMMARY_NOSUM_SIZE; | 848 | c->summary->sum_size = JFFS2_SUMMARY_NOSUM_SIZE; |
| @@ -909,11 +900,10 @@ int jffs2_sum_write_sumnode(struct jffs2_sb_info *c) | |||
| 909 | return -ENOMEM; | 900 | return -ENOMEM; |
| 910 | } | 901 | } |
| 911 | 902 | ||
| 912 | summary_ref->next_in_ino = NULL; | ||
| 913 | summary_ref->flash_offset = (jeb->offset + c->sector_size - jeb->free_size) | REF_NORMAL; | 903 | summary_ref->flash_offset = (jeb->offset + c->sector_size - jeb->free_size) | REF_NORMAL; |
| 914 | 904 | ||
| 915 | spin_lock(&c->erase_completion_lock); | 905 | spin_lock(&c->erase_completion_lock); |
| 916 | jffs2_link_node_ref(c, jeb, summary_ref, infosize); | 906 | jffs2_link_node_ref(c, jeb, summary_ref, infosize, NULL); |
| 917 | 907 | ||
| 918 | return 0; | 908 | return 0; |
| 919 | } | 909 | } |
