[HD2 Android NAND Development] dorimanx:
Hey people!

i have made huge progress with the DATA to EXT!

i have modded my 01MountAll script allot!

and here what i get :)

#checking my NAND DATA partition!

bash-3.2# df -h /data
Filesystem Size Used Available Use% Mounted on
/dev/block/mtdblock5 250.1M 12.5M 237.6M 5% /data
bash-3.2#

#checking how much system see that used in NAND DATA :)

bash-3.2# pwd
/data
bash-3.2# du -h -s
[COLOR="Red"][SIZE="5"]1.1G[/SIZE][/COLOR] .
bash-3.2#

#Checking what files i have on NAND DATA!

#You can see that DATA , APP, APP-PRIVATE, and DALVIK-CACHE are folders not links! but they are BINDED to EXT! and for system it's transparent!

bash-3.2# ls -la
drwxrwx--x 1 1000 1000 2048 Oct 7 00:46 .
drwxr-xr-x 14 root 0 0 Oct 6 22:14 ..
drwxrwxr-x 1 1000 1000 2048 Oct 6 19:13 anr
[COLOR=Red]drwxrwxrwx 2 1000 1000 24576 Oct 5 22:39 app[/COLOR]
[COLOR=Red]drwxrwxrwx 2 1000 1000 4096 Oct 7 00:32 app-private[/COLOR]
drwx------ 1 1000 1000 2048 Oct 6 11:50 backup
-rw-r--r-- 1 root 0 2360 Aug 1 2008 bfq
----rwxr-x 1 1000 1015 410 Sep 26 10:34 copyall.sh
drwxr-xr-x 1 root 0 2048 Oct 4 16:13 cron
-rw-r--r-- 1 root 0 90 Oct 6 01:00 cron-clear-file-cache
-rw-r--r-- 1 root 0 66 Oct 6 21:04 cron-clear-ram-cache
-rw-r--r-- 1 root 0 60 Oct 6 01:20 cron-clear-swap
-rw-rw-rw- 1 root 0 60 Sep 26 09:59 cron-databas
-rw-rw-rw- 1 root 0 89 Oct 6 01:10 cron-database-fix
-rw-r--r-- 1 root 0 91 Oct 6 01:40 cron-fix_permissions
-rw-r--r-- 1 root 0 59 Oct 7 00:41 cron-renice
drwxrwxrwx 1 root 0 2048 Oct 4 16:13 cron-scripts
-rw-r--r-- 1 root 0 86 Oct 6 01:51 cron-zipaling
[COLOR=Red]drwxrwxrwx 2 1000 1000 53248 Oct 5 22:39 dalvik-cache[/COLOR]
[COLOR=Red]drwxrwxrwx 407 1000 1000 20480 Oct 5 22:39 data[/COLOR]
-r--r--r-- 1 root 0 14 Oct 6 15:42 data-on-ext-now
-rw-r--r-- 1 root 0 24 Oct 4 23:08 data2sd.prop
drwxr-x--- 1 root 1007 2048 Oct 4 23:03 dontpanic
drwxrwxrwx 1 root 0 2048 Aug 25 21:17 download
lrwxrwxrwx 1 root 0 11 Oct 4 23:50 drm -> /data/local
drwxrwxr-x 1 1000 1000 2048 Oct 6 01:10 i??
drwxrwx--x 1 2000 2000 2048 Oct 5 13:03 local
drwxrwx--- 1 root 0 2048 Aug 9 18:02 lost+found
drwxrwx--t 1 1000 9998 2048 Oct 6 20:51 misc
-rw-rw-rw- 1 root 0 324 Oct 7 00:46 mountall-script-debug.sh
drwx------ 1 root 0 2048 Oct 6 10:43 property
drwx------ 1 1000 1000 2048 Sep 23 14:00 secure
drwxrwxr-x 1 1000 1000 2048 Oct 7 00:32 system
drwxr-xr-x 1 1000 1000 2048 Oct 6 01:00 tombstones
-rw-r--r-- 1 root 0 16074 Oct 6 11:49 zipalign.dba
-rw-r--r-- 1 root 0 23101 Oct 6 11:49 zipalign.log
-rw-rw-rw- 1 root 0 1477 Sep 25 09:48 zipaling

bash-3.2# mount
rootfs on / type rootfs (rw,noatime,nodiratime)
tmpfs on /dev type tmpfs (rw,noatime,nodiratime,mode=755)
devpts on /dev/pts type devpts (rw,noatime,nodiratime,mode=600)
proc on /proc type proc (rw,noatime,nodiratime)
sysfs on /sys type sysfs (rw,noatime,nodiratime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,noatime,nodiratime,mode=755,gid=1000)
tmpfs on /mnt/obb type tmpfs (rw,noatime,nodiratime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mtdblock3 on /system type yaffs2 (rw,noatime,nodiratime)
/dev/block/mtdblock5 on /data type yaffs2 (rw,nosuid,nodev,noatime,nodiratime)
/dev/block/mtdblock4 on /cache type yaffs2 (rw,nosuid,nodev,noatime,nodiratime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,noatime,nodiratime)
[COLOR=Red]/dev/block/mmcblk0p2 on /sd-ext type ext4 (rw,nosuid,nodev,noatime,nodiratime,nouser_xattr,commit=60,barrier=0,nobh,data=writeback,noauto_da_alloc)
/dev/block/mmcblk0p2 on /cache/dalvik-cache (deleted) type ext4 (rw,nosuid,nodev,noatime,nodiratime,nouser_xattr,commit=60,barrier=0,nobh,data=writeback,noauto_da_alloc)[/COLOR]
/dev/block/vold/179:1 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/vold/179:1 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)
/dev/block/dm-0 on /mnt/asec/com.rugbyworldcup.AndroidClient-1 type vfat (rw,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-1 on /mnt/asec/com.subatomicstudios-1 type vfat (rw,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
[COLOR=Red]/dev/block/mmcblk0p2 on /data/data type ext4 (rw,nosuid,nodev,noatime,nodiratime,nouser_xattr,commit=60,barrier=0,nobh,data=writeback,noauto_da_alloc)
/dev/block/mmcblk0p2 on /data/dalvik-cache type ext4 (rw,nosuid,nodev,noatime,nodiratime,nouser_xattr,commit=60,barrier=0,nobh,data=writeback,noauto_da_alloc)
/dev/block/mmcblk0p2 on /data/app type ext4 (rw,nosuid,nodev,noatime,nodiratime,nouser_xattr,commit=60,barrier=0,nobh,data=writeback,noauto_da_alloc)
/dev/block/mmcblk0p2 on /data/app-private type ext4 (rw,nosuid,nodev,noatime,nodiratime,nouser_xattr,commit=60,barrier=0,nobh,data=writeback,noauto_da_alloc)[/COLOR]
bash-3.2#

Now this is progress! :)

and i have normal speed in ROM and 3000 quadrant score :)

I will post my script soon for all!

testing some more! :)

Some cool reading that i found!

Symlinks and bind mounts are a whole different ballgame.

The --bind mount seems a bit more robust to me and it probably is a bit faster than working with a symlink. On the other hand, there are no serious drawbacks to using the symlink, as the performance hit will be small (if it at all exists).

Edit: I've been thinking about this, and the performance hit might be a bit bigger than I originally thought. If you have an application that reads a lot of different files, then every new file that is opened will require an extra read. Some research here suggests that my assumption is correct, so if you have an IO heavy application running there, consider the --bind option to mount above the symlink solution.

The reason it is not common, is probably the fact that a symlink is visible in an ls, whereas a bind mount is only visible when looking at /proc/mounts or /etc/mtab (which is what the mount command does, if it is executed without parameters). Other than that, I don't think there are any issues. I'd be interested if there are, though.

==============

BIND ADDED! MORE POWER!!! :)