data loss on jffs2 filesystem on dataflash
Artem B. Bityuckiy
dedekind at yandex.ru
Thu Sep 15 04:47:35 EDT 2005
Peter Menzebach wrote:
> - if (!jffs2_can_mark_obsolete(c) && c->nextblock && (c->nextblock->free_size & (c->wbuf_pagesize-1))) {
> + if (!jffs2_can_mark_obsolete(c) && c->nextblock && (c->nextblock->free_size % c->wbuf_pagesize)) {
[snip]
> - uint32_t skip = c->nextblock->free_size & (c->wbuf_pagesize-1);
> + uint32_t skip = c->nextblock->free_size % c->wbuf_pagesize;
[snip]
> -#ifdef CONFIG_JFFS2_FS_WRITEBUFFER
> #define PAGE_DIV(x) ( ((unsigned long)(x) / (unsigned long)(c->wbuf_pagesize)) * (unsigned long)(c->wbuf_pagesize) )
> #define PAGE_MOD(x) ( (unsigned long)(x) % (unsigned long)(c->wbuf_pagesize) )
> -#else
> -#define PAGE_DIV(x) ( (x) & (~(c->wbuf_pagesize - 1)) )
> -#define PAGE_MOD(x) ( (x) & (c->wbuf_pagesize - 1) )
> -#endif
Looks sane.
--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.
More information about the linux-mtd
mailing list