From: Michal Simek <michal.simek@petalogix.com>
To: linux-mtd@lists.infradead.org
Cc: dwmw2@infradead.org, John Williams <john.williams@petalogix.com>
Subject: Unaligned jffs2 dnode address - tested by nandsim
Date: Thu, 19 May 2011 13:42:36 +0200 [thread overview]
Message-ID: <4DD5022C.9060205@petalogix.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 3126 bytes --]
Hi,
I have reached one problem with jffs2 fs ecc tested by nandsim on Microblaze.
I am getting the fault like this.
# md5sum /mnt/delete.png
uncorrectable error :
uncorrectable error :
uncorrectable error :
uncorrectable error :
uncorrectable error :
mtd->read(0xcda bytes from 0xc044) returned ECC error
Data CRC 3bcfd461 != calculated CRC e6038cde for node at 0000c000
uncorrectable error :
uncorrectable error :
uncorrectable error :
uncorrectable error :
uncorrectable error :
mtd->read(0xcda bytes from 0xc044) returned ECC error
Data CRC 3bcfd461 != calculated CRC e6038cde for node at 0000c000
The main problem is that there is one address with is not aligned which caused
that ecc counting uses wrong data.
I also found in nand_ecc code that there is written
"It is assumed that the buffers are aligned." which is definitely wrong for my
case. I expect that it is 4B alignment.
I generated jffs2 filesystem by the following command (mkfs.jffs2 revision 1.60)
mkfs.jffs2 -n -b -e 16KiB -t -d <folder> -o test.jffs2
test.jffs2 is also attached.
I use these command to mounted:
flash_eraseall /dev/mtd0
nandwrite -p /dev/mtd0 /var/ftp/test.jffs2
mount -t jffs2 mtd:"NAND simulator partition 0" /mnt
After enable some jffs2 debug message I have got the log.
[JFFS2 DBG] (74) jffs2_add_tn_to_tree: insert fragment 0x00-0x1000, ver 1 at
00000900
[JFFS2 DBG] (74) jffs2_lookup_tn: root c0c37df8, offset 0
[JFFS2 DBG] (74) jffs2_add_tn_to_tree: 'this' found 0x1000-0x2000 (data)
[JFFS2 DBG] (74) jffs2_add_tn_to_tree: Ponder this ver 2, 0x1000-0x1000
[JFFS2 DBG] (74) read_dnode: After adding ver 1:
[JFFS2 DBG] (74) read_dnode: c78432c0: v 1 r 0x0-0x1000 ov 0
[JFFS2 DBG] (74) read_dnode: c78432e0: v 2 r 0x1000-0x2000 ov 0
[JFFS2 DBG] (74) read_dnode: c7843300: v 3 r 0x2000-0x3000 ov 0
[JFFS2 DBG] (74) read_dnode: c7843320: v 4 r 0x3000-0x364a ov 0
[JFFS2 DBG] (74) read_dnode: c7843340: v 5 r 0x364a-0x4000 ov 0
[JFFS2 DBG] (74) read_dnode: c7843360: v 6 r 0x4000-0x5000 ov 0
[JFFS2 DBG] (74) read_dnode: c7843380: v 7 r 0x5000-0x6000 ov 0
[JFFS2 DBG] (74) read_dnode: c78433a0: v 8 r 0x6000-0x7000 ov 0
[JFFS2 DBG] (74) read_dnode: c78433c0: v 9 r 0x7000-0x7316 ov 0
You see that tn->fn->ofs which is 0x364a which is not aligned. This offset is
causing
I also tried to disable zlib compression which caused that map has changed and
it is aligned and there is no problem with ECC computing.
mkfs.jffs2 -n -b -e 16KiB -t -d <folder> -o test-nozlib.jffs2 -x zlib
Have you ever seen this fault with alignment?
I think that the problem is with test.jffs2 generation.
Is there any option to setup that everything is aligned?
Or are you aware about any workaround how to prevent this fault?
I do some testing directly on Microblaze. Generate random files and test them
and I haven't seen any problem when target read/write data from jffs2 on nand
with ecc. The problem is only with test.jffs2 generated on host I see this fault.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663
[-- Attachment #2: test.jffs2 --]
[-- Type: application/octet-stream, Size: 41884 bytes --]
[-- Attachment #3: test-nozlib.jffs2 --]
[-- Type: application/octet-stream, Size: 32380 bytes --]
next reply other threads:[~2011-05-19 11:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-19 11:42 Michal Simek [this message]
2011-05-24 7:33 ` Unaligned jffs2 dnode address - tested by nandsim Michal Simek
2011-05-24 7:33 ` Michal Simek
2011-05-27 14:35 ` Milton Miller
2011-05-27 14:35 ` Milton Miller
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=4DD5022C.9060205@petalogix.com \
--to=michal.simek@petalogix.com \
--cc=dwmw2@infradead.org \
--cc=john.williams@petalogix.com \
--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 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.