public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Howard Gray <rhea@matrix-vision.de>
To: Armin <armin@melware.de>
Cc: linux-mtd@lists.infradead.org
Subject: Re: fix jffs2 data errors ?
Date: Tue, 27 Jan 2004 14:13:09 +0100	[thread overview]
Message-ID: <200401271413.09390.rhea@matrix-vision.de> (raw)
In-Reply-To: <Pine.LNX.4.31.0401271245140.5630-100000@phoenix.one.melware.de>

On Mon, 2004-01-26 at 14:26, Armin Schindler wrote:
> Hi,
> 
> together with latest CVS of jffs2 (one week old), I try to use
> my rootfs on a jffs2 NAND-Flash partition.
> 
> It seems to work pretty good, but when I have e.g. reset/power-down,
> on the next boot/rootfs-mount I get messages like:
> 
>  jffs2_scan_dirent_node(): Name CRC failed on node at 0x001b89dc: Read 
0xffffffff,

Sorry, I missed this posting originally, otherwise I wouldn't have top posted. 
I have also seen the problems you mentioned. Please see my mail "Problem 
deleting files with NAND/JFFS2 and a possible solution" posted today. The 
"solution" appears to cure these problems too, at least for me.

On Tuesday 27 January 2004 12:47, Armin wrote:
> What is the time the garbage collection starts or finished this?
> I waited some time (about 10 minutes) and the messages still occured after
> remount.

The following is based on my observation, not from any detailed understanding 
of the code. I'm sure David Woodhouse will correct me if I'm wrong.

Garbage collection is started by the kupdated/bdflush daemon or when there are 
not enough free blocks to carry out another file operation or by the sync 
command. Or you can kick it by sending SIGHUP to the GC process. But in your 
case the GC won't clean up your bad blocks until some other file really needs 
the space, so it doesn't matter how long you wait. You could try filling up 
your FLASH with data and then erasing it again. That'll do it. 

If the GC is started by kupdated/bdflush or sync it will only really do 
something if it thinks it's necessary i.e.if some inodes are marked as dirty. 

Older versions of the GC were started by a 2 second timer but that seems to 
have been abondoned in favour of kupdated (but you can still find some 
refrences to it in the code, which foxed me for a while...).

P.S.
You can adjust the frequency with which bdflush runs by writing to /proc/sys/
vm/bdflush. See the kernel documentaion file sysctl/vm.txt for details.


--
Howard

  reply	other threads:[~2004-01-27 13:13 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-26 14:26 fix jffs2 data errors ? Armin Schindler
2004-01-27 11:23 ` John Stirling
2004-01-27 11:36   ` David Woodhouse
2004-01-27 11:42   ` Armin
2004-01-27 13:15     ` David Woodhouse
2004-01-27 15:25       ` Armin
2004-01-27 11:32 ` David Woodhouse
2004-01-27 11:47   ` Armin
2004-01-27 13:13     ` Howard Gray [this message]
2004-01-27 13:38       ` David Woodhouse
2004-01-27 13:13     ` 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=200401271413.09390.rhea@matrix-vision.de \
    --to=rhea@matrix-vision.de \
    --cc=armin@melware.de \
    --cc=linux-mtd@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox