当前位置:  技术问答>linux和unix

yaffs2 文件系统出错 无法删除文件

    来源: 互联网  发布时间:2016-05-20

    本文导语:      Linux-2.6.14,PowerPC平台。     板上原有Nor flash 16MB,jffs2文件系统。 现增加一片128MB到1GB的Nand flash,目前用的是HY27UF081G,大小为128MB,Nand flash的驱动是仿照spia.c重写,调试驱动的时候,使用Jffs2文件系统,尚...

    Linux-2.6.14,PowerPC平台。
    板上原有Nor flash 16MB,jffs2文件系统。
现增加一片128MB到1GB的Nand flash,目前用的是HY27UF081G,大小为128MB,Nand flash的驱动是仿照spia.c重写,调试驱动的时候,使用Jffs2文件系统,尚未发现问题,只是mount成功后,如果nand上已经有文件,那就需要45秒以上的等待时间才能使用,而且有近30秒的时间里,CPU使用率达到100%,这是我不能忍受的,不知道是不是驱动有问题。看了Jffs2文件系统的资料,好像mount时间确实需要这么长,也很占内存,所以Nand flash 放弃使用Jffs2。
    移植yaffs2,使用的是最新的代码,过程不难,用patch-ker.sh就可以很容易集成到内核中,编译时出了点错误,说是重复定义,把yaffs_mtdif.h文件中声明去掉
-------------------------------------------
#if (MTD_VERSION_CODE mput linux-2.6.10.tar.bz2
227 Entering Passive Mode (192,168,99,232,172,218)
150 Ok to send data.
226 File receive OK.
38710411 bytes sent in 1.5e+02 seconds (2.5e+02 Kbytes/s)
速度太慢了,linux-2.6.14.tar.bz2  这个文件传了一部分就被我停掉了。
root@StarWave:/mnt/nand# ls
linux-2.6.10.tar.bz2  linux-2.6.14.tar.bz2  lost+found
root@StarWave:/mnt/nand# rm linux-2.6.14.tar.bz2 
root@StarWave:/mnt/nand# ls
linux-2.6.10.tar.bz2  lost+found
root@MySvr:/mnt/nand# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/mtdblock3           13952     12908      1044  93% /
/dev/mtdblock5             499        13       461   3% /mnt/config
/dev/mtdblock7          131072     38960     92112  30% /mnt/nand
---------------------------------------------------------------------
问题来了:
root@MySvr:/mnt/nand# mkdir temp_dir
root@MySvr:/mnt/nand# rm temp_dir/ -r
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6814
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6741
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6741
------------------------------------------------------------------------
root@MySvr:/mnt# umount nand
save exit: isCheckpointed 1
root@MySvr:/mnt# mount -t yaffs2 /dev/mtdblock7 /mnt/nand/
yaffs: dev is 32505863 name is "mtdblock7"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.7, "mtdblock7"
root@MySvr:/mnt# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/mtdblock3           13952     12908      1044  93% /
/dev/mtdblock5             499        13       461   3% /mnt/config
/dev/mtdblock7          131072     48896     82176  37% /mnt/nand
已用空间由30%变成37%,这个7%就是linux-2.6.14.tar.bz2文件传了一部分占用的,也就是说,文件删除了,所占的块,在分区表中并没有标记为可用。
root@StarWave:/mnt/nand# ls
lost+found
文件一个也不在了,更加说明了分区信息无法加载。

这个问题怎么办?
   

|
YAFFS2 的版本 bug ,我也遇到了,使用老的版本就行了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 移植Yaffs2错误
  • 给内核打yaffs2的问题
  • 请教yaffs2的问题。
  • Yaffs2 image 验证
  • yaffs2和MLC 4G nand flash驱动问题
  • 移植YAFFS2出现No init found错误
  • 加入yaffs2,编译内核显示error: unknown field `prepare_write' specified in initializer
  • 请教下 2.6移植 和 YAFFS2移植到问题
  • 挂载yaffs2错误:Kernel panic - not syncing: No init found. Try passing init
  • 新手,移植yaffs2到最后总是无法打开console。求解!!试过各种方案了。附有串口打印的休息以及uboot传入的参数。哪位高手帮忙分析一下哪里错了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    yaffs2文件系统启动问题 iis7站长之家