[Yaffs] Yaffs2 and 2.6.38 kernel.

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Andrea Gasparini
Date:  
To: yaffs
Subject: [Yaffs] Yaffs2 and 2.6.38 kernel.
Hi, I'm trying to get an yaffs filesystem working on a Davinci (DM365 - ARM
based) system.

I patched my git kernel with your master git repository (using the patch-
ker.sh, without any issue) and compiled with the following config
declarations:

CONFIG_YAFFS_FS=y
CONFIG_YAFFS_YAFFS1=y
# CONFIG_YAFFS_9BYTE_TAGS is not set
# CONFIG_YAFFS_DOES_ECC is not set
CONFIG_YAFFS_YAFFS2=y
CONFIG_YAFFS_AUTO_YAFFS2=y
# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set
# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set
# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set
# CONFIG_YAFFS_DISABLE_BACKGROUND is not set
# CONFIG_YAFFS_XATTR is not set

The effect is that after an unmount + remount the file written on the 
filesystem were lost, just like that:
 root@imega:/mnt# flash_eraseall /dev/mtd3
 Erasing 128 Kibyte @ 200000 -- 100 % complete.
 root@imega:/mnt# mount -t yaffs2 /dev/mtdblock3 target/
 yaffs: dev is 32505859 name is "mtdblock3" rw
 yaffs: passed flags ""
 root@imega:/mnt# df -h
 Filesystem                Size      Used Available Use% Mounted on
 /dev/mtdblock3            2.0M    768.0K      1.3M  38% /mnt/target
 root@imega:/mnt# ls -l abigfile 
 -rwxr-xr-x    1 root     root       670941 Sep 25 08:26 abigfile
 root@imega:/mnt# cp abigfile target/
 root@imega:/mnt# md5sum abigfile target/abigfile 
 15a45dba24bbdbb649c523d3b8aabc22  abigfile
 15a45dba24bbdbb649c523d3b8aabc22  target/abigfile
 root@imega:/mnt# touch target/emptyfile
 root@imega:/mnt# df -h
 Filesystem                Size      Used Available Use% Mounted on
 /dev/mtdblock3            2.0M      1.4M    616.0K  70% /mnt/target


After a reboot it behave like that:
 root@imega:~# mount -t yaffs2 /dev/mtdblock3 /mnt/target/
 yaffs: dev is 32505859 name is "mtdblock3" rw
 yaffs: passed flags ""
 root@imega:~# ls /mnt/target/
 lost+found
 root@imega:~# df -h
 /dev/mtdblock3            2.0M    944.0K      1.1M  46% /mnt/target
 root@imega:~# ls /mnt/target/lost\+found/
 obj257
 root@imega:/mnt/target/lost+found# ls -l obj257 
 ----------    1 root     root       670941 Sep 25 08:32 obj257


I've not a log, but after unmount+remount without rebooting it behave
pretty much the same.
Can anyone tell me how to debug this? There's some critical path I can look
for?


I started the thread on davinci mailing list, but Steve suggest me to ask
here:
http://linux.davincidsp.com/pipermail/davinci-linux-open-source/2011-
March/022485.html

Please keep me in CC as I'm not subscribed here.

Thanks a lot.
--
Andrea Gasparini
---- ImaVis S.r.l. ----
web: www.imavis.com