Re: [PATCH]fs/jffs2/wbuf.c: add compatibility support for OOB data block

Artem B. Bityuckiy
2005-08-15T12:35:44Z

Ferenc Havasi wrote:
> No. The task of this condition is to make sure that the summary was
> generated correctly. If the summary is generated by the filesystem, it
> will be always good, but you are also able to generate summary with the
> userspace tool 'sumtool'. If we do not recognise this mistake that can
> cause big problems and make the user confused.
>
Err, do you mean that sumtool may generate summary with wrong erase_size?

Well, but my assumption is also valid. Glance at fs.c:466

c->sector_size = c->mtd->erasesize;
blocks = c->flash_size / c->sector_size;
if (!(c->mtd->flags & MTD_NO_VIRTBLOCKS)) {
while ((blocks * sizeof (struct jffs2_eraseblock)) > (128 * 1024)) {
blocks >>= 1;
c->sector_size <<= 1;
}
}

Here the size of eraseblock depends on sizeof(struct jffs2_eraseblock).
You increase the size of 'struct jffs2_eraseblock'. So, you may have a
situation when one mounts an *old* image with *new* JFFS2 with *summary
enabled*, and JFFS2 uses *larger* virtual eraseblock size, because

blocks * sizeof (struct jffs2_eraseblock)) > (128 * 1024)

condition is changed.

How is this situation handled?

--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.