I just installed cyanogen 5.0.8 for the first time a couple of days ago,
and noticed the same problem in the same directory. Here's the output
using adb shell while in the recovery screen [which explains the numeric
user and group ids]:
# ls -ail
801 drwxrwx--x 1 10033 10033 2048 Aug 10 23:07
801 drwxrwx--x 1 10033 10033 2048 Aug 10 23:07 .
1 drwxrwx--x 1 1000 1000 2048 Aug 10 23:05 ..
The filename is truly empty, as can be seen by running 'ls | od -a'.
It causes any program that tries to recursively search the filesystem to
loop, and I can't get rid of the bad directory entry.
Can I use tar to backup everything in my /data partition (except the one
corrupt directory) to a file on my sdcard, then reformat the data
partition, and then untar to restore? I'm not familiar with yaffs2,
so I don't know whether that would save everything correctly.
Thanks for any suggestions.
Dan
--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=en.
Thanks for any advice.
Dan
Dan
> Correct, tar or even nandroid or bart via recovery menu would back up
> (whats left) properly.
I thought that nandroid and bart created an image of the partition, so
using them would preserve the corrupted filesystem. With tar I can
exclude the damaged directory, but what I don't know is whether it
preserves all attributes that files have on a yaffs2 filesystem.
> I ended up merging all of Charles Manning's recent fixes earlier and
> it's working great:
>
> http://github.com/kernelzilla/cm-kernel/commit/14d258c123156c9c6e5de138f4649edfa635b2ae
>
> I've noticed faster bootup, lower load wait times, & no corruption so
> far, after filling /data up with random files & symlinks, (md5s
> match). It's been merged into cyanogen's kernel too, so it should be
> in the next nightly builds.
That's great to hear!
Dan
Dan
> There is currently no way to get the flash metadata out of the flash
> partition, so what nandroid does is create a new fs image based on the
> mounted filesystem. (So no corruption beyond what is in the files
> themselves.)
Ah, I had assumed it was just "cat /dev/block/mtdblock5 > data.img" or
something like that. But looking at the nandroid script in the recovery
ram disk image, I see that it is actually constructing a fresh image
from the existing files.
However, I just tried this, using the nandroid script from the
recovery-RA-dream-v1.7.0R-cyan.img recovery image, and it appears that
the extra bad directory links *are* stored in the image: when I wiped
the /data partition and flashed it with "fastboot flash userdata data.img"
the corrupt link was still there.
On the other hand, if I restore the image using the nandroid script
from the recovery menu, it uses unyaffs to do the restore, and unyaffs
seems to skip over the corrupt link and all is fine.
I hope this will be helpful to others needing to repair a corrupt
yaffs partition. It would be much easier if there was something like
e2fsck that could repair things in place.
Dan