[Yaffs] duplicate directories and file reverting to previous…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Mark Whitney
Date:  
To: yaffs
Subject: [Yaffs] duplicate directories and file reverting to previous contents
I am using YAFFS2 from the 2.6.32 kernel on an integrated NAND flash device
(running android 2.2.1_r1, if that matters).

I am seeing 2 odd things, seems like they are related:

1. There are duplicate entries of the same directory (/data/system, below)
when I do ls:

bash-3.2# mount
rootfs on / type rootfs (rw)
/dev/root on / type yaffs2 (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
tmpfs on /mnt/tmpfs type tmpfs (rw,relatime,size=194144k,mode=777,gid=1000)
/dev/block/mtdblock7 on /data type yaffs2 (rw,nosuid,nodev,relatime)
/dev/block/mtdblock8 on /cache type yaffs2 (rw,nosuid,nodev,relatime)
bash-3.2# ls -ailp /data
      1 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 ./
      1 drwxrwxr-x    1 0        0             2048 Apr 13 13:50 ../
    511 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 app/
    510 drwxrwx--x    1 1000     1000          2048 Jan  1  2000
app-private/
    441 drwx------    1 1000     1000          2048 Jan  1  2000 backup/
    264 drwxrwx--x    1 1000     1000          2048 Jul 29  2009
dalvik-cache/
    509 drwxrwx--x    1 1000     1000          2048 Apr 13 16:47 data/
    265 drwxr-x---    1 0        1007          2048 Jan  1  2000 dontpanic/
    497 drwxrwxrwx    1 1000     1000          2048 Apr 13 16:39 energyhub/
    507 drwxrwx--x    1 2000     2000          2048 Jan  1  2000 local/
      2 drwxrwx---    1 0        0             2048 Jan  1  2000 lost+found/
    499 drwxrwx--t    1 1000     9998          2048 Jan  1  2000 misc/
    256 drwx------    1 0        0             2048 Apr 13 16:38 property/
    498 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:47 system/
    498 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:47 system/



2. My duplicate /data/system inode entry keeps swapping between 506 and 498
when I reboot the device:

bash-3.2# date; ls -ailp /data
Wed Apr 13 16:46:32 UTC 2011
      1 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 .
      1 drwxrwxr-x    1 0        0             2048 Apr 13 13:50 ..
    511 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 app
    510 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 app-private
    441 drwx------    1 1000     1000          2048 Jan  1  2000 backup
    264 drwxrwx--x    1 1000     1000          2048 Jul 29  2009
dalvik-cache
    509 drwxrwx--x    1 1000     1000          2048 Apr 13 16:46 data
    265 drwxr-x---    1 0        1007          2048 Jan  1  2000 dontpanic
    497 drwxrwxrwx    1 1000     1000          2048 Apr 13 16:39 energyhub
    507 drwxrwx--x    1 2000     2000          2048 Jan  1  2000 local
      2 drwxrwx---    1 0        0             2048 Jan  1  2000 lost+found
    499 drwxrwx--t    1 1000     9998          2048 Jan  1  2000 misc
    256 drwx------    1 0        0             2048 Apr 13 16:38 property
    506 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:46 system
    506 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:46 system


...

<reboot>
Linux version 2.6.32 (mark@eddie) (gcc version 4.3.3 (GCC) ) #2 Wed Mar 30
18:44:20 EDT 2011

...

bash-3.2# date; ls -ailp /data
Wed Apr 13 16:47:11 UTC 2011
      1 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 .
      1 drwxrwxr-x    1 0        0             2048 Apr 13 13:50 ..
    511 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 app
    510 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 app-private
    441 drwx------    1 1000     1000          2048 Jan  1  2000 backup
    264 drwxrwx--x    1 1000     1000          2048 Jul 29  2009
dalvik-cache
    509 drwxrwx--x    1 1000     1000          2048 Apr 13 16:46 data
    265 drwxr-x---    1 0        1007          2048 Jan  1  2000 dontpanic
    497 drwxrwxrwx    1 1000     1000          2048 Apr 13 16:39 energyhub
    507 drwxrwx--x    1 2000     2000          2048 Jan  1  2000 local
      2 drwxrwx---    1 0        0             2048 Jan  1  2000 lost+found
    499 drwxrwx--t    1 1000     9998          2048 Jan  1  2000 misc
    256 drwx------    1 0        0             2048 Apr 13 16:38 property
    498 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:45 system
    498 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:45 system


...

<reboot>

...

bash-3.2# date; ls -ailp /data
Wed Apr 13 16:55:26 UTC 2011
      1 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 ./
      1 drwxrwxr-x    1 0        0             2048 Apr 13 13:50 ../
    511 drwxrwx--x    1 1000     1000          2048 Jan  1  2000 app/
    510 drwxrwx--x    1 1000     1000          2048 Jan  1  2000
app-private/
    441 drwx------    1 1000     1000          2048 Jan  1  2000 backup/
    264 drwxrwx--x    1 1000     1000          2048 Jul 29  2009
dalvik-cache/
    509 drwxrwx--x    1 1000     1000          2048 Apr 13 16:47 data/
    265 drwxr-x---    1 0        1007          2048 Jan  1  2000 dontpanic/
    497 drwxrwxrwx    1 1000     1000          2048 Apr 13 16:39 energyhub/
    507 drwxrwx--x    1 2000     2000          2048 Jan  1  2000 local/
      2 drwxrwx---    1 0        0             2048 Jan  1  2000 lost+found/
    499 drwxrwx--t    1 1000     9998          2048 Jan  1  2000 misc/
    256 drwx------    1 0        0             2048 Apr 13 16:38 property/
    506 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:46 system/
    506 drwxrwxr-x    1 1000     1000          2048 Apr 13 16:46 system/


...and so on. And yes, the timestamp did go back in time for the 498 inode
version. The device has a battery-backed clock.