Hi. I have a device running on a Texas Instruments DaVinci chip with
a NAND flash upon which I have a yaffs2 file system.
It's a 2.6.35 kernel with yaffs2 code from ca half a year ago.
The file system has two directories in it, "image1" and "image2", and
a symlink "active", pointing to one of them. When we upgrade software
on the device, we pick the imageX directory not currently active,
"rm -rf" it, recreate it, and extract the new software into it.
This works very well, except on a fair amount of the devices, image1
(I think it's always image1, but that might be wrong) contains _two_
'.' entries, causing "rm -rf" to fail, claiming the directory is
non-empty.
[hgb:~] $ ls -la /mnt/base/image1/|head -n5
total 125414
drwxrwxrwx 1 root root 4096 Dec 6 15:30 .
drwxrwxrwx 1 root root 4096 Dec 6 15:30 .
drwxr-xr-x 1 root root 4096 Dec 13 10:05 ..
-rw-r--r-- 1 root root 46174208 Dec 2 15:29 apps.img
[hgb:~] $ rm -rf /mnt/base/image1/
rm: cannot remove `/mnt/base/image1': Directory not empty
[hgb:~] $ ls -la /mnt/base/image1/
total 12
drwxrwxrwx 1 root root 4096 Dec 13 10:13 .
drwxrwxrwx 1 root root 4096 Dec 13 10:13 .
drwxr-xr-x 1 root root 4096 Dec 13 10:11 ..
Has anyone seen anything similar?
--
Henrik Grindal Bakken <
hgb@ifi.uio.no>
PGP ID: 8D436E52
Fingerprint: 131D 9590 F0CF 47EF 7963 02AF 9236 D25A 8D43 6E52