Why is the same sd-card partition mounted on 7 different mount points? I created an /sd-ext partition and linked /cache/download and /cache/dalvik-cache to /sd-ext/...  When I boot up the phone and all filesystems are mounted and I start adb shell, "df -h" shows that I have both /sd-ext and /data/sdext2 and they are both connected to the same block device, /dev/block/mmcblk0p2.  In fact that partition is mounted on 7 different mount points!  Is that supposed to happen?

/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /sd-ext
/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /data/sdext2
/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /data/app
/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /data/app-private
/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /data/data
/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /data/dalvik-cache
/dev/block/mmcblk0p2    915.2M    394.7M    471.6M  46% /sd-ext/download


Furthermore, there is /sd-ext/dalvik-cache and /data/dalvik-cache.  They seem to have identical contents.  In fact, ls -ldi shows that they are the same inode!  

When I first set up the /sd-ext partition, I added it to /etc/fstab.  But each time I booted, I found that /etc/fstab was overwritten.  Now I can no longer find fstab anywhere on the sd-card!

I also looked in init.rc and found the following:

# grep symlink init.rc
    symlink /system/etc /etc
    symlink /sys/kernel/debug /d
    symlink /system/vendor /vendor
    symlink /mnt/sdcard /sdcard


This doesn't really explain why /data/dalvik-cache and /sd-ext/dalvik-cache are the same inode, and many other things I'm seeing.

There is obviously more going on here than meets the eye, and I'd like to get to the bottom of it so I know what's going on.
what version of CM are you using? A bunch of those mount points don't even exist in my version of CM (CM7)

tmpfs                   173052        32    173020    0% /dev
tmpfs                   173052         0    173052    0% /mnt/asec
tmpfs                   173052         0    173052    0% /mnt/obb
/dev/block/mtdblock2    192000    146684     45316   76% /system  
/dev/block/mtdblock3     81920     35816     46104   44% /cache  
/dev/block/mtdblock5     16384     14512      1872   89% /radio  
/dev/block/mmcblk0p2   1935192    286276   1648916   15% /data  
/dev/block/mtdblock6    176128    156340     19788   89% /datadata  
/dev/block/mtdblock4     12800      6756      6044   53% /efs  
/dev/block/mmcblk1p2   1874206     32898   1741308    2% /sd-ext  
/dev/block/mmcblk0p2   1935192    286276   1648916   15% /cache/download  
/dev/block/mmcblk0p2   1935192    286276   1648916   15% /cache/download  
/dev/block/vold/179:1  13824672   4444320   9380352  32% /mnt/sdcard   
/dev/block/vold/179:1  13824672   4444320   9380352  32% /mnt/secure/asec  
/dev/block/vold/179:9  5869368    1714680   4154688  29% /mnt/emmc


There is what i get when i do a df. I did think it was interesting that /cache/download was in there twice though. But, also, if you notice, both /data and /cache/download are on the same device. Really, it is not uncommon that a device could have multiple mounts.