problems when remounting jffs2

Gagneraud Christian cgagneraud at anfora.fr
Fri Apr 19 08:20:46 EDT 2002


On 2002年4月19日 13:04:56 +0100
David Woodhouse <dwmw2 at infradead.org> wrote:
>> OK,... so you commented out the code which sets the CRC, then without 
> mentioning this you asked on the mailing list why JFFS2 was complaining 
> that the CRC wasn't set correctly... :)
sorry, i'm relativly new in hacking in Linux. I'm not originaly a programmer
i'm hardwware engineer!
>> Put it back in again. Just:
> 	#define unlikely(x) (x)
OK, now i've add in include/linux/compiler.h:
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
so my compiler.h is the same as in 2.4.18
And now all works fine, that's great! i can mount,umount,mount,umount.......
thanks very much and all apologies.
>> --
> dwmw2
>>
On 2002年4月19日 11:54:37 +0100
David Woodhouse <dwmw2 at infradead.org> wrote:
>> void jffs2_mark_erased_blocks(struct jffs2_sb_info *c)
> {
> static struct jffs2_unknown_node marker = {
> magic: JFFS2_MAGIC_BITMASK,
> nodetype: JFFS2_NODETYPE_CLEANMARKER,
> totlen: sizeof(struct jffs2_unknown_node)
> };
> struct jffs2_eraseblock *jeb;
> struct jffs2_raw_node_ref *marker_ref = NULL;
> unsigned char *ebuf;
> size_t retlen;
> int ret;
>> if (unlikely(!marker.hdr_crc))
> marker.hdr_crc = crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4);
>>> Can you make that the calculated CRC when it calculates it?

My code is:
void jffs2_mark_erased_blocks(struct jffs2_sb_info *c)
{
 static struct jffs2_unknown_node marker = {
 magic: JFFS2_MAGIC_BITMASK,
 nodetype: JFFS2_NODETYPE_CLEANMARKER,
 totlen: sizeof(struct jffs2_unknown_node)
 };
 struct jffs2_eraseblock *jeb;
 struct jffs2_raw_node_ref *marker_ref = NULL;
 unsigned char *ebuf;
 size_t retlen;
 int ret;
#if 0 /* GANS */
 if (unlikely(!marker.hdr_crc))
 marker.hdr_crc = crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4);
#endif
I have "#if 0" the if(unlikely) because i use kernel 2.4.4 and i dont have
the function unlikely (nor in my kernel, nor in mtd/jffs2), sorry but i'm a beginner.
So i have to remove my #if 0 and keep th unlikely from a recent kernel!
>> --
> dwmw2
>>
-- 
/**********************************************
* Christian Gagneraud
***********************************************
* cgagneraud at anfora.fr
***********************************************
* ANFORA
* bat Actys, Voie3
* 31313 Labège Innopole
* FRANCE
***********************************************/
-- 
/**********************************************
* Christian Gagneraud
***********************************************
* cgagneraud at anfora.fr
***********************************************
* ANFORA
* bat Actys, Voie3
* 31313 Labège Innopole
* FRANCE
***********************************************/


More information about the linux-mtd mailing list

AltStyle によって変換されたページ (->オリジナル) /