[Sony Xperia P, U, Sola, Go] nosmaster:
on the 5th of oct i sent a email to sony dev world regarding sd mount problems with the 2012 lineup today i recieved this responce although there is not a direct response to say they will fix i feel that this is a start i will enclose a paste of the email if this breaks any forum rules i will be happy to remove please just let me know

Sorry for a very late answer but thanks for email. We’re a small team running Developer World and lately we’ve been super busy. But anyhow, I did forward your question internally and this is the answer I got from one of our engineers:

On the Sony Xperia Go, there are a number of mount points and symlinks but for the sake of the issue at hand we’ll stick to the following three:

/ - This is the root storage mount point for Android

/sdcard – This is a symlink to the internal 4GB memory (/mnt/sdcard). This is named “Internal storage” when moving apps with Apps2SD.

/ext_card – This is a symlink to the external SD card (/mnt/ext_card) which has the same size as the physical SD-card.

As an end-user of an unrooted Xperia Go, there is little possibility of influencing the behavior of storing data. The only way to have an app’s data stored onto /ext_card is if the app developer has taken this in consideration and added code to the app to handle this specific situation. There are a number of environment variables that a developer can make use of:

String externalStorage = System.getenv("EXTERNAL_STORAGE"); //The same as the primary external storage in the environment API. Example: “/mnt/sdcard”

String extStoreUsb = System.getenv("EXTERNAL_STORAGE_USB"); //Path to external USB disk. Example: “/mnt/usbdisk”

String wholeDataKit = System.getenv("EXTERNAL_STORAGE_ALL"); //List of paths to all stores. Example: “/mnt/sdcard:/mnt/usbdisk:/mnt/ext_card”

Now, the environment variable “EXTERNAL_STORAGE_ALL” is one that contains the path to “ext_card”, if it exists, which is of interest when handling this specific situation. This is one way a developer could use when deciding where to store data related to the app.

As an end-user of a rooted Xperia Go, you have already touched on a subject of changing the mount points, which effectively will direct /sdcard to the external storage (physical SD card). This, as you also have mentioned, will have the effect of, when asking Android to remove the contents of the “Internal storage”, removing the contents of the physical SD card.

A reason behind all this is that there is no clear standardized way of handling the different storage types and mount points. Android’s Apps2SD-function move a substantial part of an app to the /sdcard partition but has no capability of switching between other mount points even if they exist. The original /sdcard partition of an Xperia Go is 4GB, with the added capability of extending storage with a physical SD-card, of which the symlink in the end will be /ext_card. This, unfortunately, does not alleviate the problem that occurs with the fixed 4GB internal storage for unrooted phones when using functions such as Apps2SD.

We understand this is cause of some frustration, and we have forwarded this issue to our product development organisation for evaluation. Thanks for reaching out!