Two Download folders in SD Card

Search This thread

pongalong

Senior Member
Jan 21, 2010
228
17
Apologies if this has been resolved before, but I've been seeing two download folders in my SD card "downloads" and "Downloads." I've tried deleting one but I get an error - this also confuses Recovery when I try to flash a file located in one of the directories it typically looks in the wrong one. Has anyone had this or resolved it?
 

raycaster3

Senior Member
Apr 17, 2011
3,888
1,202
S.Ogden
Apologies if this has been resolved before, but I've been seeing two download folders in my SD card "downloads" and "Downloads." I've tried deleting one but I get an error - this also confuses Recovery when I try to flash a file located in one of the directories it typically looks in the wrong one. Has anyone had this or resolved it?

I have the issue and have just learned to deal with it. I don't really know when it why it happened, sometime around when I first flashed jellybean I think. Idk. Just letting you know you're not alone. Btw the "download" folder appears first in recovery. I move all my roms and kernels there. The "Download" is the folder all the general downloads end up in for me... at least I think... it's confusing but a sms issue to me.

DARKSIDE
 

kawaski47

Senior Member
Feb 17, 2010
542
50
I made a folder called Aaroms. It goes alphabetical and capital letters first so that folder is always on the top of the list. I then sort my roms mods and kernels with sub folders.

If you keep your (D)download folder clean and sorted it should be easy to know which one has what

Sent from my Galaxy Nexus using xda premium
 

strumcat

Senior Member
Mar 29, 2012
681
305
This is just speculation, but...

1. I think the virtual sdcard (sdcard0) and its links exists to make the real "sdcard" (/data/media) look like fat to apps instead of ext, which it really is (because it doesn't have a separate partition to itself). Most apps only know how to write to fat on the sdcard.

2. To programs that expect to be writing to fat, "download" and "Download" are the same directory, so they can be careless how they spell it when they access it or create it. But since the real filesystem is ext, they get created as two different directories. Maybe through some case-checking bug in the virtual sdcard or some program that writes directly to /data/media.

3. What I wound up doing was taking all my data out of both directories, deleting one, and making sure the remaining one was named "directory". Then I put all my data back in that one and everything has been good since then.
 

tonytober

Member
Sep 22, 2012
47
7
Need help too

Apologies if this has been resolved before, but I've been seeing two download folders in my SD card "downloads" and "Downloads." I've tried deleting one but I get an error - this also confuses Recovery when I try to flash a file located in one of the directories it typically looks in the wrong one. Has anyone had this or resolved it?

I have the same issue. I have two Download folders. The thing is that the one with the small "D" (download), it is empty, and when I try to delete it, it always reappear.

Help!
 

beekay201

Senior Member
Nov 8, 2010
5,224
1,221
1. I think the virtual sdcard (sdcard0) and its links exists to make the real "sdcard" (/data/media) look like fat to apps instead of ext, which it really is (because it doesn't have a separate partition to itself). Most apps only know how to write to fat on the sdcard.

I think that the symlinks are there just for backwards compability issues with apps, that look under /sdcard/ mount point. it doesn't have anything to do with fs, android never used fat, or ntfs; known fs in android are yaffs2, ext4 and maybe a few proprietary ones like sammy's rfs.
 

strumcat

Senior Member
Mar 29, 2012
681
305
I think that the symlinks are there just for backwards compability issues with apps, that look under /sdcard/ mount point. it doesn't have anything to do with fs, android never used fat, or ntfs; known fs in android are yaffs2, ext4 and maybe a few proprietary ones like sammy's rfs.
The real sdcards were formatted as fat, and most apps that used them to store data only knew how to read/write a fat fs. I found this out by creating a mountable volume on a real sdcard on my old phone. It mounted as a directory on the sdcard. If I formatted the volume as fat, all my apps could use it normally. If I formatted it as ext(anything), a few apps could use it but most could not.

The symlinks are for backwards compatibility, but I believe the fuse filesystem virtual sdcard0 exists to make ext4 look like fat to all apps and to windows.

Note that if the gnex "sdcard" had its own partition, it could be formatted as fat and mounted as USB external storage like a real sdcard. I don't know, but it seems like Google went out of their way to prevent that.

The Google line is that the gnex sdcard shares an ext4 partition to maximize space, ie no unused wasted space on two partitions. But that is pretty farfetched, since the number of problems caused by this arrangement is huge in proportion to the "space saved" which is negligible.

Obviously, the real reason for this kludged-up mess is to discourage local storage/backup and encourage cloud storage, which can then be monetized.
 
Last edited:
  • Like
Reactions: shag_on_e

beekay201

Senior Member
Nov 8, 2010
5,224
1,221
The real sdcards were formatted as fat, and most apps that wrote data to it only knew how to write it to a fat fs. I found this out by creating a mountable volume on a real sdcard on my old phone. It mounted as a directory on the sdcard. If I formatted the volume as fat, all my apps could use it normally. If I formatted it as ext(anything), a few apps could use it but most could not.

The symlinks are the for backwards compatibility, but I believe the fuse filesystem virtual sdcard0 exists to make ext4 look like fat to all apps and to windows.

Note that if the gnex "sdcard" had its own partition, it could be formatted as fat and mounted as USB external storage like a real sdcard. I don't know, but it seems like Google went out of their way to prevent that.

The Google line is that sdcard shares ext4 partition to maximize space, is no unused wasted space on two partitions. But that is pretty farfetched, since the number of problems caused by this arrangement is huge in proportion to the "space saved" which is negligible.

Obviously, the real reason for this kludged-up mess is to discourage local storage/backup and encourage cloud storage, which can then be monetized.

sure, i was talking about nand storage. still, if apps really depend on that to survive (said "fat compability"), it's unlogical to me coming from linux, where several fs can co-exist, as you may know.
if sdcard had its own partition like you say, and it could be formatted to fat, it would suck from a performance point of view, right? because its way slower than ext4 or yaffs2?

sent from my i9250
 

strumcat

Senior Member
Mar 29, 2012
681
305
sure, i was talking about nand storage. still, if apps really depend on that to survive (said "fat compability"), it's unlogical to me coming from linux, where several fs can co-exist, as you may know.
if sdcard had its own partition like you say, and it could be formatted to fat, it would suck from a performance point of view, right? because its way slower than ext4 or yaffs2?

sent from my i9250
Sure, Android knows how to read/write fat as well as ext(n). But I guess the app devs figured sdcards would be fat forever. so they only included fat I/O in their apps.

Yes, ext4 is better than fat. But fat+mass-storage is far better and faster than ext4+fuse+mtp. For example, an sdcard backup from fat mounted as mass storage to a pc is much faster and more reliable than an sdcard backup using mtp. MTP backups are painfully slow and often won't even complete due to errors.
 

shaggyskunk

Recognized Contributor
Nov 22, 2011
19,731
16,044
IDK
Sure, Android knows how to read/write fat as well as ext(n). But I guess the app devs figured sdcards would be fat forever. so they only included fat I/O in their apps.

Yes, ext4 is better than fat. But fat+mass-storage is far better and faster than ext4+fuse+mtp. For example, an sdcard backup from fat mounted as mass storage to a pc is much faster and more reliable than an sdcard backup using mtp. MTP backups are painfully slow and often won't even complete due to errors.
Well it still happens in 2017 running Android 7.1.2 lol

Sent from my SM-G930W8 using Tapatalk
 
  • Like
Reactions: chiragbhoj

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Well this is Linux after all. Downloads != downloads

    Sent from my Galaxy Nexus using xda premium
    1
    I think that the symlinks are there just for backwards compability issues with apps, that look under /sdcard/ mount point. it doesn't have anything to do with fs, android never used fat, or ntfs; known fs in android are yaffs2, ext4 and maybe a few proprietary ones like sammy's rfs.
    The real sdcards were formatted as fat, and most apps that used them to store data only knew how to read/write a fat fs. I found this out by creating a mountable volume on a real sdcard on my old phone. It mounted as a directory on the sdcard. If I formatted the volume as fat, all my apps could use it normally. If I formatted it as ext(anything), a few apps could use it but most could not.

    The symlinks are for backwards compatibility, but I believe the fuse filesystem virtual sdcard0 exists to make ext4 look like fat to all apps and to windows.

    Note that if the gnex "sdcard" had its own partition, it could be formatted as fat and mounted as USB external storage like a real sdcard. I don't know, but it seems like Google went out of their way to prevent that.

    The Google line is that the gnex sdcard shares an ext4 partition to maximize space, ie no unused wasted space on two partitions. But that is pretty farfetched, since the number of problems caused by this arrangement is huge in proportion to the "space saved" which is negligible.

    Obviously, the real reason for this kludged-up mess is to discourage local storage/backup and encourage cloud storage, which can then be monetized.
    1
    Sure, Android knows how to read/write fat as well as ext(n). But I guess the app devs figured sdcards would be fat forever. so they only included fat I/O in their apps.

    Yes, ext4 is better than fat. But fat+mass-storage is far better and faster than ext4+fuse+mtp. For example, an sdcard backup from fat mounted as mass storage to a pc is much faster and more reliable than an sdcard backup using mtp. MTP backups are painfully slow and often won't even complete due to errors.
    Well it still happens in 2017 running Android 7.1.2 lol

    Sent from my SM-G930W8 using Tapatalk