public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Interesting MTD (jffs2) problem - magic bitmask not found
@ 2002-10-01 12:05 Michael Palme
  2002-10-01 15:23 ` jffs2 " Michael Palme
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Palme @ 2002-10-01 12:05 UTC (permalink / raw)
  To: linux-mtd

hello...


i've posted this on linux-arm mailing list, but i think its also 
interesting for this list...

i run 2.4.18-rmk7 with mtd from cvs (mid september).
problem as follows:
# cat /proc/mtd
   dev:    size   erasesize  name
   mtd0: 00040000 00040000 "blob"
   mtd1: 00040000 00040000 "parm"
   mtd2: 00100000 00040000 "krnl"
   mtd3: 00400000 00040000 "rd"
   mtd4: 00100000 00040000 "krnl2"
   mtd5: 00400000 00040000 "rd2"
   mtd6: 01580000 00040000 "jffs2"
# mtd_debug info /dev/mtd6
   mtd.type = MTD_NORFLASH
   mtd.flags = MTD_CAP_NORFLASH
   mtd.size = 22544384 (21M)
   mtd.erasesize = 262144 (256K)
   mtd.oobblock = 0
   mtd.oobsize = 0
   mtd.ecctype = MTD_ECC_NONE
   regions = 0
# cd /root
# ls temp
   temp1  temp2
# mkfs.jffs2 -r temp -e 262144 -o jffs2img
# eraseall /dev/mtd6
   Erasing 256 Kibyte @ ...[snip]...  100% complete.
# cp jffs2img /dev/mtd6
# mount /dev/mtdblock6 -t jffs2 /mnt/jffs2/
# cd /mnt/jffs2
# ls
   temp1  temp2
# rm -r temp*
... [this tooks very long time] ...
# ls
# cd /
# umount /mnt/jffs2/
# mount /dev/mtdblock6 -t jffs2 /mnt/jffs2/
?????????????????????????????????????????????????????????????????????
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040000:
0x2003 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040004:
0x000c instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040008:
0xdc6d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000:
0x2003 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004:
0x000c instead
...[snip]...
?????????????????????????????????????????????????????????????????????
# mount
   /dev/ramdisk on / type ext2 (rw)
   none on /proc type proc (rw)
   /dev/mtdblock6 on /mnt/jffs2 type jffs2 (rw)
# cd /mnt/jffs2/
# ls
#
...

best regards... Michael Palme

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: jffs2 problem - magic bitmask not found
  2002-10-01 12:05 Interesting MTD (jffs2) problem - magic bitmask not found Michael Palme
@ 2002-10-01 15:23 ` Michael Palme
  2002-10-01 15:56   ` Joakim Tjernlund
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Palme @ 2002-10-01 15:23 UTC (permalink / raw)
  To: Michael Palme; +Cc: linux-mtd

hello again :-)

after lots of time playing around that thing put me really into madness...

but could be i am doing something wrong!?
please verify:

i want to use jffs2 on my strongarmboard with 32Mb Intel strata flash.
so i think things to do to get a working jffs2 partition are as follows:

* built kernel with mtd and jffs2 support (i have done this ... kernel 
2.4.18-rmk7 with patched in mtd-cvs)

* built mtd-utils (successfully done -- crossbuilt for running on arm 
native)

* create partitions on flash (i have done this via commmand line 
partition table parsing -- CONFIG_CMDLINE="root=/dev/ram0 
mtdparts=sa1100:256k(blob),256k(parm),1M(krnl),4M(rd),1M(krnl2),4M(rd2),-(jffs2)")

* erase the jffs2 partition (done via "eraseall /dev/mtd6" -- also tried 
to delete it via jtag, so im sure theres no crap in after erasing...)

* verify things ("cat /proc/mtd" and "mtd_debug info /dev/mtd6" -- okay, 
everything as expected)

* create a jffs2 image (done via "mkfs.jffs2 -r foo -o jffs2.img -p -e 
262144"  -- image contains only a dummy file and is very small)

* copy the image to the mtd partition ("cp jffs2.img /dev/mtd6")

* mounting the jffs2 partition 1st time (works okay via "mount -t jffs2 
/dev/mtdblock6 /mnt/jffs2")

* verify contents (okay "ls /mnt/jffs2" shows the dummy file)

BUT THEN:

* umount jffs2 part ("umount /mnt/jffs2") takes *very* long

* immediately remount of the jffs2 part brings lots of error messages:

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040000:
0x2003 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040004:
0x000c instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040008:
0xdc6d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000:
0x2003 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004:
0x000c instead

* but after that, "mount" shows the jffs2 part as mounted and i can see 
the dummy file again

* now unmounting again -- now very fast!?

i've tried again and again... no success.

please who can help
i need the fs for production use...

thanks in advance ... Michael Palme

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: jffs2 problem - magic bitmask not found
  2002-10-01 15:23 ` jffs2 " Michael Palme
@ 2002-10-01 15:56   ` Joakim Tjernlund
  0 siblings, 0 replies; 3+ messages in thread
From: Joakim Tjernlund @ 2002-10-01 15:56 UTC (permalink / raw)
  To: Michael Palme; +Cc: linux-mtd

> 
> hello again :-)
> 
> after lots of time playing around that thing put me really into madness...
> 
> but could be i am doing something wrong!?
> please verify:
> 
> i want to use jffs2 on my strongarmboard with 32Mb Intel strata flash.
> so i think things to do to get a working jffs2 partition are as follows:
> 
> * built kernel with mtd and jffs2 support (i have done this ... kernel 
> 2.4.18-rmk7 with patched in mtd-cvs)
> 
> * built mtd-utils (successfully done -- crossbuilt for running on arm 
> native)
> 
> * create partitions on flash (i have done this via commmand line 
> partition table parsing -- CONFIG_CMDLINE="root=/dev/ram0 
> mtdparts=sa1100:256k(blob),256k(parm),1M(krnl),4M(rd),1M(krnl2),4M(rd2),-(jffs2)")
> 
> * erase the jffs2 partition (done via "eraseall /dev/mtd6" -- also tried 
> to delete it via jtag, so im sure theres no crap in after erasing...)
> 
> * verify things ("cat /proc/mtd" and "mtd_debug info /dev/mtd6" -- okay, 
> everything as expected)
> 
> * create a jffs2 image (done via "mkfs.jffs2 -r foo -o jffs2.img -p -e 
> 262144"  -- image contains only a dummy file and is very small)
> 
> * copy the image to the mtd partition ("cp jffs2.img /dev/mtd6")
> 
> * mounting the jffs2 partition 1st time (works okay via "mount -t jffs2 
> /dev/mtdblock6 /mnt/jffs2")
> 
> * verify contents (okay "ls /mnt/jffs2" shows the dummy file)
> 
> BUT THEN:
> 
> * umount jffs2 part ("umount /mnt/jffs2") takes *very* long

JFFS2 is probaly erasing and putting a CLEANMARKER on all unused erase blocks
and will block until it's finished. I think this can be fixed.

What happens if you wait 5-10 minutes before you unmount the FS for the time?
While waiting, do a couple of 'df' commands and see if the Use field slowly increases to
100% and then drops back your expected usage.

> 
> * immediately remount of the jffs2 part brings lots of error messages:
> 
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040000:
> 0x2003 instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040004:
> 0x000c instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040008:
> 0xdc6d instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000:
> 0x2003 instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004:
> 0x000c instead

No idea why this happens.

> 
> * but after that, "mount" shows the jffs2 part as mounted and i can see 
> the dummy file again
> 
> * now unmounting again -- now very fast!?

That's because JFFS2 already has marked all unused erase blocks with a CLEANMARKER.

 Jocke

> 
> i've tried again and again... no success.
> 
> please who can help
> i need the fs for production use...
> 
> thanks in advance ... Michael Palme
> 
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-10-01 15:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-01 12:05 Interesting MTD (jffs2) problem - magic bitmask not found Michael Palme
2002-10-01 15:23 ` jffs2 " Michael Palme
2002-10-01 15:56   ` Joakim Tjernlund

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox