All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Belyakov <alexander.belyakov@intel.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Holger Schurig <h.schurig@mn-solutions.de>,
	linux-mtd@lists.infradead.org
Subject: Re: Problem of "JFFS2 summary"
Date: Fri, 07 Apr 2006 12:21:47 +0400	[thread overview]
Message-ID: <4436211B.7020004@intel.com> (raw)
In-Reply-To: <20060407081220.GE10831@localhost.localdomain>

Sascha Hauer wrote:
> On Fri, Apr 07, 2006 at 08:28:33AM +0200, Holger Schurig wrote:
>   
>>> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
>>> 0x00080000: 0x00b0 instead jffs2_scan_eraseblock(): Magic bitmask
>>> 0x1985 not found at 0x00080004: 0x00b0 instead
>>>       
>> I got similar problems with stock kernel 2.6.16.1 and sumtool from 
>> mtd-utils, CVSDATE 2006-02-23.
>>
>> After this, I thought "nice idea", recompiled my kernel without 
>> CONFIG_JFFS2_SUMMARY and flashed the normal jffs2 image to get a 
>> working system.
>>     
>
> Just for the sake of completeness: I too tried it yesterday with
> 2.6.16-git and sumtool from mtd cvs and got the same errors.
> Continued to work without summary support then.
>
> Sascha
>   

I came across the same problem with wrong magic bitmarks, CRC error and 
finally Kernel panic at rootfs mount time. I  used sumtool-processed 
rootfs image and recompiled kernel with CONFIG_JFFS2_SUMMARY enabled 
(MTD snapshot 20060315 on 2.6.15.6 kernel).

Brief code analysis showed that I do not understand some summary feature 
related code in jffs2_scan_eraseblock() function.

...
    if (!buf_size) {
        buf_len = c->sector_size;

        if (jffs2_sum_active()) {
            /* must reread because of summary test */
            err = jffs2_flash_read_safe(c, buf_ofs, buf_len, buf);
            if (err)
                return err;
        }

    }
...

Here jffs2_flash_read_safe() uses buffer (unsigned char *buf) to read 
to, despite pointer to that buffer has been assigned by point() function 
in jffs2_scan_medium() routine. Is this correct?

I have disabled that code and got my rootfs successfully mounted with 
JFFS2_SUMMARY enabled..

...
    if (!buf_size) {
        buf_len = c->sector_size;

#if 0
        if (jffs2_sum_active()) {
            /* must reread because of summary test */
            err = jffs2_flash_read_safe(c, buf_ofs, buf_len, buf);
            if (err)
                return err;
        }
#endif

    }
...

Probably someone who is in charge of JFFS2_SUMMARY feature can elaborate 
on this.

Regards,
Alexander Belyakov

  reply	other threads:[~2006-04-07  8:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-06 13:50 Problem of "JFFS2 summary" phAntOm yAng
2006-04-07  6:28 ` Holger Schurig
2006-04-07  8:12   ` Sascha Hauer
2006-04-07  8:21     ` Alexander Belyakov [this message]
2006-04-07 10:02       ` Ferenc Havasi
2006-04-18  8:06         ` Alexander Belyakov
2006-04-21  1:58           ` Ferenc Havasi
2006-04-21 13:44             ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4436211B.7020004@intel.com \
    --to=alexander.belyakov@intel.com \
    --cc=h.schurig@mn-solutions.de \
    --cc=linux-mtd@lists.infradead.org \
    --cc=s.hauer@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.