public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Fail to mount ubifs
@ 2010-01-11 18:56 Jon Ringle
  2010-01-12  0:20 ` Jon Ringle
  0 siblings, 1 reply; 17+ messages in thread
From: Jon Ringle @ 2010-01-11 18:56 UTC (permalink / raw)
  To: linux-mtd

Hi,

I'm having problems with mounting ubifs. Flash is 32MB NOR (Intel
strata JS28F256P30T95).

Linux-2.6.31.11 with backport updates from
git://git.infradead.org/~dedekind/ubifs-v2.6.31.git

It fails to mount even if I truncate the volume with 'ubiupdatevol -t
/dev/ubi0_2'.

Thanks for your help.
Jon

$ grep _UBI kernelconfig-2.6.31
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
CONFIG_MTD_UBI_GLUEBI=m
# CONFIG_MTD_UBI_DEBUG is not set
CONFIG_UBIFS_FS=m
# CONFIG_UBIFS_FS_XATTR is not set
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_DEBUG=y
CONFIG_UBIFS_FS_DEBUG_MSG_LVL=0
CONFIG_UBIFS_FS_DEBUG_CHKS=y

(initramfs) lsmod
Module                  Size  Used by
ubifs                 376300  0
gluebi                  6616  2
ixp4xx_eth             13972  0
pcimsg                  9144  0
ubi                    84092  3 ubifs,gluebi
ixp4xx                  3532  1
redboot                 4128  0
(initramfs) cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "RedBoot"
mtd1: 01f20000 00020000 "ubi"
mtd2: 00001000 00020000 "RedBoot config"
mtd3: 00020000 00020000 "FIS directory"
mtd4: 00352080 0001ff80 "kernel"
mtd5: 00d34000 0001ff80 "squashfs"
mtd6: 00dfc800 0001ff80 "ubifs"
(initramfs) ubinfo -a
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:60
Present UBI devices:            ubi0

ubi0
Volumes count:                           3
Logical eraseblock size:                 130944 bytes, f KiB
Total amount of logical eraseblocks:     249 (32605056 bytes, f MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  0
Current maximum erase counter value:     65
Minimum input/output unit size:          1 byte
Character device major/minor:            253:0
Present volumes:                         0, 1, 2

Volume ID:   0 (on ubi0)
Type:        static
Alignment:   1
Size:        27 LEBs (3535488 bytes, f MiB)
Data bytes:  3481728 bytes (f MiB)
State:       OK
Name:        kernel
Character device major/minor: 253:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        static
Alignment:   1
Size:        106 LEBs (13880064 bytes, f MiB)
Data bytes:  13844480 bytes (f MiB)
State:       OK
Name:        squashfs
Character device major/minor: 253:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        112 LEBs (14665728 bytes, f MiB)
State:       OK
Name:        ubifs
Character device major/minor: 253:3
(initramfs) mount -t ubifs ubi0:ubifs /mnt
[   49.510000] UBIFS DBG (pid 1495): ubifs_bg_thread: background
thread "ubifs_bgt0_2" started, PID 1495
[   49.590000] UBIFS: recovery needed
[   49.800000] UBIFS error (pid 1491): check_lpt_crc: invalid crc in
LPT node: crc cbcb calc cbfb
[   49.810000] [<c01822bc>] (unwind_backtrace+0x0/0x160) from
[<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
[   49.820000] [<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
[<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs])
[   49.830000] [<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs]) from
[<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs])
[   49.840000] [<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs]) from
[<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518 [ubifs])
[   49.850000] [<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518
[ubifs]) from [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs])
[   49.860000] [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs]) from
[<bf0654e4>] (do_commit+0x12c/0xa80 [ubifs])
[   49.870000] [<bf0654e4>] (do_commit+0x12c/0xa80 [ubifs]) from
[<bf0784dc>] (ubifs_rcvry_gc_commit+0x9c/0x718 [ubifs])
[   49.880000] [<bf0784dc>] (ubifs_rcvry_gc_commit+0x9c/0x718 [ubifs])
from [<bf051fec>] (mount_ubifs+0x69c/0x1620 [ubifs])
[   49.890000] [<bf051fec>] (mount_ubifs+0x69c/0x1620 [ubifs]) from
[<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
[   49.910000] [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
from [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
[   49.920000] [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
[<c01f5360>] (vfs_kern_mount+0x68/0x12c)
[   49.930000] [<c01f5360>] (vfs_kern_mount+0x68/0x12c) from
[<c01f5468>] (do_kern_mount+0x34/0xdc)
[   49.940000] [<c01f5468>] (do_kern_mount+0x34/0xdc) from
[<c020dad0>] (do_mount+0x210/0x244)
[   49.940000] [<c020dad0>] (do_mount+0x210/0x244) from [<c020dba0>]
(sys_mount+0x9c/0xd0)
[   49.950000] [<c020dba0>] (sys_mount+0x9c/0xd0) from [<c017c9e0>]
(ret_fast_syscall+0x0/0x2c)
[   49.960000] UBIFS error (pid 1491): do_commit: commit failed, error -22
[   49.970000] UBIFS warning (pid 1491): ubifs_ro_mode: switched to
read-only mode, error -22
[   49.980000] [<c01822bc>] (unwind_backtrace+0x0/0x160) from
[<bf0654a8>] (do_commit+0xf0/0xa80 [ubifs])
[   49.990000] [<bf0654a8>] (do_commit+0xf0/0xa80 [ubifs]) from
[<bf0784dc>] (ubifs_rcvry_gc_commit+0x9c/0x718 [ubifs])
[   50.000000] [<bf0784dc>] (ubifs_rcvry_gc_commit+0x9c/0x718 [ubifs])
from [<bf051fec>] (mount_ubifs+0x69c/0x1620 [ubifs])
[   50.010000] [<bf051fec>] (mount_ubifs+0x69c/0x1620 [ubifs]) from
[<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
[   50.020000] [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
from [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
[   50.030000] [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
[<c01f5360>] (vfs_kern_mount+0x68/0x12c)
[   50.040000] [<c01f5360>] (vfs_kern_mount+0x68/0x12c) from
[<c01f5468>] (do_kern_mount+0x34/0xdc)
[   50.050000] [<c01f5468>] (do_kern_mount+0x34/0xdc) from
[<c020dad0>] (do_mount+0x210/0x244)
[   50.060000] [<c020dad0>] (do_mount+0x210/0x244) from [<c020dba0>]
(sys_mount+0x9c/0xd0)
[   50.070000] [<c020dba0>] (sys_mount+0x9c/0xd0) from [<c017c9e0>]
(ret_fast_syscall+0x0/0x2c)
[   50.200000] UBIFS error (pid 1491): check_lpt_crc: invalid crc in
LPT node: crc cbcb calc cbfb
[   50.210000] [<c01822bc>] (unwind_backtrace+0x0/0x160) from
[<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
[   50.220000] [<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
[<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs])
[   50.230000] [<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs]) from
[<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs])
[   50.250000] [<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs]) from
[<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518 [ubifs])
[   50.260000] [<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518
[ubifs]) from [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs])
[   50.270000] [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs]) from
[<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs])
[   50.280000] [<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs]) from
[<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
[   50.290000] [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
from [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
[   50.300000] [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
[<c01f5360>] (vfs_kern_mount+0x68/0x12c)
[   50.310000] [<c01f5360>] (vfs_kern_mount+0x68/0x12c) from
[<c01f5468>] (do_kern_mount+0x34/0xdc)
[   50.320000] [<c01f5468>] (do_kern_mount+0x34/0xdc) from
[<c020dad0>] (do_mount+0x210/0x244)
[   50.330000] [<c020dad0>] (do_mount+0x210/0x244) from [<c020dba0>]
(sys_mount+0x9c/0xd0)
[   50.340000] [<c020dba0>] (sys_mount+0x9c/0xd0) from [<c017c9e0>]
(ret_fast_syscall+0x0/0x2c)
[   50.350000] UBIFS DBG (pid 1495): ubifs_bg_thread: background
thread "ubifs_bgt0_2" stops
mount: Invalid argument
(initramfs) ubiupdatevol -t /dev/ubi0_2
(initramfs) mount -t ubifs ubi0:ubifs /mnt
[  115.910000] UBIFS: default file-system created
[  115.980000] UBIFS DBG (pid 1501): ubifs_bg_thread: background
thread "ubifs_bgt0_2" started, PID 1501
[  116.260000] UBIFS error (pid 1499): check_lpt_crc: invalid crc in
LPT node: crc cbcb calc cbfb
[  116.270000] [<c01822bc>] (unwind_backtrace+0x0/0x160) from
[<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
[  116.280000] [<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
[<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs])
[  116.290000] [<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs]) from
[<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs])
[  116.300000] [<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs]) from
[<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518 [ubifs])
[  116.310000] [<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518
[ubifs]) from [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs])
[  116.320000] [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs]) from
[<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs])
[  116.340000] [<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs]) from
[<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
[  116.350000] [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
from [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
[  116.360000] [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
[<c01f5360>] (vfs_kern_mount+0x68/0x12c)
[  116.370000] [<c01f5360>] (vfs_kern_mount+0x68/0x12c) from
[<c01f5468>] (do_kern_mount+0x34/0xdc)
[  116.380000] [<c01f5468>] (do_kern_mount+0x34/0xdc) from
[<c020dad0>] (do_mount+0x210/0x244)
[  116.380000] [<c020dad0>] (do_mount+0x210/0x244) from [<c020dba0>]
(sys_mount+0x9c/0xd0)
[  116.390000] [<c020dba0>] (sys_mount+0x9c/0xd0) from [<c017c9e0>]
(ret_fast_syscall+0x0/0x2c)
[  116.400000] UBIFS DBG (pid 1501): ubifs_bg_thread: background
thread "ubifs_bgt0_2" stops
mount: Invalid argument

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

* Re: Fail to mount ubifs
  2010-01-11 18:56 Fail to mount ubifs Jon Ringle
@ 2010-01-12  0:20 ` Jon Ringle
  2010-01-12  4:50   ` Artem Bityutskiy
  2010-01-12 21:33   ` Artem Bityutskiy
  0 siblings, 2 replies; 17+ messages in thread
From: Jon Ringle @ 2010-01-12  0:20 UTC (permalink / raw)
  To: linux-mtd

I should be able to mount an empty ubi volume as ubifs right?
But I get this on a freshly made volume:
UBIFS error (pid 1493): check_lpt_crc: invalid crc in LPT node: crc
cbcb calc cbfb

I'm not sure what to try now...

Jon

(initramfs) ubinfo -a
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:60
Present UBI devices:            ubi0

ubi0
Volumes count:                           2
Logical eraseblock size:                 130944 bytes, f KiB
Total amount of logical eraseblocks:     249 (32605056 bytes, f MiB)
Amount of available logical eraseblocks: 112 (14665728 bytes, f MiB)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  0
Current maximum erase counter value:     72
Minimum input/output unit size:          1 byte
Character device major/minor:            253:0
Present volumes:                         0, 1

Volume ID:   0 (on ubi0)
Type:        static
Alignment:   1
Size:        27 LEBs (3535488 bytes, f MiB)
Data bytes:  3481728 bytes (f MiB)
State:       OK
Name:        kernel
Character device major/minor: 253:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        static
Alignment:   1
Size:        106 LEBs (13880064 bytes, f MiB)
Data bytes:  13844480 bytes (f MiB)
State:       OK
Name:        squashfs
Character device major/minor: 253:2
(initramfs)
(initramfs) ubimkvol -m -N ubifs /dev/ubi0
Set volume size to 14665728
Volume ID 2, size 112 LEBs (14665728 bytes, f MiB), LEB size 130944
bytes (f KiB), dynamic, name "ubifs", alignment 1
(initramfs)
(initramfs) mkdir /mnt
(initramfs) mount -t ubifs ubi0:ubifs /mnt
[  277.900000] UBIFS: default file-system created
[  277.980000] UBIFS DBG (pid 1497): ubifs_bg_thread: background
thread "ubifs_bgt0_2" started, PID 1497
[  278.260000] UBIFS error (pid 1493): check_lpt_crc: invalid crc in
LPT node: crc cbcb calc cbfb
[  278.260000] [<c01822bc>] (unwind_backtrace+0x0/0x160) from
[<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
[  278.270000] [<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
[<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs])
[  278.280000] [<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs]) from
[<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs])
[  278.300000] [<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs]) from
[<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518 [ubifs])
[  278.310000] [<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518
[ubifs]) from [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs])
[  278.320000] [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs]) from
[<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs])
[  278.330000] [<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs]) from
[<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
[  278.340000] [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
from [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
[  278.350000] [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
[<c01f5360>] (vfs_kern_mount+0x68/0x12c)
[  278.360000] [<c01f5360>] (vfs_kern_mount+0x68/0x12c) from
[<c01f5468>] (do_kern_mount+0x34/0xdc)
[  278.370000] [<c01f5468>] (do_kern_mount+0x34/0xdc) from
[<c020dad0>] (do_mount+0x210/0x244)
[  278.380000] [<c020dad0>] (do_mount+0x210/0x244) from [<c020dba0>]
(sys_mount+0x9c/0xd0)
[  278.390000] [<c020dba0>] (sys_mount+0x9c/0xd0) from [<c017c9e0>]
(ret_fast_syscall+0x0/0x2c)
[  278.400000] UBIFS DBG (pid 1497): ubifs_bg_thread: background
thread "ubifs_bgt0_2" stops
mount: Invalid argument

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

* Re: Fail to mount ubifs
  2010-01-12  0:20 ` Jon Ringle
@ 2010-01-12  4:50   ` Artem Bityutskiy
  2010-01-12 12:07     ` Jon Ringle
  2010-01-12 20:23     ` Jon Ringle
  2010-01-12 21:33   ` Artem Bityutskiy
  1 sibling, 2 replies; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-12  4:50 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd

Hi,

On Mon, 2010-01-11 at 19:20 -0500, Jon Ringle wrote:
> I should be able to mount an empty ubi volume as ubifs right?
> But I get this on a freshly made volume:
> UBIFS error (pid 1493): check_lpt_crc: invalid crc in LPT node: crc
> cbcb calc cbfb
> 
> I'm not sure what to try now...

As this entry suggests:
http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport

- validate your flash/driver with the MTD tests - looks like you have a
problem there.

> (initramfs) ubinfo -a
> UBI version:                    1
> Count of UBI devices:           1
> UBI control device major/minor: 10:60
> Present UBI devices:            ubi0
> 
> ubi0
> Volumes count:                           2
> Logical eraseblock size:                 130944 bytes, f KiB

Hmm, this f KiB looks weird.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-12  4:50   ` Artem Bityutskiy
@ 2010-01-12 12:07     ` Jon Ringle
  2010-01-12 21:37       ` Artem Bityutskiy
  2010-01-12 20:23     ` Jon Ringle
  1 sibling, 1 reply; 17+ messages in thread
From: Jon Ringle @ 2010-01-12 12:07 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd

On Mon, Jan 11, 2010 at 11:50 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> Hi,
>
> On Mon, 2010-01-11 at 19:20 -0500, Jon Ringle wrote:
>> I should be able to mount an empty ubi volume as ubifs right?
>> But I get this on a freshly made volume:
>> UBIFS error (pid 1493): check_lpt_crc: invalid crc in LPT node: crc
>> cbcb calc cbfb
>>
>> I'm not sure what to try now...
>
> As this entry suggests:
> http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
>
> - validate your flash/driver with the MTD tests - looks like you have a
> problem there.

I will try the tests today and report back.

>> (initramfs) ubinfo -a
>> UBI version:                    1
>> Count of UBI devices:           1
>> UBI control device major/minor: 10:60
>> Present UBI devices:            ubi0
>>
>> ubi0
>> Volumes count:                           2
>> Logical eraseblock size:                 130944 bytes, f KiB
>
> Hmm, this f KiB looks weird.

Why is it weird? It is 128 bytes less than my PEB size of 0x20000.

Jon

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

* Re: Fail to mount ubifs
  2010-01-12  4:50   ` Artem Bityutskiy
  2010-01-12 12:07     ` Jon Ringle
@ 2010-01-12 20:23     ` Jon Ringle
  2010-01-12 20:49       ` Jon Ringle
  2010-01-12 21:30       ` Artem Bityutskiy
  1 sibling, 2 replies; 17+ messages in thread
From: Jon Ringle @ 2010-01-12 20:23 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd

On Mon, Jan 11, 2010 at 11:50 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> As this entry suggests:
> http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
>
> - validate your flash/driver with the MTD tests - looks like you have a
> problem there.

Trying to run mtd_readtest I get a seg fault:

(initramfs) lsmod
Module                  Size  Used by
(initramfs) modprobe redboot
(initramfs) modprobe ixp4xx
[   37.570000] IXP4XX-Flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
[   37.570000]  Intel/Sharp Extended Query Table at 0x010A
[   37.580000]  Intel/Sharp Extended Query Table at 0x010A
[   37.580000]  Intel/Sharp Extended Query Table at 0x010A
[   37.590000]  Intel/Sharp Extended Query Table at 0x010A
[   37.590000]  Intel/Sharp Extended Query Table at 0x010A
[   37.600000] Using buffer write method
[   37.600000] Using auto-unlock on power-up/resume
[   37.610000] cfi_cmdset_0001: Erase suspend on write enabled
[   37.610000] Searching for RedBoot partition table in IXP4XX-Flash.0
at offset 0x1fc0000
[   37.680000] 4 RedBoot partitions found on MTD device IXP4XX-Flash.0
[   37.690000] Creating 4 MTD partitions on "IXP4XX-Flash.0":
[   37.700000] 0x000000000000-0x000000080000 : "RedBoot"
[   37.700000] 0x000000080000-0x000001fa0000 : "ubi"
[   37.710000] 0x000001fa0000-0x000001fa1000 : "RedBoot config"
[   37.720000] mtd: partition "RedBoot config" doesn't end on an erase
block -- leaving writable anyway
[   37.730000] 0x000001fc0000-0x000001fe0000 : "FIS directory"
(initramfs) cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "RedBoot"
mtd1: 01f20000 00020000 "ubi"
mtd2: 00001000 00020000 "RedBoot config"
mtd3: 00020000 00020000 "FIS directory"
(initramfs) lsmod
Module                  Size  Used by
ixp4xx                  3532  0
redboot                 4128  0
(initramfs) modprobe mtd_readtest dev=1
[   67.430000]
[   67.430000] =================================================
[   67.440000] mtd_readtest: MTD device: 1
[   67.440000] mtd_readtest: not NAND flash, assume page size is 512 bytes.
[   67.450000] mtd_readtest: MTD device size 32636928, eraseblock size
131072, page size 512, count of eraseblocks 249, pages per eraseblock
131072, OOB size 0
[   67.470000] mtd_readtest: scanning for bad eraseblocks
[   67.470000] Unable to handle kernel NULL pointer dereference at
virtual address 00000000
[   67.480000] pgd = cf978000
[   67.480000] [00000000] *pgd=0d49e031, *pte=00000000, *ppte=00000000
[   67.490000] Internal error: Oops: 0 [#1] PREEMPT
[   67.490000] Modules linked in: mtd_readtest(+) ixp4xx redboot
[   67.490000] CPU: 0    Not tainted  (2.6.31.11-isc #3)
[   67.490000] PC is at 0x0
[   67.490000] LR is at scan_for_bad_eraseblocks+0x88/0x10c [mtd_readtest]
[   67.490000] pc : [<00000000>]    lr : [<bf00d28c>]    psr: 20000013
[   67.490000] sp : cf951ef0  ip : 00020000  fp : bf00e18c
[   67.490000] r10: 00000000  r9 : bf00e178  r8 : cd4e9e00
[   67.490000] r7 : 01f20000  r6 : bf00e18c  r5 : bf00e184  r4 : 00000000
[   67.490000] r3 : 00000000  r2 : 00000000  r1 : cf97e400  r0 : cf97e400
[   67.490000] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   67.490000] Control: 000039ff  Table: 0f978000  DAC: 00000015
[   67.490000] Process modprobe (pid: 706, stack limit = 0xcf950270)
[   67.490000] Stack: (0xcf951ef0 to 0xcf952000)
[   67.490000] 1ee0:                                     00020000
bf00e180 00000000 01f20000
[   67.490000] 1f00: 000000f9 bf00e188 bf00e178 bf011120 00020000
00000200 000000f9 00020000
[   67.490000] 1f20: 00000000 ffffffff 00000000 0001102a 40000180
c059172c 00000000 bf011000
[   67.490000] 1f40: cf950000 00000000 40000160 c01c02bc c0575498
c01f3770 00000000 00000000
[   67.490000] 1f60: 0001102a 0001102a 40000180 bf00e03c 00000000
c01c0b64 cf950000 00000000
[   67.490000] 1f80: 40000160 c0203c80 00001000 00000003 00000000
00000000 00000000 40000180
[   67.490000] 1fa0: 00000080 c01c09e0 00000000 00000000 40010000
0001102a 40000180 00000000
[   67.490000] 1fc0: 00000000 00000000 40000180 00000080 400001a0
400003f0 00000000 40000160
[   67.490000] 1fe0: 00000000 bedd7a60 00010650 00011564 60000010
40010000 7465456e 64007072
[   67.490000] Code: bad PC value.
[   67.640000] ---[ end trace 57fa54383f645c78 ]---
Segment violation

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

* Re: Fail to mount ubifs
  2010-01-12 20:23     ` Jon Ringle
@ 2010-01-12 20:49       ` Jon Ringle
  2010-01-12 21:23         ` Jon Ringle
  2010-01-12 21:38         ` Artem Bityutskiy
  2010-01-12 21:30       ` Artem Bityutskiy
  1 sibling, 2 replies; 17+ messages in thread
From: Jon Ringle @ 2010-01-12 20:49 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd

On Tue, Jan 12, 2010 at 3:23 PM, Jon Ringle <jon@ringle.org> wrote:
> On Mon, Jan 11, 2010 at 11:50 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
>> As this entry suggests:
>> http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
>>
>> - validate your flash/driver with the MTD tests - looks like you have a
>> problem there.
>
> Trying to run mtd_readtest I get a seg fault:
> [   67.470000] Unable to handle kernel NULL pointer dereference at
> virtual address 00000000
> [   67.480000] pgd = cf978000
> [   67.480000] [00000000] *pgd=0d49e031, *pte=00000000, *ppte=00000000
> [   67.490000] Internal error: Oops: 0 [#1] PREEMPT
> [   67.490000] Modules linked in: mtd_readtest(+) ixp4xx redboot
> [   67.490000] CPU: 0    Not tainted  (2.6.31.11-isc #3)
> [   67.490000] PC is at 0x0
> [   67.490000] LR is at scan_for_bad_eraseblocks+0x88/0x10c [mtd_readtest]

I patched mtd_readtest.c with this:
diff --git a/drivers/mtd/tests/mtd_readtest.c b/drivers/mtd/tests/mtd_readtest.c
index 79fc453..9edd658 100644
--- a/drivers/mtd/tests/mtd_readtest.c
+++ b/drivers/mtd/tests/mtd_readtest.c
@@ -130,7 +130,7 @@ static int is_block_bad(int ebnum)
        loff_t addr = ebnum * mtd->erasesize;
        int ret;

-       ret = mtd->block_isbad(mtd, addr);
+       ret = mtd->block_isbad ? mtd->block_isbad(mtd, addr) : 0;
        if (ret)
                printk(PRINT_PREF "block %d is bad\n", ebnum);
        return ret;

After this, I ran mtd_readtest and it seemed to complete, but then
hang after it was done:
(initramfs) modprobe mtd_readtest dev=1
[  194.530000]
[  194.530000] =================================================
[  194.540000] mtd_readtest: MTD device: 1
[  194.540000] mtd_readtest: not NAND flash, assume page size is 512 bytes.
[  194.550000] mtd_readtest: MTD device size 32636928, eraseblock size
131072, page size 512, count of eraseblocks 249, pages per eraseblock
131072, OOB size 0
[  194.570000] mtd_readtest: scanning for bad eraseblocks
[  194.570000] mtd_readtest: scanned 249 eraseblocks, 0 are bad
[  194.580000] mtd_readtest: testing page read
[  194.960000] ------------[ cut here ]------------
[  194.960000] WARNING: at kernel/sched.c:5175 do_page_fault+0x16c/0x1ec()
[  194.960000] Modules linked in: mtd_readtest(+)

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

* Re: Fail to mount ubifs
  2010-01-12 20:49       ` Jon Ringle
@ 2010-01-12 21:23         ` Jon Ringle
  2010-01-12 21:38         ` Artem Bityutskiy
  1 sibling, 0 replies; 17+ messages in thread
From: Jon Ringle @ 2010-01-12 21:23 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd

mtd_speedtest results:
(initramfs) modprobe mtd_speedtest dev=1
[   34.930000]
[   34.930000] =================================================
[   34.940000] mtd_speedtest: MTD device: 1
[   34.940000] mtd_speedtest: not NAND flash, assume page size is 512 bytes.
[   34.950000] mtd_speedtest: MTD device size 32636928, eraseblock
size 131072, page size 512, count of eraseblocks 249, pages per
eraseblock 131072, OOB size 0
[   34.970000] mtd_speedtest: scanning for bad eraseblocks
[   34.970000] mtd_speedtest: scanned 249 eraseblocks, 0 are bad
[  247.150000] mtd_speedtest: testing eraseblock write speed
[  280.020000] mtd_speedtest: eraseblock write speed is 969 KiB/s
[  280.030000] mtd_speedtest: testing eraseblock read speed
[  295.500000] mtd_speedtest: eraseblock read speed is 2060 KiB/s
[  508.300000] mtd_speedtest: testing page write speed
[  545.620000] mtd_speedtest: error: write failed at 0x1f20000
[  545.620000] mtd_speedtest: error -22 occurred
[  545.630000] =================================================
FATAL: Error inserting mtd_speedtest
(/lib/modules/2.6.31.11-isc/kernel/drivers/mtd/tests/mtd_speedtest.ko):
Invalid argument

The device size is 32636928 (0x1f20000), so why is the test trying to
write at 0x1f20000? This is one byte past the end of device address
space.

Jon

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

* Re: Fail to mount ubifs
  2010-01-12 20:23     ` Jon Ringle
  2010-01-12 20:49       ` Jon Ringle
@ 2010-01-12 21:30       ` Artem Bityutskiy
  2010-01-13  0:15         ` Jon Ringle
  1 sibling, 1 reply; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-12 21:30 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd

On Tue, 2010-01-12 at 15:23 -0500, Jon Ringle wrote:
> On Mon, Jan 11, 2010 at 11:50 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> > As this entry suggests:
> > http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
> >
> > - validate your flash/driver with the MTD tests - looks like you have a
> > problem there.
> 
> Trying to run mtd_readtest I get a seg fault:

Oh, yeas, you have NOR, the tests were made and used on NAND, and had
problems with NOR. But there was a fix recently:

http://git.infradead.org/users/dedekind/l2-mtd-2.6.git/commit/1ae356eafcdff6fa5c59d66072dc7577632a6d68

And you must be already have this one:
http://git.infradead.org/users/dedekind/l2-mtd-2.6.git/commit/4c2b8a62bb0e35f2db0f713b4101b265be7fa985

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-12  0:20 ` Jon Ringle
  2010-01-12  4:50   ` Artem Bityutskiy
@ 2010-01-12 21:33   ` Artem Bityutskiy
  1 sibling, 0 replies; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-12 21:33 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd

On Mon, 2010-01-11 at 19:20 -0500, Jon Ringle wrote:
> I should be able to mount an empty ubi volume as ubifs right?
> But I get this on a freshly made volume:
> UBIFS error (pid 1493): check_lpt_crc: invalid crc in LPT node: crc
> cbcb calc cbfb

Yes.

> 
> I'm not sure what to try now...
> 
> Jon
> 
> (initramfs) ubinfo -a
> UBI version:                    1
> Count of UBI devices:           1
> UBI control device major/minor: 10:60
> Present UBI devices:            ubi0
> 
> ubi0
> Volumes count:                           2
> Logical eraseblock size:                 130944 bytes, f KiB
> Total amount of logical eraseblocks:     249 (32605056 bytes, f MiB)
> Amount of available logical eraseblocks: 112 (14665728 bytes, f MiB)
> Maximum count of volumes                 128
> Count of bad physical eraseblocks:       0
> Count of reserved physical eraseblocks:  0
> Current maximum erase counter value:     72
> Minimum input/output unit size:          1 byte
> Character device major/minor:            253:0
> Present volumes:                         0, 1
> 
> Volume ID:   0 (on ubi0)
> Type:        static
> Alignment:   1
> Size:        27 LEBs (3535488 bytes, f MiB)
> Data bytes:  3481728 bytes (f MiB)
> State:       OK
> Name:        kernel
> Character device major/minor: 253:1
> -----------------------------------
> Volume ID:   1 (on ubi0)
> Type:        static
> Alignment:   1
> Size:        106 LEBs (13880064 bytes, f MiB)
> Data bytes:  13844480 bytes (f MiB)
> State:       OK
> Name:        squashfs
> Character device major/minor: 253:2
> (initramfs)
> (initramfs) ubimkvol -m -N ubifs /dev/ubi0
> Set volume size to 14665728
> Volume ID 2, size 112 LEBs (14665728 bytes, f MiB), LEB size 130944
> bytes (f KiB), dynamic, name "ubifs", alignment 1
> (initramfs)
> (initramfs) mkdir /mnt
> (initramfs) mount -t ubifs ubi0:ubifs /mnt
> [  277.900000] UBIFS: default file-system created
> [  277.980000] UBIFS DBG (pid 1497): ubifs_bg_thread: background
> thread "ubifs_bgt0_2" started, PID 1497
> [  278.260000] UBIFS error (pid 1493): check_lpt_crc: invalid crc in
> LPT node: crc cbcb calc cbfb
> [  278.260000] [<c01822bc>] (unwind_backtrace+0x0/0x160) from
> [<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
> [  278.270000] [<bf071a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
> [<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs])
> [  278.280000] [<bf071b24>] (unpack_pnode+0xdc/0xfc [ubifs]) from
> [<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs])
> [  278.300000] [<bf071d8c>] (scan_get_pnode+0x248/0x2ec [ubifs]) from
> [<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518 [ubifs])
> [  278.310000] [<bf072738>] (ubifs_lpt_scan_nolock+0x3f8/0x518
> [ubifs]) from [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs])
> [  278.320000] [<bf0754b8>] (dbg_check_lprops+0xf8/0x2e4 [ubifs]) from
> [<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs])
> [  278.330000] [<bf051ff4>] (mount_ubifs+0x6a4/0x1620 [ubifs]) from
> [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
> [  278.340000] [<bf053d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
> from [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
> [  278.350000] [<bf053f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
> [<c01f5360>] (vfs_kern_mount+0x68/0x12c)
> [  278.360000] [<c01f5360>] (vfs_kern_mount+0x68/0x12c) from
> [<c01f5468>] (do_kern_mount+0x34/0xdc)
> [  278.370000] [<c01f5468>] (do_kern_mount+0x34/0xdc) from
> [<c020dad0>] (do_mount+0x210/0x244)
> [  278.380000] [<c020dad0>] (do_mount+0x210/0x244) from [<c020dba0>]
> (sys_mount+0x9c/0xd0)
> [  278.390000] [<c020dba0>] (sys_mount+0x9c/0xd0) from [<c017c9e0>]
> (ret_fast_syscall+0x0/0x2c)
> [  278.400000] UBIFS DBG (pid 1497): ubifs_bg_thread: background
> thread "ubifs_bgt0_2" stops
> mount: Invalid argument

Do you see this problem with mtdram, which emulates NOR in RAM? The
problem is very strange. See modinfo mtdram for its parameters.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-12 12:07     ` Jon Ringle
@ 2010-01-12 21:37       ` Artem Bityutskiy
  2010-01-13  0:40         ` Jon Ringle
  0 siblings, 1 reply; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-12 21:37 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd

On Tue, 2010-01-12 at 07:07 -0500, Jon Ringle wrote:
> On Mon, Jan 11, 2010 at 11:50 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> > Hi,
> >
> > On Mon, 2010-01-11 at 19:20 -0500, Jon Ringle wrote:
> >> I should be able to mount an empty ubi volume as ubifs right?
> >> But I get this on a freshly made volume:
> >> UBIFS error (pid 1493): check_lpt_crc: invalid crc in LPT node: crc
> >> cbcb calc cbfb
> >>
> >> I'm not sure what to try now...
> >
> > As this entry suggests:
> > http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
> >
> > - validate your flash/driver with the MTD tests - looks like you have a
> > problem there.
> 
> I will try the tests today and report back.
> 
> >> (initramfs) ubinfo -a
> >> UBI version:                    1
> >> Count of UBI devices:           1
> >> UBI control device major/minor: 10:60
> >> Present UBI devices:            ubi0
> >>
> >> ubi0
> >> Volumes count:                           2
> >> Logical eraseblock size:                 130944 bytes, f KiB
> >
> > Hmm, this f KiB looks weird.
> 
> Why is it weird? It is 128 bytes less than my PEB size of 0x20000.

Because "f" is strange, I did not expect this.
The print is:
	printf("%s%.1f KiB", p, (double)bytes / 1024);

see ubiutils_print_bytes() in mtd-utils/ubi-utils/src/common.c

Not sure why it prints "f KiB" on your system.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-12 20:49       ` Jon Ringle
  2010-01-12 21:23         ` Jon Ringle
@ 2010-01-12 21:38         ` Artem Bityutskiy
  1 sibling, 0 replies; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-12 21:38 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd

On Tue, 2010-01-12 at 15:49 -0500, Jon Ringle wrote:
> On Tue, Jan 12, 2010 at 3:23 PM, Jon Ringle <jon@ringle.org> wrote:
> > On Mon, Jan 11, 2010 at 11:50 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> >> As this entry suggests:
> >> http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
> >>
> >> - validate your flash/driver with the MTD tests - looks like you have a
> >> problem there.
> >
> > Trying to run mtd_readtest I get a seg fault:
> > [   67.470000] Unable to handle kernel NULL pointer dereference at
> > virtual address 00000000
> > [   67.480000] pgd = cf978000
> > [   67.480000] [00000000] *pgd=0d49e031, *pte=00000000, *ppte=00000000
> > [   67.490000] Internal error: Oops: 0 [#1] PREEMPT
> > [   67.490000] Modules linked in: mtd_readtest(+) ixp4xx redboot
> > [   67.490000] CPU: 0    Not tainted  (2.6.31.11-isc #3)
> > [   67.490000] PC is at 0x0
> > [   67.490000] LR is at scan_for_bad_eraseblocks+0x88/0x10c [mtd_readtest]
> 
> I patched mtd_readtest.c with this:
> diff --git a/drivers/mtd/tests/mtd_readtest.c b/drivers/mtd/tests/mtd_readtest.c
> index 79fc453..9edd658 100644
> --- a/drivers/mtd/tests/mtd_readtest.c
> +++ b/drivers/mtd/tests/mtd_readtest.c
> @@ -130,7 +130,7 @@ static int is_block_bad(int ebnum)
>         loff_t addr = ebnum * mtd->erasesize;
>         int ret;
> 
> -       ret = mtd->block_isbad(mtd, addr);
> +       ret = mtd->block_isbad ? mtd->block_isbad(mtd, addr) : 0;
>         if (ret)
>                 printk(PRINT_PREF "block %d is bad\n", ebnum);
>         return ret;
> 
> After this, I ran mtd_readtest and it seemed to complete, but then
> hang after it was done:
> (initramfs) modprobe mtd_readtest dev=1
> [  194.530000]
> [  194.530000] =================================================
> [  194.540000] mtd_readtest: MTD device: 1
> [  194.540000] mtd_readtest: not NAND flash, assume page size is 512 bytes.
> [  194.550000] mtd_readtest: MTD device size 32636928, eraseblock size
> 131072, page size 512, count of eraseblocks 249, pages per eraseblock
> 131072, OOB size 0
> [  194.570000] mtd_readtest: scanning for bad eraseblocks
> [  194.570000] mtd_readtest: scanned 249 eraseblocks, 0 are bad
> [  194.580000] mtd_readtest: testing page read
> [  194.960000] ------------[ cut here ]------------
> [  194.960000] WARNING: at kernel/sched.c:5175 do_page_fault+0x16c/0x1ec()
> [  194.960000] Modules linked in: mtd_readtest(+)

Do you see this on mtdram on your x86 PC?

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-12 21:30       ` Artem Bityutskiy
@ 2010-01-13  0:15         ` Jon Ringle
  2010-01-13  7:03           ` Jon Ringle
  0 siblings, 1 reply; 17+ messages in thread
From: Jon Ringle @ 2010-01-13  0:15 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd

On Tue, Jan 12, 2010 at 4:30 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> Oh, yeas, you have NOR, the tests were made and used on NAND, and had
> problems with NOR. But there was a fix recently:
>
> http://git.infradead.org/users/dedekind/l2-mtd-2.6.git/commit/1ae356eafcdff6fa5c59d66072dc7577632a6d68

After applying this patch I was able to successfully run mtd_readtest,
mtd_speedtest and mtd_stresstest (I think all other don't apply to
NOR):
(initramfs) cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "RedBoot"
mtd1: 01f20000 00020000 "ubi"
mtd2: 00001000 00020000 "RedBoot config"
mtd3: 00020000 00020000 "FIS directory"
(initramfs) modprobe redboot
(initramfs) modprobe ixp4xx
[   34.020000] IXP4XX-Flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
[   34.020000]  Intel/Sharp Extended Query Table at 0x010A
[   34.030000]  Intel/Sharp Extended Query Table at 0x010A
[   34.030000]  Intel/Sharp Extended Query Table at 0x010A
[   34.040000]  Intel/Sharp Extended Query Table at 0x010A
[   34.040000]  Intel/Sharp Extended Query Table at 0x010A
[   34.050000] Using buffer write method
[   34.050000] Using auto-unlock on power-up/resume
[   34.060000] cfi_cmdset_0001: Erase suspend on write enabled
[   34.060000] Searching for RedBoot partition table in IXP4XX-Flash.0
at offset 0x1fc0000
[   34.130000] 4 RedBoot partitions found on MTD device IXP4XX-Flash.0
[   34.140000] Creating 4 MTD partitions on "IXP4XX-Flash.0":
[   34.150000] 0x000000000000-0x000000080000 : "RedBoot"
[   34.150000] 0x000000080000-0x000001fa0000 : "ubi"
[   34.160000] 0x000001fa0000-0x000001fa1000 : "RedBoot config"
[   34.170000] mtd: partition "RedBoot config" doesn't end on an erase
block -- leaving writable anyway
[   34.180000] 0x000001fc0000-0x000001fe0000 : "FIS directory"
(initramfs) modprobe mtd_readtest dev=1
[   42.860000]
[   42.860000] =================================================
[   42.870000] mtd_readtest: MTD device: 1
[   42.870000] mtd_readtest: not NAND flash, assume page size is 512 bytes.
[   42.880000] mtd_readtest: MTD device size 32636928, eraseblock size
131072, page size 512, count of eraseblocks 249, pages per eraseblock
256, OOB size 0
[   42.900000] mtd_readtest: testing page read
[   58.770000] mtd_readtest: finished
[   58.770000] =================================================
(initramfs) modprobe mtd_speedtest dev=1
[   74.140000]
[   74.140000] =================================================
[   74.150000] mtd_speedtest: MTD device: 1
[   74.150000] mtd_speedtest: not NAND flash, assume page size is 512 bytes.
[   74.160000] mtd_speedtest: MTD device size 32636928, eraseblock
size 131072, page size 512, count of eraseblocks 249, pages per
eraseblock 256, OOB size 0
[  287.670000] mtd_speedtest: testing eraseblock write speed
[  320.600000] mtd_speedtest: eraseblock write speed is 967 KiB/s
[  320.600000] mtd_speedtest: testing eraseblock read speed
[  336.040000] mtd_speedtest: eraseblock read speed is 2065 KiB/s
[  549.940000] mtd_speedtest: testing page write speed
[  585.750000] mtd_speedtest: page write speed is 890 KiB/s
[  585.750000] mtd_speedtest: testing page read speed
[  601.320000] mtd_speedtest: page read speed is 2048 KiB/s
[  815.710000] mtd_speedtest: testing 2 page write speed
[  848.680000] mtd_speedtest: 2 page write speed is 966 KiB/s
[  848.690000] mtd_speedtest: testing 2 page read speed
[  864.180000] mtd_speedtest: 2 page read speed is 2058 KiB/s
[  864.180000] mtd_speedtest: Testing erase speed
[ 1078.540000] mtd_speedtest: erase speed is 148 KiB/s
[ 1078.540000] mtd_speedtest: finished
[ 1078.540000] =================================================
(initramfs) modprobe mtd_stresstest dev=1
[ 1152.240000]
[ 1152.240000] =================================================
[ 1152.250000] mtd_stresstest: MTD device: 1
[ 1152.250000] mtd_stresstest: not NAND flash, assume page size is 512 bytes.
[ 1152.260000] mtd_stresstest: MTD device size 32636928, eraseblock
size 131072, page size 512, count of eraseblocks 249, pages per
eraseblock 256, OOB size 0
[ 1152.280000] mtd_stresstest: doing operations
[ 1152.290000] mtd_stresstest: 0 operations done
[ 1650.340000] mtd_stresstest: 1024 operations done
[ 2190.950000] mtd_stresstest: 2048 operations done
[ 2717.250000] mtd_stresstest: 3072 operations done
[ 3226.910000] mtd_stresstest: 4096 operations done
[ 3723.830000] mtd_stresstest: 5120 operations done
[ 4284.190000] mtd_stresstest: 6144 operations done
[ 4850.920000] mtd_stresstest: 7168 operations done
[ 5383.650000] mtd_stresstest: 8192 operations done
[ 5868.380000] mtd_stresstest: 9216 operations done
[ 6280.290000] mtd_stresstest: finished, 10000 operations done
[ 6280.300000] =================================================


I also tried mtdram (running on the target system) configured with the
same total_size and erase_size as my physical mtd device and had no
problem at all:
(initramfs) lsmod
Module                  Size  Used by
squashfs               43612  0
zlib_inflate           16128  1 squashfs
gluebi                  6616  0
ixp4xx_eth             13972  0
pcimsg                  9144  0
ubi                    84092  1 gluebi
mtdram                  3424  1
(initramfs) cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01f20000 00020000 "mtdram test device"
mtd1: 0038e1dc 0001ff80 "kernel"
mtd2: 00d34000 0001ff80 "squashfs"
(initramfs) ubinfo -a
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:60
Present UBI devices:            ubi0

ubi0
Volumes count:                           2
Logical eraseblock size:                 130944 bytes, f KiB
Total amount of logical eraseblocks:     249 (32605056 bytes, f MiB)
Amount of available logical eraseblocks: 110 (14403840 bytes, f MiB)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  0
Current maximum erase counter value:     7
Minimum input/output unit size:          1 byte
Character device major/minor:            253:0
Present volumes:                         0, 1

Volume ID:   0 (on ubi0)
Type:        static
Alignment:   1
Size:        29 LEBs (3797376 bytes, f MiB)
Data bytes:  3727836 bytes (f MiB)
State:       OK
Name:        kernel
Character device major/minor: 253:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        static
Alignment:   1
Size:        106 LEBs (13880064 bytes, f MiB)
Data bytes:  13844480 bytes (f MiB)
State:       OK
Name:        squashfs
Character device major/minor: 253:2
(initramfs) ubimkvol -m -N ubifs /dev/ubi0
Set volume size to 14403840
Volume ID 2, size 110 LEBs (14403840 bytes, f MiB), LEB size 130944
bytes (f KiB), dynamic, name "ubifs", alignment 1
(initramfs) mkdir /mnt
(initramfs) mount -t ubifs ubi0:ubifs /mnt
[  280.430000] UBIFS: default file-system created
[  280.460000] UBIFS DBG (pid 1495): ubifs_bg_thread: background
thread "ubifs_bgt0_2" started, PID 1495
[  280.610000] UBIFS: mounted UBI device 0, volume 2, name "ubifs"
[  280.610000] UBIFS: file system size:   13094400 bytes (12787 KiB,
12 MiB, 100 LEBs)
[  280.620000] UBIFS: journal size:       1047553 bytes (1023 KiB, 0
MiB, 6 LEBs)
[  280.630000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[  280.630000] UBIFS: default compressor: lzo
[  280.640000] UBIFS: reserved for root:  618480 bytes (603 KiB)
[  280.640000] UBIFS DBG (pid 1482): mount_ubifs: compiled on:
Jan 12 2010 at 17:02:37
[  280.650000] UBIFS DBG (pid 1482): mount_ubifs: min. I/O unit size:  8 bytes
[  280.660000] UBIFS DBG (pid 1482): mount_ubifs: LEB size:
130944 bytes (127 KiB)
[  280.670000] UBIFS DBG (pid 1482): mount_ubifs: data journal heads:  1
[  280.670000] UBIFS DBG (pid 1482): mount_ubifs: UUID:
36A57898-E179-4127-B506-B56B8F6EE5FF
[  280.680000] UBIFS DBG (pid 1482): mount_ubifs: big_lpt              0
[  280.690000] UBIFS DBG (pid 1482): mount_ubifs: log LEBs:            3 (3 - 5)
[  280.700000] UBIFS DBG (pid 1482): mount_ubifs: LPT area LEBs:       2 (6 - 7)
[  280.700000] UBIFS DBG (pid 1482): mount_ubifs: orphan area LEBs:    2 (8 - 9)
[  280.710000] UBIFS DBG (pid 1482): mount_ubifs: main area LEBs:
100 (10 - 109)
[  280.720000] UBIFS DBG (pid 1482): mount_ubifs: index LEBs:          1
[  280.720000] UBIFS DBG (pid 1482): mount_ubifs: total index bytes:
48 (0 KiB, 0 MiB)
[  280.730000] UBIFS DBG (pid 1482): mount_ubifs: key hash type:       0
[  280.740000] UBIFS DBG (pid 1482): mount_ubifs: tree fanout:         8
[  280.750000] UBIFS DBG (pid 1482): mount_ubifs: reserved GC LEB:     12
[  280.750000] UBIFS DBG (pid 1482): mount_ubifs: first main LEB:      10
[  280.760000] UBIFS DBG (pid 1482): mount_ubifs: max. znode size      240
[  280.770000] UBIFS DBG (pid 1482): mount_ubifs: max. index node size 192
[  280.770000] UBIFS DBG (pid 1482): mount_ubifs: node sizes:
data 48, inode 160, dentry 56
[  280.780000] UBIFS DBG (pid 1482): mount_ubifs: node sizes:
trun 56, sb 4096, master 512
[  280.790000] UBIFS DBG (pid 1482): mount_ubifs: node sizes:
ref 64, cmt. start 32, orph 32
[  280.800000] UBIFS DBG (pid 1482): mount_ubifs: max. node sizes:
data 4144, inode 4256 dentry 312
[  280.810000] UBIFS DBG (pid 1482): mount_ubifs: dead watermark:      56
[  280.810000] UBIFS DBG (pid 1482): mount_ubifs: dark watermark:      4256
[  280.820000] UBIFS DBG (pid 1482): mount_ubifs: LEB overhead:        2480
[  280.830000] UBIFS DBG (pid 1482): mount_ubifs: max. dark space:
425600 (415 KiB, 0 MiB)
[  280.840000] UBIFS DBG (pid 1482): mount_ubifs: maximum bud bytes:
654721 (639 KiB, 0 MiB)
[  280.840000] UBIFS DBG (pid 1482): mount_ubifs: BG commit bud bytes:
523777 (511 KiB, 0 MiB)
[  280.850000] UBIFS DBG (pid 1482): mount_ubifs: current bud bytes
0 (0 KiB, 0 MiB)
[  280.860000] UBIFS DBG (pid 1482): mount_ubifs: max. seq. number:    7
[  280.870000] UBIFS DBG (pid 1482): mount_ubifs: commit number:       0


What else can I try? I still have the failure to mount ubifs on the
physical device, but all applicable mtd tests for NOR pass on it and
mtdram works as expected on the target system.

Jon

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

* Re: Fail to mount ubifs
  2010-01-12 21:37       ` Artem Bityutskiy
@ 2010-01-13  0:40         ` Jon Ringle
  0 siblings, 0 replies; 17+ messages in thread
From: Jon Ringle @ 2010-01-13  0:40 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd

On Tue, Jan 12, 2010 at 4:37 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
>> >> Logical eraseblock size:                 130944 bytes, f KiB
>> >
>> > Hmm, this f KiB looks weird.
>>
>> Why is it weird? It is 128 bytes less than my PEB size of 0x20000.
>
> Because "f" is strange, I did not expect this.
> The print is:
>        printf("%s%.1f KiB", p, (double)bytes / 1024);
>
> see ubiutils_print_bytes() in mtd-utils/ubi-utils/src/common.c
>
> Not sure why it prints "f KiB" on your system.

Apparently the printf implementation in klibc does not support %f that
is used in
ubiutils_print_bytes()

Jon

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

* Re: Fail to mount ubifs
  2010-01-13  0:15         ` Jon Ringle
@ 2010-01-13  7:03           ` Jon Ringle
  2010-01-13  7:55             ` Artem Bityutskiy
  0 siblings, 1 reply; 17+ messages in thread
From: Jon Ringle @ 2010-01-13  7:03 UTC (permalink / raw)
  To: dedekind1, Deepak Saxena; +Cc: linux-mtd

I believe that there is an alignment problem due to the read function
mapped to ixp4xx_read16.

I enabled the following:
CONFIG_MTD_UBI_DEBUG=y
CONFIG_MTD_UBI_DEBUG_MSG=y
CONFIG_MTD_UBI_DEBUG_MSG_EBA=y

(initramfs) mount -t ubifs ubi0:ubifs /mnt0
[ 1693.480000] UBI DBG (pid 2323): ubi_open_volume_path: open volume
ubi0:ubifs, mode 1
[ 1693.490000] UBI DBG (pid 2323): ubi_open_volume_nm: open device 0,
volume ubifs, mode 1
[ 1693.490000] UBI DBG (pid 2323): ubi_open_volume: open device 0,
volume 2, mode 1
[ 1693.500000] UBI DBG (pid 2323): ubi_open_volume: open device 0,
volume 2, mode 2
[ 1693.510000] UBI DBG (pid 2323): ubi_is_mapped: test LEB 2:0
<snip...>
[ 1694.130000] UBI DBG (pid 2323): ubi_is_mapped: test LEB 2:109
[ 1694.140000] UBI DBG (pid 2323): ubi_leb_change: atomically write
560 bytes to LEB 2:6
[ 1694.150000] UBI DBG (pid 2323): ubi_eba_atomic_leb_change: change
LEB 2:6, PEB -1, write VID hdr to PEB 5
11 bytes starting at LEB 2:6:545 has the following data:
0xb7 0xe2 0x02 0xd5 0x9f 0x00 0x00 0xe0 0x7f 0x00 0x00

<snip...>
[ 1694.520000] UBI DBG (pid 2323): ubi_leb_read: read 11 bytes from LEB 2:6:545
[ 1694.530000] UBI DBG (pid 2323): ubi_eba_read_leb: read 11 bytes
from offset 545 of LEB 2:6, PEB 5
[ 1694.540000] UBIFS error (pid 2323): check_lpt_crc: invalid crc in
LPT node: crc e2e2 calc e2b7
11 bytes starting at LEB 2:6:545 has the following data:
0xe2 0xe2 0x02 0xd5 0x9f 0x00 0x00 0xe0 0x7f 0x00 0x00

[ 1694.550000] [<c01ca2bc>] (unwind_backtrace+0x0/0x160) from
[<bf096a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
[ 1694.560000] [<bf096a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
[<bf096f44>] (unpack_ltab+0x114/0x118 [ubifs])
[ 1694.570000] [<bf096f44>] (unpack_ltab+0x114/0x118 [ubifs]) from
[<bf097d28>] (lpt_init_rd+0x110/0x6f8 [ubifs])
[ 1694.580000] [<bf097d28>] (lpt_init_rd+0x110/0x6f8 [ubifs]) from
[<bf098e4c>] (ubifs_lpt_init+0x30/0x54 [ubifs])
[ 1694.590000] [<bf098e4c>] (ubifs_lpt_init+0x30/0x54 [ubifs]) from
[<bf076cb8>] (mount_ubifs+0x368/0x1620 [ubifs])
[ 1694.600000] [<bf076cb8>] (mount_ubifs+0x368/0x1620 [ubifs]) from
[<bf078d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
[ 1694.610000] [<bf078d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
from [<bf078f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
[ 1694.620000] [<bf078f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
[<c023d360>] (vfs_kern_mount+0x68/0x12c)
[ 1694.630000] [<c023d360>] (vfs_kern_mount+0x68/0x12c) from
[<c023d468>] (do_kern_mount+0x34/0xdc)
[ 1694.640000] [<c023d468>] (do_kern_mount+0x34/0xdc) from
[<c0255ad0>] (do_mount+0x210/0x244)
[ 1694.650000] [<c0255ad0>] (do_mount+0x210/0x244) from [<c0255ba0>]
(sys_mount+0x9c/0xd0)
[ 1694.660000] [<c0255ba0>] (sys_mount+0x9c/0xd0) from [<c01c49e0>]
(ret_fast_syscall+0x0/0x2c)

Looking into drivers/mtd/maps/ixp4xx.c I see that the read function is
ixp4xx_read16(). It seems to me that there is an alignment problem.
The read starts at offset 545 which in unaligned with a 16-bit read
that is done by ixp4xx_read16().

Jon

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

* Re: Fail to mount ubifs
  2010-01-13  7:03           ` Jon Ringle
@ 2010-01-13  7:55             ` Artem Bityutskiy
  2010-01-13  8:06               ` Artem Bityutskiy
  0 siblings, 1 reply; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-13  7:55 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd, Deepak Saxena

On Wed, 2010-01-13 at 02:03 -0500, Jon Ringle wrote:
> I believe that there is an alignment problem due to the read function
> mapped to ixp4xx_read16.
> 
> I enabled the following:
> CONFIG_MTD_UBI_DEBUG=y
> CONFIG_MTD_UBI_DEBUG_MSG=y
> CONFIG_MTD_UBI_DEBUG_MSG_EBA=y
> 
> (initramfs) mount -t ubifs ubi0:ubifs /mnt0
> [ 1693.480000] UBI DBG (pid 2323): ubi_open_volume_path: open volume
> ubi0:ubifs, mode 1
> [ 1693.490000] UBI DBG (pid 2323): ubi_open_volume_nm: open device 0,
> volume ubifs, mode 1
> [ 1693.490000] UBI DBG (pid 2323): ubi_open_volume: open device 0,
> volume 2, mode 1
> [ 1693.500000] UBI DBG (pid 2323): ubi_open_volume: open device 0,
> volume 2, mode 2
> [ 1693.510000] UBI DBG (pid 2323): ubi_is_mapped: test LEB 2:0
> <snip...>
> [ 1694.130000] UBI DBG (pid 2323): ubi_is_mapped: test LEB 2:109
> [ 1694.140000] UBI DBG (pid 2323): ubi_leb_change: atomically write
> 560 bytes to LEB 2:6
> [ 1694.150000] UBI DBG (pid 2323): ubi_eba_atomic_leb_change: change
> LEB 2:6, PEB -1, write VID hdr to PEB 5
> 11 bytes starting at LEB 2:6:545 has the following data:
> 0xb7 0xe2 0x02 0xd5 0x9f 0x00 0x00 0xe0 0x7f 0x00 0x00
> 
> <snip...>
> [ 1694.520000] UBI DBG (pid 2323): ubi_leb_read: read 11 bytes from LEB 2:6:545
> [ 1694.530000] UBI DBG (pid 2323): ubi_eba_read_leb: read 11 bytes
> from offset 545 of LEB 2:6, PEB 5
> [ 1694.540000] UBIFS error (pid 2323): check_lpt_crc: invalid crc in
> LPT node: crc e2e2 calc e2b7
> 11 bytes starting at LEB 2:6:545 has the following data:
> 0xe2 0xe2 0x02 0xd5 0x9f 0x00 0x00 0xe0 0x7f 0x00 0x00
> 
> [ 1694.550000] [<c01ca2bc>] (unwind_backtrace+0x0/0x160) from
> [<bf096a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
> [ 1694.560000] [<bf096a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
> [<bf096f44>] (unpack_ltab+0x114/0x118 [ubifs])
> [ 1694.570000] [<bf096f44>] (unpack_ltab+0x114/0x118 [ubifs]) from
> [<bf097d28>] (lpt_init_rd+0x110/0x6f8 [ubifs])
> [ 1694.580000] [<bf097d28>] (lpt_init_rd+0x110/0x6f8 [ubifs]) from
> [<bf098e4c>] (ubifs_lpt_init+0x30/0x54 [ubifs])
> [ 1694.590000] [<bf098e4c>] (ubifs_lpt_init+0x30/0x54 [ubifs]) from
> [<bf076cb8>] (mount_ubifs+0x368/0x1620 [ubifs])
> [ 1694.600000] [<bf076cb8>] (mount_ubifs+0x368/0x1620 [ubifs]) from
> [<bf078d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
> [ 1694.610000] [<bf078d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
> from [<bf078f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
> [ 1694.620000] [<bf078f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
> [<c023d360>] (vfs_kern_mount+0x68/0x12c)
> [ 1694.630000] [<c023d360>] (vfs_kern_mount+0x68/0x12c) from
> [<c023d468>] (do_kern_mount+0x34/0xdc)
> [ 1694.640000] [<c023d468>] (do_kern_mount+0x34/0xdc) from
> [<c0255ad0>] (do_mount+0x210/0x244)
> [ 1694.650000] [<c0255ad0>] (do_mount+0x210/0x244) from [<c0255ba0>]
> (sys_mount+0x9c/0xd0)
> [ 1694.660000] [<c0255ba0>] (sys_mount+0x9c/0xd0) from [<c01c49e0>]
> (ret_fast_syscall+0x0/0x2c)
> 
> Looking into drivers/mtd/maps/ixp4xx.c I see that the read function is
> ixp4xx_read16(). It seems to me that there is an alignment problem.
> The read starts at offset 545 which in unaligned with a 16-bit read
> that is done by ixp4xx_read16().

Yeah, most probably. Too bad we do not have a test for this. Care to
extend MTD tests?

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-13  7:55             ` Artem Bityutskiy
@ 2010-01-13  8:06               ` Artem Bityutskiy
  2010-01-13 14:20                 ` Jon Ringle
  0 siblings, 1 reply; 17+ messages in thread
From: Artem Bityutskiy @ 2010-01-13  8:06 UTC (permalink / raw)
  To: Jon Ringle; +Cc: linux-mtd, Deepak Saxena

On Wed, 2010-01-13 at 09:55 +0200, Artem Bityutskiy wrote:
> On Wed, 2010-01-13 at 02:03 -0500, Jon Ringle wrote:
> > I believe that there is an alignment problem due to the read function
> > mapped to ixp4xx_read16.
> > 
> > I enabled the following:
> > CONFIG_MTD_UBI_DEBUG=y
> > CONFIG_MTD_UBI_DEBUG_MSG=y
> > CONFIG_MTD_UBI_DEBUG_MSG_EBA=y
> > 
> > (initramfs) mount -t ubifs ubi0:ubifs /mnt0
> > [ 1693.480000] UBI DBG (pid 2323): ubi_open_volume_path: open volume
> > ubi0:ubifs, mode 1
> > [ 1693.490000] UBI DBG (pid 2323): ubi_open_volume_nm: open device 0,
> > volume ubifs, mode 1
> > [ 1693.490000] UBI DBG (pid 2323): ubi_open_volume: open device 0,
> > volume 2, mode 1
> > [ 1693.500000] UBI DBG (pid 2323): ubi_open_volume: open device 0,
> > volume 2, mode 2
> > [ 1693.510000] UBI DBG (pid 2323): ubi_is_mapped: test LEB 2:0
> > <snip...>
> > [ 1694.130000] UBI DBG (pid 2323): ubi_is_mapped: test LEB 2:109
> > [ 1694.140000] UBI DBG (pid 2323): ubi_leb_change: atomically write
> > 560 bytes to LEB 2:6
> > [ 1694.150000] UBI DBG (pid 2323): ubi_eba_atomic_leb_change: change
> > LEB 2:6, PEB -1, write VID hdr to PEB 5
> > 11 bytes starting at LEB 2:6:545 has the following data:
> > 0xb7 0xe2 0x02 0xd5 0x9f 0x00 0x00 0xe0 0x7f 0x00 0x00
> > 
> > <snip...>
> > [ 1694.520000] UBI DBG (pid 2323): ubi_leb_read: read 11 bytes from LEB 2:6:545
> > [ 1694.530000] UBI DBG (pid 2323): ubi_eba_read_leb: read 11 bytes
> > from offset 545 of LEB 2:6, PEB 5
> > [ 1694.540000] UBIFS error (pid 2323): check_lpt_crc: invalid crc in
> > LPT node: crc e2e2 calc e2b7
> > 11 bytes starting at LEB 2:6:545 has the following data:
> > 0xe2 0xe2 0x02 0xd5 0x9f 0x00 0x00 0xe0 0x7f 0x00 0x00
> > 
> > [ 1694.550000] [<c01ca2bc>] (unwind_backtrace+0x0/0x160) from
> > [<bf096a34>] (check_lpt_crc+0x9c/0xb0 [ubifs])
> > [ 1694.560000] [<bf096a34>] (check_lpt_crc+0x9c/0xb0 [ubifs]) from
> > [<bf096f44>] (unpack_ltab+0x114/0x118 [ubifs])
> > [ 1694.570000] [<bf096f44>] (unpack_ltab+0x114/0x118 [ubifs]) from
> > [<bf097d28>] (lpt_init_rd+0x110/0x6f8 [ubifs])
> > [ 1694.580000] [<bf097d28>] (lpt_init_rd+0x110/0x6f8 [ubifs]) from
> > [<bf098e4c>] (ubifs_lpt_init+0x30/0x54 [ubifs])
> > [ 1694.590000] [<bf098e4c>] (ubifs_lpt_init+0x30/0x54 [ubifs]) from
> > [<bf076cb8>] (mount_ubifs+0x368/0x1620 [ubifs])
> > [ 1694.600000] [<bf076cb8>] (mount_ubifs+0x368/0x1620 [ubifs]) from
> > [<bf078d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
> > [ 1694.610000] [<bf078d20>] (ubifs_fill_super+0x318/0x42c [ubifs])
> > from [<bf078f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs])
> > [ 1694.620000] [<bf078f0c>] (ubifs_get_sb+0xd8/0x22c [ubifs]) from
> > [<c023d360>] (vfs_kern_mount+0x68/0x12c)
> > [ 1694.630000] [<c023d360>] (vfs_kern_mount+0x68/0x12c) from
> > [<c023d468>] (do_kern_mount+0x34/0xdc)
> > [ 1694.640000] [<c023d468>] (do_kern_mount+0x34/0xdc) from
> > [<c0255ad0>] (do_mount+0x210/0x244)
> > [ 1694.650000] [<c0255ad0>] (do_mount+0x210/0x244) from [<c0255ba0>]
> > (sys_mount+0x9c/0xd0)
> > [ 1694.660000] [<c0255ba0>] (sys_mount+0x9c/0xd0) from [<c01c49e0>]
> > (ret_fast_syscall+0x0/0x2c)
> > 
> > Looking into drivers/mtd/maps/ixp4xx.c I see that the read function is
> > ixp4xx_read16(). It seems to me that there is an alignment problem.
> > The read starts at offset 545 which in unaligned with a 16-bit read
> > that is done by ixp4xx_read16().
> 
> Yeah, most probably. Too bad we do not have a test for this. Care to
> extend MTD tests?

I mean, add an 'mtd_align', and verify reading from various unaligned
addresses. This will help you to verify your flash, and help the
community as well.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

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

* Re: Fail to mount ubifs
  2010-01-13  8:06               ` Artem Bityutskiy
@ 2010-01-13 14:20                 ` Jon Ringle
  0 siblings, 0 replies; 17+ messages in thread
From: Jon Ringle @ 2010-01-13 14:20 UTC (permalink / raw)
  To: dedekind1; +Cc: linux-mtd, Deepak Saxena

On Wed, Jan 13, 2010 at 3:06 AM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> On Wed, 2010-01-13 at 09:55 +0200, Artem Bityutskiy wrote:
>> On Wed, 2010-01-13 at 02:03 -0500, Jon Ringle wrote:
>> > Looking into drivers/mtd/maps/ixp4xx.c I see that the read function is
>> > ixp4xx_read16(). It seems to me that there is an alignment problem.
>> > The read starts at offset 545 which in unaligned with a 16-bit read
>> > that is done by ixp4xx_read16().
>>
>> Yeah, most probably. Too bad we do not have a test for this. Care to
>> extend MTD tests?
>
> I mean, add an 'mtd_align', and verify reading from various unaligned
> addresses. This will help you to verify your flash, and help the
> community as well.

I fixed the issue in the ixp4xx map driver. I will look into creating
a mtd_aligntest as time permits.

Jon

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

end of thread, other threads:[~2010-01-13 14:20 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-11 18:56 Fail to mount ubifs Jon Ringle
2010-01-12  0:20 ` Jon Ringle
2010-01-12  4:50   ` Artem Bityutskiy
2010-01-12 12:07     ` Jon Ringle
2010-01-12 21:37       ` Artem Bityutskiy
2010-01-13  0:40         ` Jon Ringle
2010-01-12 20:23     ` Jon Ringle
2010-01-12 20:49       ` Jon Ringle
2010-01-12 21:23         ` Jon Ringle
2010-01-12 21:38         ` Artem Bityutskiy
2010-01-12 21:30       ` Artem Bityutskiy
2010-01-13  0:15         ` Jon Ringle
2010-01-13  7:03           ` Jon Ringle
2010-01-13  7:55             ` Artem Bityutskiy
2010-01-13  8:06               ` Artem Bityutskiy
2010-01-13 14:20                 ` Jon Ringle
2010-01-12 21:33   ` Artem Bityutskiy

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