Does modern UBI/UBIFS still suffer from the 'unstable bits issue'?

Han Xu xhnjupt at gmail.com
Fri Mar 2 09:33:08 PST 2018


Hi Tim,

I know one potential issue may cause rare UBIFS mount failure, only If
both dma_mapping_error and bitflip happened, the alternative buffer
failed to swap back to the correct data buffer. The detailed workflow
as follows:

1.read_page_prepare: direct_dma_map_ok is 0, alternative buffer path is enabled.

2.gpmi_read_page: page data goes to alloc DMA buffer (not direct mapped).

3.read_page_end: nothing happens, dma_map_ok is 0.

4.Loop over ECC chunks, STATUS_UNCORRECTABLE is hit, gpmi_erased_check starts.

5.gpmi_erased_check: gpmi_read_buf occurs, this leads to
prepare_data_dma. direct_dma_map_ok goes to 1. This is the important
part as direct_dma_map_ok changes.

6.gpmi_erased_check: payload_virt/payload_phys (alloc DMA buffer) is
set to 0xFF since page is erased.

7.read_page_swap_end: direct_map_ok is now 1, data from
payload_virt/payload_phys (alloc DMA buffer) never makes it back to
data buffer, previous page data from previous operation is there
instead.

This issue was fixed by Markus patch[1], you can follow the same
implementation to move the read_page_swap_end() call before the ECC
status checking for-loop, and gpmi_erased_check to check buf rather
than payload_virt, for kernel 4.4

Please let me know if it helps.

[1]:http://patchwork.ozlabs.org/patch/614433/

On Fri, Mar 2, 2018 at 10:20 AM, Tim Harvey <tharvey at gateworks.com> wrote:
> On Fri, Mar 2, 2018 at 2:07 AM, Richard Weinberger <richard at nod.at> wrote:
>> Tim,
>>
>> Am Freitag, 2. März 2018, 02:19:54 CET schrieb Tim Harvey:
>>> On Thu, Mar 1, 2018 at 8:32 AM, Richard Weinberger <richard at nod.at> wrote:
>>> > Tim,
>>> >
>>> > Am Donnerstag, 1. März 2018, 17:15:44 CET schrieb Tim Harvey:
>>> >> Greetings,
>>> >>
>>> >> I have a user with an IMX6 and raw NAND using UBI/UBIFS who has been
>>> >
>>> >> able to reproduce a NAND corruption:
>>> > What does your user to reproduce this?
>>>
>>> Richard,
>>>
>>> It's unclear at the moment. It's one of those 'this happened twice on
>>> two different boards' reports without a lot of detail. However I do
>>> know they do write to the filesystem on every boot and do encounter
>>> random power-cuts.
>>>
>>> >> [   10.611972] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started,
>>> >> PID 631 [   10.634365] ubi0 warning: ubi_io_read: error -74 (ECC error)
>>> >> while reading 253952 bytes from PEB 2807:8192, read only 253952 bytes,
>>> >> retry [ 10.657492] ubi0 warning: ubi_io_read: error -74 (ECC error)
>>> >> while reading 253952 bytes from PEB 2807:8192, read only 253952 bytes,
>>> >> retry [
>>> >> 10.681137] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading
>>> >> 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry [
>>> >> 10.704267] ubi0 error: ubi_io_read: error -74 (ECC error) while reading
>>> >> 253952 bytes from PEB 2807:8192, read 253952 bytes
>>
>> BTW: I miss a back trace here. How did you obtain that messages?
>>
>
> [   10.528272] Buffer I/O error on dev mtdblock0, logical block 0,
> async page read
> [   10.611972] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 631
> [   10.634365] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   10.657492] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   10.681137] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   10.704267] ubi0 error: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read 253952 bytes
> [   10.715425] CPU: 2 PID: 629 Comm: block Not tainted 4.4.0 #6
> [   10.721087] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   10.727619] Backtrace:
> [   10.730108] [<8001e674>] (dump_backtrace) from [<8001e86c>]
> (show_stack+0x18/0x1c)
> [   10.737679]  r7:00000af7 r6:0003e000 r5:60000013 r4:00000000
> [   10.743406] [<8001e854>] (show_stack) from [<80232028>]
> (dump_stack+0x84/0xa4)
> [   10.750649] [<80231fa4>] (dump_stack) from [<8030a9c4>]
> (ubi_io_read+0x1dc/0x2b0)
> [   10.758132]  r5:bf206000 r4:ffffffb6
> [   10.761744] [<8030a7e8>] (ubi_io_read) from [<80308974>]
> (ubi_eba_read_leb+0x27c/0x388)
> [   10.769748]  r10:be913c00 r9:00000000 r8:00000000 r7:00000002
> r6:bf206000 r5:bf206000
> [   10.777646]  r4:0003e000
> [   10.780204] [<803086f8>] (ubi_eba_read_leb) from [<80307864>]
> (ubi_leb_read+0x74/0xc4)
> [   10.788120]  r10:c0d81000 r9:00000002 r8:00000002 r7:00000000
> r6:bf206000 r5:be913c00
> [   10.796020]  r4:0003e000
> [   10.798579] [<803077f0>] (ubi_leb_read) from [<801da34c>]
> (ubifs_leb_read+0x34/0x98)
> [   10.806322]  r10:be55eec0 r9:00000002 r8:00000000 r7:00000002
> r6:0003e000 r5:bf1cb000
> [   10.814221]  r4:be560180
> [   10.816779] [<801da318>] (ubifs_leb_read) from [<801e19c8>]
> (ubifs_start_scan+0x7c/0xf8)
> [   10.824869]  r8:00000002 r7:c0d81000 r6:00000000 r5:bf1cb000 r4:be560180
> [   10.831648] [<801e194c>] (ubifs_start_scan) from [<801e1ccc>]
> (ubifs_scan+0x2c/0x330)
> [   10.839477]  r8:00000003 r7:0003e000 r6:c0d81000 r5:00000000 r4:bf1cb000
> [   10.846252] [<801e1ca0>] (ubifs_scan) from [<801e0e38>]
> (ubifs_read_master+0xb4/0x924)
> [   10.854169]  r10:be55eec0 r9:000000a0 r8:00000003 r7:00002000
> r6:be560300 r5:be560180
> [   10.862069]  r4:bf1cb000
> [   10.864622] [<801e0d84>] (ubifs_read_master) from [<801d82c4>]
> (ubifs_mount+0xa7c/0x156c)
> [   10.872798]  r10:be55eec0 r9:000000a0 r8:bf1cb87c r7:be538000
> r6:00000000 r5:bf1cb000
> [   10.880697]  r4:bf2da140
> [   10.883255] [<801d7848>] (ubifs_mount) from [<801011ac>] (mount_fs+0x1c/0xa0)
> [   10.890390]  r10:be55e000 r9:806f2078 r8:00000000 r7:806f2078
> r6:806f2078 r5:00000000
> [   10.898291]  r4:801d7848
> [   10.900849] [<80101190>] (mount_fs) from [<80119054>]
> (vfs_kern_mount+0x50/0x108)
> [   10.908332]  r6:be55e180 r5:00000000 r4:bf1a6cc0
> [   10.913002] [<80119004>] (vfs_kern_mount) from [<8011c354>]
> (do_mount+0x9d8/0xb70)
> [   10.920572]  r9:806f2078 r8:be55e180 r7:7eeabe14 r6:00000400
> r5:806dbc6c r4:00000008
> [   10.928391] [<8011b97c>] (do_mount) from [<8011c72c>] (SyS_mount+0x7c/0xa8)
> [   10.935354]  r10:00000000 r9:be4f6000 r8:00000400 r7:7eeabe14
> r6:be55e180 r5:be55e000
> [   10.943253]  r4:00000000
> [   10.945811] [<8011c6b0>] (SyS_mount) from [<80009bc0>]
> (ret_fast_syscall+0x0/0x3c)
> [   10.953380]  r8:80009d84 r7:00000015 r6:00027014 r5:7eeabe14 r4:00000000
> [   10.984081] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.007847] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.031492] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.055202] ubi0 error: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read 253952 bytes
> [   11.066358] CPU: 2 PID: 629 Comm: block Not tainted 4.4.0 #6
> [   11.072020] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   11.078549] Backtrace:
> [   11.081034] [<8001e674>] (dump_backtrace) from [<8001e86c>]
> (show_stack+0x18/0x1c)
> [   11.088606]  r7:00000af7 r6:0003e000 r5:60000013 r4:00000000
> [   11.094334] [<8001e854>] (show_stack) from [<80232028>]
> (dump_stack+0x84/0xa4)
> [   11.101575] [<80231fa4>] (dump_stack) from [<8030a9c4>]
> (ubi_io_read+0x1dc/0x2b0)
> [   11.109058]  r5:bf206000 r4:ffffffb6
> [   11.112669] [<8030a7e8>] (ubi_io_read) from [<80308974>]
> (ubi_eba_read_leb+0x27c/0x388)
> [   11.120673]  r10:be913c00 r9:00000000 r8:00000000 r7:00000002
> r6:bf206000 r5:bf206000
> [   11.128571]  r4:0003e000
> [   11.131126] [<803086f8>] (ubi_eba_read_leb) from [<80307864>]
> (ubi_leb_read+0x74/0xc4)
> [   11.139042]  r10:c0e3e000 r9:c0e3e000 r8:00000002 r7:00000000
> r6:bf206000 r5:be913c00
> [   11.146941]  r4:0003e000
> [   11.149498] [<803077f0>] (ubi_leb_read) from [<801da34c>]
> (ubifs_leb_read+0x34/0x98)
> [   11.157240]  r10:00000002 r9:c0e3e000 r8:00000000 r7:00000002
> r6:0003e000 r5:bf1cb000
> [   11.165140]  r4:bf1cb000
> [   11.167706] [<801da318>] (ubifs_leb_read) from [<801f1668>]
> (get_master_node+0x58/0x1f0)
> [   11.175796]  r8:bf1cb000 r7:00001000 r6:be560300 r5:00000000 r4:bf1cb000
> [   11.182575] [<801f1610>] (get_master_node) from [<801f1b0c>]
> (ubifs_recover_master_node+0x70/0x2f4)
> [   11.191620]  r10:be55eec0 r9:000000a0 r8:00000003 r7:00001000
> r6:be560300 r5:00000000
> [   11.199520]  r4:bf1cb000
> [   11.202077] [<801f1a9c>] (ubifs_recover_master_node) from
> [<801e0f28>] (ubifs_read_master+0x1a4/0x924)
> [   11.211383]  r7:00002000 r6:be560300 r5:ffffff8b r4:bf1cb000
> [   11.217106] [<801e0d84>] (ubifs_read_master) from [<801d82c4>]
> (ubifs_mount+0xa7c/0x156c)
> [   11.225282]  r10:be55eec0 r9:000000a0 r8:bf1cb87c r7:be538000
> r6:00000000 r5:bf1cb000
> [   11.233180]  r4:bf2da140
> [   11.235735] [<801d7848>] (ubifs_mount) from [<801011ac>] (mount_fs+0x1c/0xa0)
> [   11.242870]  r10:be55e000 r9:806f2078 r8:00000000 r7:806f2078
> r6:806f2078 r5:00000000
> [   11.250769]  r4:801d7848
> [   11.253326] [<80101190>] (mount_fs) from [<80119054>]
> (vfs_kern_mount+0x50/0x108)
> [   11.260808]  r6:be55e180 r5:00000000 r4:bf1a6cc0
> [   11.265478] [<80119004>] (vfs_kern_mount) from [<8011c354>]
> (do_mount+0x9d8/0xb70)
> [   11.273047]  r9:806f2078 r8:be55e180 r7:7eeabe14 r6:00000400
> r5:806dbc6c r4:00000008
> [   11.280865] [<8011b97c>] (do_mount) from [<8011c72c>] (SyS_mount+0x7c/0xa8)
> [   11.287827]  r10:00000000 r9:be4f6000 r8:00000400 r7:7eeabe14
> r6:be55e180 r5:be55e000
> [   11.295727]  r4:00000000
> [   11.298284] [<8011c6b0>] (SyS_mount) from [<80009bc0>]
> (ret_fast_syscall+0x0/0x3c)
> [   11.305853]  r8:80009d84 r7:00000015 r6:00027014 r5:7eeabe14 r4:00000000
> [   11.313088] UBIFS error (ubi0:2 pid 629):
> ubifs_recover_master_node: failed to recover master node
> [   11.322071] UBIFS error (ubi0:2 pid 629):
> ubifs_recover_master_node: dumping first master node
> [   11.330686]  magic          0x6101831
> [   11.334361]  crc            0xd0feaa12
> [   11.338113]  node_type      7 (master node)
> [   11.342310]  group_type     0 (no node group)
> [   11.346668]  sqnum          272796
> [   11.350071]  len            512
> [   11.353226]  highest_inum   3500
> [   11.356456]  commit number  8967
> [   11.359686]  flags          0x3
> [   11.362840]  log_lnum       3
> [   11.365809]  root_lnum      461
> [   11.368950]  root_offs      74096
> [   11.372276]  root_len       128
> [   11.375418]  gc_lnum        460
> [   11.378559]  ihead_lnum     461
> [   11.381701]  ihead_offs     77824
> [   11.385026]  index_size     210120
> [   11.388429]  lpt_lnum       10
> [   11.391483]  lpt_offs       94430
> [   11.394809]  nhead_lnum     10
> [   11.397865]  nhead_offs     98304
> [   11.401180]  ltab_lnum      10
> [   11.404246]  ltab_offs      94208
> [   11.407561]  lsave_lnum     0
> [   11.410529]  lsave_offs     0
> [   11.413508]  lscan_lnum     460
> [   11.416650]  leb_cnt        7820
> [   11.419878]  empty_lebs     7705
> [   11.423118]  idx_lebs       10
> [   11.426174]  total_free     1957130240
> [   11.429925]  total_dirty    6846968
> [   11.433425]  total_used     18161984
> [   11.437001]  total_dead     88160
> [   11.440317]  total_dark     63299584
> [   11.443952] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" stops
> [   11.451984] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 634
> [   11.474373] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.497488] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.520558] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.543655] ubi0 error: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read 253952 bytes
> [   11.554809] CPU: 1 PID: 626 Comm: mount_root Not tainted 4.4.0 #6
> [   11.560905] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   11.567435] Backtrace:
> [   11.569917] [<8001e674>] (dump_backtrace) from [<8001e86c>]
> (show_stack+0x18/0x1c)
> [   11.577489]  r7:00000af7 r6:0003e000 r5:60000013 r4:00000000
> [   11.583216] [<8001e854>] (show_stack) from [<80232028>]
> (dump_stack+0x84/0xa4)
> [   11.590455] [<80231fa4>] (dump_stack) from [<8030a9c4>]
> (ubi_io_read+0x1dc/0x2b0)
> [   11.597938]  r5:bf206000 r4:ffffffb6
> [   11.601549] [<8030a7e8>] (ubi_io_read) from [<80308974>]
> (ubi_eba_read_leb+0x27c/0x388)
> [   11.609552]  r10:be913c00 r9:00000000 r8:00000000 r7:00000002
> r6:bf206000 r5:bf206000
> [   11.617453]  r4:0003e000
> [   11.620008] [<803086f8>] (ubi_eba_read_leb) from [<80307864>]
> (ubi_leb_read+0x74/0xc4)
> [   11.627924]  r10:c0e7d000 r9:00000002 r8:00000002 r7:00000000
> r6:bf206000 r5:be913c00
> [   11.635823]  r4:0003e000
> [   11.638377] [<803077f0>] (ubi_leb_read) from [<801da34c>]
> (ubifs_leb_read+0x34/0x98)
> [   11.646120]  r10:bf17d680 r9:00000002 r8:00000000 r7:00000002
> r6:0003e000 r5:bf210000
> [   11.654019]  r4:bf17d240
> [   11.656576] [<801da318>] (ubifs_leb_read) from [<801e19c8>]
> (ubifs_start_scan+0x7c/0xf8)
> [   11.664666]  r8:00000002 r7:c0e7d000 r6:00000000 r5:bf210000 r4:bf17d240
> [   11.671442] [<801e194c>] (ubifs_start_scan) from [<801e1ccc>]
> (ubifs_scan+0x2c/0x330)
> [   11.679271]  r8:00000003 r7:0003e000 r6:c0e7d000 r5:00000000 r4:bf210000
> [   11.686046] [<801e1ca0>] (ubifs_scan) from [<801e0e38>]
> (ubifs_read_master+0xb4/0x924)
> [   11.693963]  r10:bf17d680 r9:000000a0 r8:00000003 r7:00002000
> r6:bf17d440 r5:bf17d240
> [   11.701862]  r4:bf210000
> [   11.704415] [<801e0d84>] (ubifs_read_master) from [<801d82c4>]
> (ubifs_mount+0xa7c/0x156c)
> [   11.712592]  r10:bf17d680 r9:000000a0 r8:bf21087c r7:be548400
> r6:00000000 r5:bf210000
> [   11.720489]  r4:bf2d9300
> [   11.723045] [<801d7848>] (ubifs_mount) from [<801011ac>] (mount_fs+0x1c/0xa0)
> [   11.730180]  r10:bf17d180 r9:806f2078 r8:00000000 r7:806f2078
> r6:806f2078 r5:00000000
> [   11.738081]  r4:801d7848
> [   11.740636] [<80101190>] (mount_fs) from [<80119054>]
> (vfs_kern_mount+0x50/0x108)
> [   11.748119]  r6:bf17d480 r5:00000000 r4:bf183cc0
> [   11.752788] [<80119004>] (vfs_kern_mount) from [<8011c354>]
> (do_mount+0x9d8/0xb70)
> [   11.760356]  r9:806f2078 r8:bf17d480 r7:76edc4c5 r6:00000400
> r5:806dbc6c r4:00000008
> [   11.768176] [<8011b97c>] (do_mount) from [<8011c72c>] (SyS_mount+0x7c/0xa8)
> [   11.775137]  r10:00000000 r9:be588000 r8:00000400 r7:76edc4c5
> r6:bf17d480 r5:bf17d180
> [   11.783036]  r4:00000000
> [   11.785591] [<8011c6b0>] (SyS_mount) from [<80009bc0>]
> (ret_fast_syscall+0x0/0x3c)
> [   11.793160]  r8:80009d84 r7:00000015 r6:76eece70 r5:76ebd0e0 r4:00000000
> [   11.823668] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.847405] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.871113] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   11.894761] ubi0 error: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read 253952 bytes
> [   11.905915] CPU: 1 PID: 626 Comm: mount_root Not tainted 4.4.0 #6
> [   11.912010] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   11.918540] Backtrace:
> [   11.921022] [<8001e674>] (dump_backtrace) from [<8001e86c>]
> (show_stack+0x18/0x1c)
> [   11.928593]  r7:00000af7 r6:0003e000 r5:60000013 r4:00000000
> [   11.934321] [<8001e854>] (show_stack) from [<80232028>]
> (dump_stack+0x84/0xa4)
> [   11.941562] [<80231fa4>] (dump_stack) from [<8030a9c4>]
> (ubi_io_read+0x1dc/0x2b0)
> [   11.949044]  r5:bf206000 r4:ffffffb6
> [   11.952657] [<8030a7e8>] (ubi_io_read) from [<80308974>]
> (ubi_eba_read_leb+0x27c/0x388)
> [   11.960660]  r10:be913c00 r9:00000000 r8:00000000 r7:00000002
> r6:bf206000 r5:bf206000
> [   11.968559]  r4:0003e000
> [   11.971114] [<803086f8>] (ubi_eba_read_leb) from [<80307864>]
> (ubi_leb_read+0x74/0xc4)
> [   11.979030]  r10:c0f3a000 r9:c0f3a000 r8:00000002 r7:00000000
> r6:bf206000 r5:be913c00
> [   11.986929]  r4:0003e000
> [   11.989484] [<803077f0>] (ubi_leb_read) from [<801da34c>]
> (ubifs_leb_read+0x34/0x98)
> [   11.997227]  r10:00000002 r9:c0f3a000 r8:00000000 r7:00000002
> r6:0003e000 r5:bf210000
> [   12.005127]  r4:bf210000
> [   12.007691] [<801da318>] (ubifs_leb_read) from [<801f1668>]
> (get_master_node+0x58/0x1f0)
> [   12.015782]  r8:bf210000 r7:00001000 r6:bf17d440 r5:00000000 r4:bf210000
> [   12.022560] [<801f1610>] (get_master_node) from [<801f1b0c>]
> (ubifs_recover_master_node+0x70/0x2f4)
> [   12.031606]  r10:bf17d680 r9:000000a0 r8:00000003 r7:00001000
> r6:bf17d440 r5:00000000
> [   12.039505]  r4:bf210000
> [   12.042060] [<801f1a9c>] (ubifs_recover_master_node) from
> [<801e0f28>] (ubifs_read_master+0x1a4/0x924)
> [   12.051366]  r7:00002000 r6:bf17d440 r5:ffffff8b r4:bf210000
> [   12.057088] [<801e0d84>] (ubifs_read_master) from [<801d82c4>]
> (ubifs_mount+0xa7c/0x156c)
> [   12.065264]  r10:bf17d680 r9:000000a0 r8:bf21087c r7:be548400
> r6:00000000 r5:bf210000
> [   12.073164]  r4:bf2d9300
> [   12.075721] [<801d7848>] (ubifs_mount) from [<801011ac>] (mount_fs+0x1c/0xa0)
> [   12.082856]  r10:bf17d180 r9:806f2078 r8:00000000 r7:806f2078
> r6:806f2078 r5:00000000
> [   12.090756]  r4:801d7848
> [   12.093311] [<80101190>] (mount_fs) from [<80119054>]
> (vfs_kern_mount+0x50/0x108)
> [   12.100794]  r6:bf17d480 r5:00000000 r4:bf183cc0
> [   12.105462] [<80119004>] (vfs_kern_mount) from [<8011c354>]
> (do_mount+0x9d8/0xb70)
> [   12.113031]  r9:806f2078 r8:bf17d480 r7:76edc4c5 r6:00000400
> r5:806dbc6c r4:00000008
> [   12.120852] [<8011b97c>] (do_mount) from [<8011c72c>] (SyS_mount+0x7c/0xa8)
> [   12.127814]  r10:00000000 r9:be588000 r8:00000400 r7:76edc4c5
> r6:bf17d480 r5:bf17d180
> [   12.135713]  r4:00000000
> [   12.138269] [<8011c6b0>] (SyS_mount) from [<80009bc0>]
> (ret_fast_syscall+0x0/0x3c)
> [   12.145840]  r8:80009d84 r7:00000015 r6:76eece70 r5:76ebd0e0 r4:00000000
> [   12.153108] UBIFS error (ubi0:2 pid 626):
> ubifs_recover_master_node: failed to recover master node
> [   12.162093] UBIFS error (ubi0:2 pid 626):
> ubifs_recover_master_node: dumping first master node
> [   12.170708]  magic          0x6101831
> [   12.174389]  crc            0xd0feaa12
> [   12.178140]  node_type      7 (master node)
> [   12.182340]  group_type     0 (no node group)
> [   12.186699]  sqnum          272796
> [   12.190101]  len            512
> [   12.193258]  highest_inum   3500
> [   12.196492]  commit number  8967
> [   12.199722]  flags          0x3
> [   12.202877]  log_lnum       3
> [   12.205846]  root_lnum      461
> [   12.208990]  root_offs      74096
> [   12.212319]  root_len       128
> [   12.215461]  gc_lnum        460
> [   12.218602]  ihead_lnum     461
> [   12.221758]  ihead_offs     77824
> [   12.225073]  index_size     210120
> [   12.228476]  lpt_lnum       10
> [   12.231530]  lpt_offs       94430
> [   12.234859]  nhead_lnum     10
> [   12.237914]  nhead_offs     98304
> [   12.241229]  ltab_lnum      10
> [   12.244298]  ltab_offs      94208
> [   12.247613]  lsave_lnum     0
> [   12.250581]  lsave_offs     0
> [   12.253562]  lscan_lnum     460
> [   12.256705]  leb_cnt        7820
> [   12.259933]  empty_lebs     7705
> [   12.263174]  idx_lebs       10
> [   12.266231]  total_free     1957130240
> [   12.269980]  total_dirty    6846968
> [   12.273482]  total_used     18161984
> [   12.277058]  total_dead     88160
> [   12.280374]  total_dark     63299584
> [   12.284022] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" stops
> [   12.290714] mount_root: failed to mount -t ubifs /dev/ubi0_2
> /tmp/overlay: Invalid argument
> [   12.303451] blk_update_request: I/O error, dev mtdblock0, sector 0
> [   12.313183] blk_update_request: I/O error, dev mtdblock0, sector 0
> [   12.319374] Buffer I/O error on dev mtdblock0, logical block 0,
> async page read
> [   12.389844] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 638
> [   12.412129] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   12.435259] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   12.458336] ubi0 warning: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read only 253952 bytes, retry
> [   12.482116] ubi0 error: ubi_io_read: error -74 (ECC error) while
> reading 253952 bytes from PEB 2807:8192, read 253952 bytes
> ...
>
>>> >> The kernel they are using is a bit out of date but does have
>>> >> 'gpmi-nand: Handle ECC Errors in erased pages' [1] patch
>>> >>
>>> >> I'm wondering if the 'unstable bits issue' [2] is still an issue or if
>>> >> the UBI/UBFS Documentation is out of date and this has been resolved.
>>> >> If it has been resolved, can anyone point me to the patches.
>>> >
>>> > This issue is highly theoretical and I never actually saw it in the wild.
>>> > Every single time someone claimed to suffer from that, it turned out to be
>>> > something else. Currently UBI/UBIFS has no counter measurement, for the
>>> > said reasons.
>>> > This reminds me that we have to update the website...
>>> >
>>> > So did you verify (with your NAND vendor) that this really is the named
>>> > issue?
>>> I have no idea if what the user reported is the unstable bits issue
>>> but the fact you've never seen it occur in the wild tells me probably
>>> not.
>>
>> I'd be surprised, but you never know. :-)
>>
>> Just to be sure, this is SLC NAND, right?
>
> No, its a MT29F16G08 16GB MLC
>
> Tim
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



-- 
Sincerely,

Han XU



More information about the linux-mtd mailing list