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

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 ,我也遇到了,使用老的版本就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值