Re: data loss on jffs2 filesystem on dataflash

Artem B. Bityuckiy
2005-09-15T08:48:20Z

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.