u8 *buffer;
u8 *sum_buffer = (u8 *)st;
int n_bytes;
- int chunk_id;
+ u32 chunk_id;
int chunk_in_nand;
int chunk_in_block;
int result;
struct yaffs_summary_header hdr;
struct yaffs_block_info *bi = yaffs_get_block_info(dev, blk);
int sum_bytes_per_chunk = dev->data_bytes_per_chunk - sizeof(hdr);
- int sum_tags_bytes;
- sum_tags_bytes = sizeof(struct yaffs_summary_tags) *
- dev->chunks_per_summary;
buffer = yaffs_get_temp_buffer(dev);
n_bytes = sizeof(struct yaffs_summary_tags) * dev->chunks_per_summary;
chunk_in_block = dev->chunks_per_summary;
if (result == YAFFS_OK) {
/* Verify header */
if (hdr.version != YAFFS_SUMMARY_VERSION ||
- hdr.block != blk ||
hdr.seq != bi->seq_number ||
hdr.sum != yaffs_summary_sum(dev))
result = YAFFS_FAIL;
return YAFFS_OK;
if (chunk_in_block >= 0 && chunk_in_block < dev->chunks_per_summary) {
- yaffs_pack_tags2_tags_only(&tags_only, tags);
+ yaffs_pack_tags2_tags_only(dev, &tags_only, tags);
sum_tags = &dev->sum_tags[chunk_in_block];
+
sum_tags->chunk_id = tags_only.chunk_id;
sum_tags->n_bytes = tags_only.n_bytes;
sum_tags->obj_id = tags_only.obj_id;
tags_only.chunk_id = sum_tags->chunk_id;
tags_only.n_bytes = sum_tags->n_bytes;
tags_only.obj_id = sum_tags->obj_id;
- yaffs_unpack_tags2_tags_only(tags, &tags_only);
+ yaffs_unpack_tags2_tags_only(dev, tags, &tags_only);
return YAFFS_OK;
}
return YAFFS_FAIL;
void yaffs_summary_gc(struct yaffs_dev *dev, int blk)
{
struct yaffs_block_info *bi = yaffs_get_block_info(dev, blk);
- int i;
+ u32 i;
if (!bi->has_summary)
return;