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