免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2380 | 回复: 0
打印 上一主题 下一主题

[文件系统] 请教 JFFS2与NAND flash的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-14 14:39 |只看该作者 |倒序浏览
小弟在做NAND驱动升级的时候遇到了如下问题:
驱动用的atheros的U10的nand 驱动,硬件ECC。发现系统在mount JFFS2分区的时候有10%的几率出现这个错误。

看起来像是atheros的driver在读数据的时候发生ECC错误了。
对于JFFS2系统不大了解,这里的gc_node应该是垃圾收集要回收的node,在等于NULL时会调用BUG()重启系统。但是不大明白的是,有时这个错误没什么大碍,重启系统但不会影响数据。有时这个错误会导致JFFS2文件系统上的数据全部丢失。这里有什么内部机制,在发现gc_node 为NULL时重新扫描整个分区然后重新建立一些结构么?

忘知道的大大不吝赐教:wink:
  1. ath_nand_rw_page: Read uncorrectable errors. 0xd20d0000 0 ecc = 0x426
  2. jffs2_scan_eraseblock(): Node at 0x025333f8 {0x1985, 0x2004, 0x00000408) has invalid CRC 0x00000000 (calculated 0x21410195)
  3. ath_nand_rw_page: Read uncorrectable errors. 0xf3c00000 0 ecc = 0x426
  4. ath_nand_rw_page: Read uncorrectable errors. 0xd2260000 0 ecc = 0x426
  5. Read of newly-erased block at 0x02513000 failed: 1. Putting on bad_list
  6. Eep. ret->gc_node for block at 0x035e0000 is NULL
  7. Kernel bug detected[#1]:
  8. Cpu 0
  9. $ 0   : 00000000 00000001 00000038 00000001
  10. $ 4   : 802fb498 802fb4a4 ffffffff 80300000
  11. $ 8   : 00000000 80300000 00000000 00005765
  12. $12   : 6e6f6465 83c9f433 c0051000 20666f72
  13. $16   : 878f4e3c 878f4e9c 878f4e00 8110578c
  14. $20   : 878f4ea4 878f4eb4 878f4e9c 00000000
  15. $24   : 00000008 8015c7d0                  
  16. $28   : 86b64000 86b67e10 00000000 800df7d0
  17. Hi    : 00000000
  18. Lo    : 43db0000
  19. epc   : 800df7d0 jffs2_garbage_collect_pass+0x2f0/0x68c
  20.     Not tainted
  21. ra    : 800df7d0 jffs2_garbage_collect_pass+0x2f0/0x68c
  22. Status: 1100ff03    KERNEL EXL IE
  23. Cause : 00800024
  24. PrId  : 0001974c (MIPS 74Kc)
  25. Modules linked in: ah_fe_hook fe awe ath_pktlog umac ath_dev ath_spectral ath_rate_atheros ath_dfs ath_hal asf adf eth_drv ah_sec ah_board0 kmpi ah_systop
  26. Process ah_cli (pid: 1458, threadinfo=86b64000, task=86b3eb68, tls=2aad5830)
  27. Stack : 00000000 035e0000 00000001 00000002 00000026 80081b20 00000000 00000000
  28.         00000001 00000000 7fffffff 00000000 00000000 00000000 878f4e3c 024e5800
  29.         878f4e00 8024ae70 00000001 00001000 2abae000 2b81ce10 7fcb3e38 800e4f40
  30.         00000000 0000009c 87401ee8 00000300 00000014 ffffffff 8754ff38 87854660
  31.         00000000 800d7cdc 87854660 ffffffea 8024ae70 00000001 00001000 8009bbd4
  32.         ...
  33. Call Trace:
  34. [<800df7d0>] jffs2_garbage_collect_pass+0x2f0/0x68c
  35. [<800e4f40>] jffs2_flush_wbuf_gc+0xa4/0x150
  36. [<800d7cdc>] jffs2_fsync+0x1c/0x2c
  37. [<8009bbd4>] vfs_fsync_range+0x88/0xc0
  38. [<8009bc38>] vfs_fsync+0x2c/0x38
  39. [<8009bc74>] do_fsync+0x30/0x50
  40. [<8000ce04>] stack_done+0x20/0x3c


  41. Code: 3c04802c  0c08f80a  2484d1d4 <0200000d> 08037df5  00000000  8e62001c  1040000c  00000000
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP