CRC error when mounting UBIFS

Leo Barnes barnes.leo at gmail.com
Thu Jun 3 10:02:15 EDT 2010


Hello!

I am trying to create and mount an UBIFS partition and get the
following error when trying to mount it:
<7>[  397.117065] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 490:0
<7>[  397.117218] UBIFS DBG (pid 438): ubifs_scan: look at LEB 490:0
(126976 bytes left)
<7>[  397.117401] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  397.117614] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 490 at offset 0
<3>[  397.119598] UBIFS error (pid 438): check_lpt_crc: invalid crc in
LPT node: crc 0 calc 90d1

This is what I have done:
1. I have compiled the kernel (2.6.32, msm-android) with paranoid UBI
checks, UBIFS debug level 3 and with UBIFS extra checks.
2. I have erased the partition with 'flash_eraseall /dev/mtd4' (I
wanted a completely clean partition so I know the fault is not with
ubiformat)
3. I have attached the partition with 'ubiattach /dev/ubi_ctrl -m 4'
4. I have created a ubi volume with 'ubivolume /dev/ubi0 -N ubivol -m'

These steps work flawlessly, but when I then try to mount the volume
with 'mount -t ubifs ubi0!ubivol /ubivol', I get the error message
shown above.

Any ideas on how to fix it? When I disable the UBIFS extra checks, I
can mount the volume, but it gets corrupted after a while. I find it
odd that I get CRC errors since the ubi-volume and the ubifs
filesystem is created by the kernel.

See below for more extensive kernel logs.
Best regards,
//Leo

'ubiattach /dev/ubi_ctrl -m 4':
UBI device number 0, total 756 LEBs (95993856 bytes, 91.5 MiB),
available 745 LEBs (94597120 bytes, 90.2 MiB), LEB size 126976 bytes
(124.0 KiB)

dmesg for 'ubiattach /dev/ubi_ctrl -m 4':
----------------------------------------
<5>[  189.954956] UBI: attaching mtd4 to ubi0
<7>[  189.955322] UBI DBG (pid 417): io_init: min_io_size      2048
<7>[  189.955932] UBI DBG (pid 417): io_init: hdrs_min_io_size 2048
<7>[  189.956268] UBI DBG (pid 417): io_init: ec_hdr_alsize    2048
<7>[  189.956878] UBI DBG (pid 417): io_init: vid_hdr_alsize   2048
<7>[  189.957244] UBI DBG (pid 417): io_init: vid_hdr_offset   2048
<7>[  189.957855] UBI DBG (pid 417): io_init: vid_hdr_aloffset 2048
<7>[  189.958190] UBI DBG (pid 417): io_init: vid_hdr_shift    0
<7>[  189.958831] UBI DBG (pid 417): io_init: leb_start        4096
<7>[  189.959167] UBI DBG (pid 417): io_init: max_erroneous    76
<5>[  189.961547] UBI: physical eraseblock size:   131072 bytes (128 KiB)
<5>[  189.961914] UBI: logical eraseblock size:    126976 bytes
<5>[  189.962860] UBI: smallest flash I/O unit:    2048
<5>[  189.963195] UBI: VID header offset:          2048 (aligned 2048)
<5>[  189.964111] UBI: data offset:                4096
<7>[  190.764221] UBI DBG (pid 417): ubi_scan: scanning is finished
<5>[  190.764556] UBI: empty MTD device detected
<5>[  190.888336] UBI: create volume table (copy #1)
<5>[  190.957275] UBI: create volume table (copy #2)
<5>[  191.038269] UBI: attached mtd4 to ubi0
<5>[  191.038604] UBI: MTD device name:            "cache"
<5>[  191.038940] UBI: MTD device size:            95 MiB
<5>[  191.039550] UBI: number of good PEBs:        756
<5>[  191.040466] UBI: number of bad PEBs:         4
<5>[  191.041076] UBI: max. allowed volumes:       128
<5>[  191.041412] UBI: wear-leveling threshold:    4096
<5>[  191.041748] UBI: number of internal volumes: 1
<5>[  191.042358] UBI: number of user volumes:     0
<5>[  191.042694] UBI: available PEBs:             745
<5>[  191.043334] UBI: total number of reserved PEBs: 11
<5>[  191.043670] UBI: number of PEBs reserved for bad PEB handling: 7
<5>[  191.044281] UBI: max/mean erase counter: 0/0
<5>[  191.044616] UBI: image sequence number: 0
<5>[  191.044952] UBI: background thread "ubi_bgt0d" started, PID 418
----------------------------------------

'ubivolume /dev/ubi0 -N ubivol -m':
Set volume size to 94597120
Volume ID 0, size 745 LEBs (94597120 bytes, 90.2 MiB), LEB size 126976
bytes (124.0 KiB), dynamic, name "ubivol", alignment 1

dmesg for 'ubivolume /dev/ubi0 -N ubivol -m':
----------------------------------------
nothing
----------------------------------------

'mount -t ubifs ubi0!ubivol /ubivol':
mount: mounting ubi0!ubivol on ubivol failed: Invalid argument

dmesg for 'mount -t ubifs ubi0!ubivol /ubivol':
----------------------------------------
<7>[  395.754272] UBIFS DBG (pid 438): ubifs_get_sb: name ubi0!ubivol,
flags 0x8000
<7>[  395.754669] UBIFS DBG (pid 438): ubifs_get_sb: opened ubi0_0
<7>[  395.759246] UBIFS DBG (pid 438): set_ltab: LEB 7 free 126976
dirty 0 to 122880 213
<7>[  395.814483] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: space_bits 14
<7>[  395.814849] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lpt_lnum_bits 2
<7>[  395.815460] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lpt_offs_bits 17
<7>[  395.815826] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lpt_spc_bits 17
<7>[  395.816436] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: pcnt_bits 8
<7>[  395.817077] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lnum_bits 10
<7>[  395.817413] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: pnode_sz 17
<7>[  395.818023] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: nnode_sz 12
<7>[  395.818359] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: ltab_sz 11
<7>[  395.819000] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lsave_sz 323
<7>[  395.819335] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lsave_cnt 256
<7>[  395.820037] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: lpt_hght 4
<7>[  395.820373] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: big_lpt 0
<7>[  395.820983] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: LPT root
is at 7:3860
<7>[  395.821624] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: LPT head
is at 7:4096
<7>[  395.821960] UBIFS DBG (pid 438): ubifs_create_dflt_lpt: LPT ltab
is at 7:3872
<7>[  395.822692] UBIFS DBG (pid 438): create_default_filesystem: LEB
Properties Tree created (LEBs 7-8)
<7>[  395.823547] UBIFS DBG (pid 438): ubifs_write_node: LEB 0:0,
superblock node, length 4096 (aligned 4096)
<7>[  395.879119] UBIFS DBG (pid 438): create_default_filesystem:
default superblock created at LEB 0:0
<7>[  395.879577] UBIFS DBG (pid 438): ubifs_write_node: LEB 1:0,
master node, length 512 (aligned 2048)
<7>[  395.932678] UBIFS DBG (pid 438): ubifs_write_node: LEB 2:0,
master node, length 512 (aligned 2048)
<7>[  395.985870] UBIFS DBG (pid 438): create_default_filesystem:
default master node created at LEB 1:0
<7>[  395.986572] UBIFS DBG (pid 438): ubifs_write_node: LEB 11:0,
indexing node, length 48 (aligned 2048)
<7>[  396.039764] UBIFS DBG (pid 438): create_default_filesystem:
default root indexing node created LEB 11:0
<7>[  396.040222] UBIFS DBG (pid 438): ubifs_write_node: LEB 12:0,
inode node, length 160 (aligned 2048)
<7>[  396.093170] UBIFS DBG (pid 438): create_default_filesystem: root
inode created at LEB 12:0
<7>[  396.093902] UBIFS DBG (pid 438): ubifs_write_node: LEB 3:0,
commit start node, length 32 (aligned 2048)
<5>[  396.147125] UBIFS: default file-system created
<7>[  396.147613] UBIFS DBG (pid 438): ubifs_read_node: LEB 0:0,
superblock node, length 4096
<7>[  396.150421] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 1:0
<7>[  396.150878] UBIFS DBG (pid 439): ubifs_bg_thread: background
thread "ubifs_bgt0_0" started, PID 439
<7>[  396.195709] UBIFS DBG (pid 438): ubifs_scan: look at LEB 1:0
(126976 bytes left)
<7>[  396.196350] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning master node
<7>[  396.196746] UBIFS DBG (pid 438): ubifs_scan: look at LEB 1:512
(126464 bytes left)
<7>[  396.197357] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning padding node
<7>[  396.197998] UBIFS DBG (pid 438): ubifs_scan_a_node: 1508 bytes
padded, offset now 2048
<7>[  396.198364] UBIFS DBG (pid 438): ubifs_scan: look at LEB 1:2048
(124928 bytes left)
<7>[  396.198974] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.199615] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 1 at offset 2048
<7>[  396.201324] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 2:0
<7>[  396.246887] UBIFS DBG (pid 438): ubifs_scan: look at LEB 2:0
(126976 bytes left)
<7>[  396.247283] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning master node
<7>[  396.247985] UBIFS DBG (pid 438): ubifs_scan: look at LEB 2:512
(126464 bytes left)
<7>[  396.248657] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning padding node
<7>[  396.249023] UBIFS DBG (pid 438): ubifs_scan_a_node: 1508 bytes
padded, offset now 2048
<7>[  396.249725] UBIFS DBG (pid 438): ubifs_scan: look at LEB 2:2048
(124928 bytes left)
<7>[  396.251129] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.251495] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 2 at offset 2048
<7>[  396.253448] UBIFS DBG (pid 438): ubifs_read_node: LEB 11:0,
indexing node, length 48
<7>[  396.254638] UBIFS DBG (pid 438): ubifs_write_node: LEB 1:2048,
master node, length 512 (aligned 2048)
<7>[  396.257598] UBIFS DBG (pid 438): ubifs_write_node: LEB 2:2048,
master node, length 512 (aligned 2048)
<7>[  396.263519] UBIFS DBG (pid 438): lpt_init_rd: space_bits 14
<7>[  396.264160] UBIFS DBG (pid 438): lpt_init_rd: lpt_lnum_bits 2
<7>[  396.264526] UBIFS DBG (pid 438): lpt_init_rd: lpt_offs_bits 17
<7>[  396.265136] UBIFS DBG (pid 438): lpt_init_rd: lpt_spc_bits 17
<7>[  396.265502] UBIFS DBG (pid 438): lpt_init_rd: pcnt_bits 8
<7>[  396.266113] UBIFS DBG (pid 438): lpt_init_rd: lnum_bits 10
<7>[  396.266448] UBIFS DBG (pid 438): lpt_init_rd: pnode_sz 17
<7>[  396.267059] UBIFS DBG (pid 438): lpt_init_rd: nnode_sz 12
<7>[  396.267395] UBIFS DBG (pid 438): lpt_init_rd: ltab_sz 11
<7>[  396.268005] UBIFS DBG (pid 438): lpt_init_rd: lsave_sz 323
<7>[  396.268341] UBIFS DBG (pid 438): lpt_init_rd: lsave_cnt 256
<7>[  396.268951] UBIFS DBG (pid 438): lpt_init_rd: lpt_hght 4
<7>[  396.269287] UBIFS DBG (pid 438): lpt_init_rd: big_lpt 0
<7>[  396.269958] UBIFS DBG (pid 438): lpt_init_rd: LPT root is at 7:3860
<7>[  396.270324] UBIFS DBG (pid 438): lpt_init_rd: LPT head is at 7:4096
<7>[  396.270935] UBIFS DBG (pid 438): lpt_init_rd: LPT ltab is at 7:3872
<7>[  396.271514] UBIFS DBG (pid 438): ubifs_read_node: LEB 11:0,
indexing node, length 48
<7>[  396.273803] UBIFS DBG (pid 438): read_znode: LEB 11:0, level 0, 1 branch
<7>[  396.275024] UBIFS DBG (pid 438): ubifs_add_lpt_dirt: LEB 7 add 12 to 213
<7>[  396.275421] UBIFS DBG (pid 438): ubifs_add_lpt_dirt: LEB 7 add 11 to 225
<7>[  396.276550] UBIFS DBG (pid 438): ubifs_add_lpt_dirt: LEB 7 add 12 to 236
<7>[  396.277374] UBIFS DBG (pid 438): ubifs_add_lpt_dirt: LEB 7 add 12 to 248
<7>[  396.278533] UBIFS DBG (pid 438): ubifs_add_lpt_dirt: LEB 7 add 12 to 260
<7>[  396.279724] UBIFS DBG (pid 438): ubifs_lpt_lookup: LEB 11, free
124928, dirty 2000, flags 34
<7>[  396.280090] UBIFS DBG (pid 438): ubifs_lpt_lookup: LEB 12, free
124928, dirty 1888, flags 3
<7>[  396.280731] UBIFS DBG (pid 438): ubifs_add_lpt_dirt: LEB 7 add 17 to 272
<7>[  396.281372] UBIFS DBG (pid 438): ubifs_lpt_lookup_dirty: LEB 11,
free 124928, dirty 2000, flags 34
<7>[  396.281738] UBIFS DBG (pid 438): ubifs_change_lp: LEB 11, free
-2147483647, dirty -2147483647, flags 50
<7>[  396.282379] UBIFS DBG (pid 438): ubifs_lpt_lookup_dirty: LEB 11,
free 124928, dirty 2000, flags 34
<7>[  396.283172] UBIFS DBG (pid 438): ubifs_replay_journal: start
replaying the journal
<7>[  396.283813] UBIFS DBG (pid 438): replay_log_leb: replay log LEB 3:0
<7>[  396.284149] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 3:0
<7>[  396.330383] UBIFS DBG (pid 438): ubifs_scan: look at LEB 3:0
(126976 bytes left)
<7>[  396.330749] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning
commit start node
<7>[  396.331390] UBIFS DBG (pid 438): ubifs_scan: look at LEB 3:32
(126944 bytes left)
<7>[  396.332031] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning padding node
<7>[  396.332366] UBIFS DBG (pid 438): ubifs_scan_a_node: 1988 bytes
padded, offset now 2048
<7>[  396.333007] UBIFS DBG (pid 438): ubifs_scan: look at LEB 3:2048
(124928 bytes left)
<7>[  396.333618] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.333953] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 3 at offset 2048
<7>[  396.335845] UBIFS DBG (pid 438): replay_log_leb: commit start sqnum 7
<7>[  396.336486] UBIFS DBG (pid 438): replay_log_leb: replay log LEB 4:0
<7>[  396.336822] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 4:0
<7>[  396.337615] UBIFS DBG (pid 438): ubifs_scan: look at LEB 4:0
(126976 bytes left)
<7>[  396.337982] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.338592] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 4 at offset 0
<7>[  396.340118] UBIFS DBG (pid 438): ubifs_replay_journal: finished,
log head LEB 3:2048, max_sqnum 7, highest_inum 64
<7>[  396.341064] UBIFS DBG (pid 438): ubifs_lpt_lookup_dirty: LEB 13,
free 126976, dirty 0, flags 4
<7>[  396.341705] UBIFS DBG (pid 438): ubifs_change_lp: LEB 13, free
126976, dirty 0, flags 20
<7>[  396.342346] UBIFS DBG (pid 438): ubifs_lpt_lookup_dirty: LEB 13,
free 126976, dirty 0, flags 4
<7>[  396.343048] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 11:0
<7>[  396.388977] UBIFS DBG (pid 438): ubifs_scan: look at LEB 11:0
(126976 bytes left)
<7>[  396.389617] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning indexing node
<7>[  396.390075] UBIFS DBG (pid 438): ubifs_scan: look at LEB 11:48
(126928 bytes left)
<7>[  396.391265] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning padding node
<7>[  396.391906] UBIFS DBG (pid 438): ubifs_scan_a_node: 1972 bytes
padded, offset now 2048
<7>[  396.392242] UBIFS DBG (pid 438): ubifs_scan: look at LEB 11:2048
(124928 bytes left)
<7>[  396.392883] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.393493] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 11 at offset 2048
<7>[  396.395141] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 12:0
<7>[  396.440399] UBIFS DBG (pid 438): ubifs_scan: look at LEB 12:0
(126976 bytes left)
<7>[  396.441101] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning inode node
<7>[  396.441467] UBIFS DBG (pid 438): ubifs_scan: look at LEB 12:160
(126816 bytes left)
<7>[  396.442108] UBIFS DBG (pid 438): ubifs_scan_a_node: scanning padding node
<7>[  396.442443] UBIFS DBG (pid 438): ubifs_scan_a_node: 1860 bytes
padded, offset now 2048
<7>[  396.443084] UBIFS DBG (pid 438): ubifs_scan: look at LEB 12:2048
(124928 bytes left)
<7>[  396.443695] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.444061] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 12 at offset 2048
<7>[  396.445922] UBIFS DBG (pid 438): ubifs_lookup_level0: search key
(1, inode)
<7>[  396.446563] UBIFS DBG (pid 438): ubifs_lookup_level0: found 1, lvl 0, n 0
<7>[  396.446929] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 13:0
<7>[  396.447723] UBIFS DBG (pid 438): ubifs_scan: look at LEB 13:0
(126976 bytes left)
<7>[  396.448089] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.448699] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 13 at offset 0
<7>[  396.450469] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 14:0
<7>[  396.451019] UBIFS DBG (pid 438): ubifs_scan: look at LEB 14:0
(126976 bytes left)
<7>[  396.453002] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  396.453369] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 14 at offset 0
........ and so on ............
<7>[  397.117065] UBIFS DBG (pid 438): ubifs_start_scan: scan LEB 490:0
<7>[  397.117218] UBIFS DBG (pid 438): ubifs_scan: look at LEB 490:0
(126976 bytes left)
<7>[  397.117401] UBIFS DBG (pid 438): ubifs_scan_a_node: hit empty space
<7>[  397.117614] UBIFS DBG (pid 438): ubifs_end_scan: stop scanning
LEB 490 at offset 0
<3>[  397.119598] UBIFS error (pid 438): check_lpt_crc: invalid crc in
LPT node: crc 0 calc 90d1
<4>[  397.119903] [<c0028990>] (unwind_backtrace+0x0/0xd8) from
[<c0155be4>] (check_lpt_crc+0x8c/0xa4)
<4>[  397.120117] [<c0155be4>] (check_lpt_crc+0x8c/0xa4) from
[<c0155d04>] (unpack_pnode+0x108/0x110)
<4>[  397.120300] [<c0155d04>] (unpack_pnode+0x108/0x110) from
[<c0155ed4>] (scan_get_pnode+0x1c8/0x28c)
<4>[  397.120422] [<c0155ed4>] (scan_get_pnode+0x1c8/0x28c) from
[<c01567d8>] (ubifs_lpt_scan_nolock+0x45c/0x49c)
<4>[  397.120635] [<c01567d8>] (ubifs_lpt_scan_nolock+0x45c/0x49c)
from [<c015936c>] (dbg_check_lprops+0xa0/0x2d4)
<4>[  397.120849] [<c015936c>] (dbg_check_lprops+0xa0/0x2d4) from
[<c013a140>] (ubifs_fill_super+0xcf8/0x1dfc)
<4>[  397.121063] [<c013a140>] (ubifs_fill_super+0xcf8/0x1dfc) from
[<c013b52c>] (ubifs_get_sb+0x2e8/0x35c)
<4>[  397.121276] [<c013b52c>] (ubifs_get_sb+0x2e8/0x35c) from
[<c00b774c>] (vfs_kern_mount+0x4c/0xd0)
<4>[  397.121490] [<c00b774c>] (vfs_kern_mount+0x4c/0xd0) from
[<c00b7814>] (do_kern_mount+0x34/0xd8)
<4>[  397.121612] [<c00b7814>] (do_kern_mount+0x34/0xd8) from
[<c00cf4e8>] (do_mount+0x73c/0x7b8)
<4>[  397.121826] [<c00cf4e8>] (do_mount+0x73c/0x7b8) from
[<c00cf5e8>] (sys_mount+0x84/0xc4)
<4>[  397.122009] [<c00cf5e8>] (sys_mount+0x84/0xc4) from [<c0023f00>]
(ret_fast_syscall+0x0/0x2c)
<7>[  397.122833] UBIFS DBG (pid 439): ubifs_bg_thread: background
thread "ubifs_bgt0_0" stops
----------------------------------------



More information about the linux-mtd mailing list