diff options
-rw-r--r-- | fs/jffs2/summary.c | 14 | ||||
-rw-r--r-- | fs/jffs2/summary.h | 4 | ||||
-rw-r--r-- | include/linux/jffs2.h | 12 |
3 files changed, 16 insertions, 14 deletions
diff --git a/fs/jffs2/summary.c b/fs/jffs2/summary.c index 1ebc81e4477d..308251266c6c 100644 --- a/fs/jffs2/summary.c +++ b/fs/jffs2/summary.c | |||
@@ -8,7 +8,7 @@ | |||
8 | * | 8 | * |
9 | * For licensing information, see the file 'LICENCE' in this directory. | 9 | * For licensing information, see the file 'LICENCE' in this directory. |
10 | * | 10 | * |
11 | * $Id: summary.c,v 1.3 2005/09/21 14:43:07 dedekind Exp $ | 11 | * $Id: summary.c,v 1.4 2005/09/26 11:37:21 havasi Exp $ |
12 | * | 12 | * |
13 | */ | 13 | */ |
14 | 14 | ||
@@ -292,7 +292,7 @@ no_mem: | |||
292 | /* Process the stored summary information - helper function for jffs2_sum_scan_sumnode() */ | 292 | /* Process the stored summary information - helper function for jffs2_sum_scan_sumnode() */ |
293 | 293 | ||
294 | static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, | 294 | static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, |
295 | struct jffs2_summary_node *summary, uint32_t *pseudo_random) | 295 | struct jffs2_raw_summary *summary, uint32_t *pseudo_random) |
296 | { | 296 | { |
297 | struct jffs2_raw_node_ref *raw; | 297 | struct jffs2_raw_node_ref *raw; |
298 | struct jffs2_inode_cache *ic; | 298 | struct jffs2_inode_cache *ic; |
@@ -428,7 +428,7 @@ int jffs2_sum_scan_sumnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb | |||
428 | { | 428 | { |
429 | struct jffs2_unknown_node crcnode; | 429 | struct jffs2_unknown_node crcnode; |
430 | struct jffs2_raw_node_ref *cache_ref; | 430 | struct jffs2_raw_node_ref *cache_ref; |
431 | struct jffs2_summary_node *summary; | 431 | struct jffs2_raw_summary *summary; |
432 | int ret, sumsize; | 432 | int ret, sumsize; |
433 | uint32_t crc; | 433 | uint32_t crc; |
434 | 434 | ||
@@ -468,14 +468,14 @@ int jffs2_sum_scan_sumnode(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb | |||
468 | goto crc_err; | 468 | goto crc_err; |
469 | } | 469 | } |
470 | 470 | ||
471 | crc = crc32(0, summary, sizeof(struct jffs2_summary_node)-8); | 471 | crc = crc32(0, summary, sizeof(struct jffs2_raw_summary)-8); |
472 | 472 | ||
473 | if (je32_to_cpu(summary->node_crc) != crc) { | 473 | if (je32_to_cpu(summary->node_crc) != crc) { |
474 | dbg_summary("Summary node is corrupt (bad CRC)\n"); | 474 | dbg_summary("Summary node is corrupt (bad CRC)\n"); |
475 | goto crc_err; | 475 | goto crc_err; |
476 | } | 476 | } |
477 | 477 | ||
478 | crc = crc32(0, summary->sum, sumsize - sizeof(struct jffs2_summary_node)); | 478 | crc = crc32(0, summary->sum, sumsize - sizeof(struct jffs2_raw_summary)); |
479 | 479 | ||
480 | if (je32_to_cpu(summary->sum_crc) != crc) { | 480 | if (je32_to_cpu(summary->sum_crc) != crc) { |
481 | dbg_summary("Summary node data is corrupt (bad CRC)\n"); | 481 | dbg_summary("Summary node data is corrupt (bad CRC)\n"); |
@@ -560,7 +560,7 @@ crc_err: | |||
560 | static int jffs2_sum_write_data(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, | 560 | static int jffs2_sum_write_data(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb, |
561 | uint32_t infosize, uint32_t datasize, int padsize) | 561 | uint32_t infosize, uint32_t datasize, int padsize) |
562 | { | 562 | { |
563 | struct jffs2_summary_node isum; | 563 | struct jffs2_raw_summary isum; |
564 | union jffs2_sum_mem *temp; | 564 | union jffs2_sum_mem *temp; |
565 | struct jffs2_sum_marker *sm; | 565 | struct jffs2_sum_marker *sm; |
566 | struct kvec vecs[2]; | 566 | struct kvec vecs[2]; |
@@ -685,7 +685,7 @@ int jffs2_sum_write_sumnode(struct jffs2_sb_info *c) | |||
685 | } | 685 | } |
686 | 686 | ||
687 | datasize = c->summary->sum_size + sizeof(struct jffs2_sum_marker); | 687 | datasize = c->summary->sum_size + sizeof(struct jffs2_sum_marker); |
688 | infosize = sizeof(struct jffs2_summary_node) + datasize; | 688 | infosize = sizeof(struct jffs2_raw_summary) + datasize; |
689 | padsize = jeb->free_size - infosize; | 689 | padsize = jeb->free_size - infosize; |
690 | infosize += padsize; | 690 | infosize += padsize; |
691 | datasize += padsize; | 691 | datasize += padsize; |
diff --git a/fs/jffs2/summary.h b/fs/jffs2/summary.h index e6b0a69acbd4..b7a678be1709 100644 --- a/fs/jffs2/summary.h +++ b/fs/jffs2/summary.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * | 8 | * |
9 | * For licensing information, see the file 'LICENCE' in this directory. | 9 | * For licensing information, see the file 'LICENCE' in this directory. |
10 | * | 10 | * |
11 | * $Id: summary.h,v 1.1 2005/09/07 08:34:54 havasi Exp $ | 11 | * $Id: summary.h,v 1.2 2005/09/26 11:37:21 havasi Exp $ |
12 | * | 12 | * |
13 | */ | 13 | */ |
14 | 14 | ||
@@ -142,7 +142,7 @@ struct jffs2_sum_marker | |||
142 | jint32_t magic; /* == JFFS2_SUM_MAGIC */ | 142 | jint32_t magic; /* == JFFS2_SUM_MAGIC */ |
143 | }; | 143 | }; |
144 | 144 | ||
145 | #define JFFS2_SUMMARY_FRAME_SIZE (sizeof(struct jffs2_summary_node) + sizeof(struct jffs2_sum_marker)) | 145 | #define JFFS2_SUMMARY_FRAME_SIZE (sizeof(struct jffs2_raw_summary) + sizeof(struct jffs2_sum_marker)) |
146 | 146 | ||
147 | #ifdef CONFIG_JFFS2_SUMMARY /* SUMMARY SUPPORT ENABLED */ | 147 | #ifdef CONFIG_JFFS2_SUMMARY /* SUMMARY SUPPORT ENABLED */ |
148 | 148 | ||
diff --git a/include/linux/jffs2.h b/include/linux/jffs2.h index acb51a3669a2..2788880368c4 100644 --- a/include/linux/jffs2.h +++ b/include/linux/jffs2.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * For licensing information, see the file 'LICENCE' in the | 8 | * For licensing information, see the file 'LICENCE' in the |
9 | * jffs2 directory. | 9 | * jffs2 directory. |
10 | * | 10 | * |
11 | * $Id: jffs2.h,v 1.37 2005/09/07 08:34:55 havasi Exp $ | 11 | * $Id: jffs2.h,v 1.38 2005/09/26 11:37:23 havasi Exp $ |
12 | * | 12 | * |
13 | */ | 13 | */ |
14 | 14 | ||
@@ -151,9 +151,10 @@ struct jffs2_raw_inode | |||
151 | uint8_t data[0]; | 151 | uint8_t data[0]; |
152 | } __attribute__((packed)); | 152 | } __attribute__((packed)); |
153 | 153 | ||
154 | struct jffs2_summary_node{ | 154 | struct jffs2_raw_summary |
155 | { | ||
155 | jint16_t magic; | 156 | jint16_t magic; |
156 | jint16_t nodetype; /* = JFFS2_NODETYPE_INODE_SUM */ | 157 | jint16_t nodetype; /* = JFFS2_NODETYPE_SUMMARY */ |
157 | jint32_t totlen; | 158 | jint32_t totlen; |
158 | jint32_t hdr_crc; | 159 | jint32_t hdr_crc; |
159 | jint32_t sum_num; /* number of sum entries*/ | 160 | jint32_t sum_num; /* number of sum entries*/ |
@@ -164,11 +165,12 @@ struct jffs2_summary_node{ | |||
164 | jint32_t sum[0]; /* inode summary info */ | 165 | jint32_t sum[0]; /* inode summary info */ |
165 | } __attribute__((packed)); | 166 | } __attribute__((packed)); |
166 | 167 | ||
167 | union jffs2_node_union { | 168 | union jffs2_node_union |
169 | { | ||
168 | struct jffs2_raw_inode i; | 170 | struct jffs2_raw_inode i; |
169 | struct jffs2_raw_dirent d; | 171 | struct jffs2_raw_dirent d; |
172 | struct jffs2_raw_summary s; | ||
170 | struct jffs2_unknown_node u; | 173 | struct jffs2_unknown_node u; |
171 | struct jffs2_summary_node s; | ||
172 | }; | 174 | }; |
173 | 175 | ||
174 | #endif /* __LINUX_JFFS2_H__ */ | 176 | #endif /* __LINUX_JFFS2_H__ */ |