yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] naTrium:
AFAIK, if you have moved your apps to the SD card using the regular method (Apps2SD), the script will still work. This is because there's always leftover data on the phone, which then points to /.android_secure/ on the sdcard.

This script only changes the location of some data, but it's transparent to the phone.

If you don't feel safe about it, a full nandroid backup will restore the system to whatever setup you have now. (it also backs up what's mounted on the sdcard)
[Galaxy S I9000 Android Development] revthanki:
Well done! I knew I was never going to get round to this :D I'll close my old thread and redirect people here. Before I do so:

1) does the stock CM9 kernel support init.d scripts? If not stock kernel users will have to follow the manual method.

2) maybe it's worth putting a capitalised warning in your post to get people to set the option in Titanium Backup to follow all symbolic links
[Galaxy S I9000 Android Development] stfudude:
I flashed this script already but the low on space notification is still shown. It's definitely not working.

Do I have to create .nodatadata file inside /datadata and reboot now?

Sent from Ice-Cream flavored SGS GT-I9000 using Tapatalk
[Galaxy S I9000 Android Development] fahad123:
Free space in datadata folder,

Before flashing the script = 25mb

After flashing the script = 146mb

Definitely works without any lags.. one might experience lags on the first boot but after another reboot all gonna be super smooth like before!

Thanks a lot!! :)
[Galaxy S I9000 Android Development] Sepharite:
It deleted some of my apps like Dolphin HD. I'm running CM9, with IcyGlitch Kernel. :( Oh well, restored.
[Galaxy S I9000 Android Development] k9nadav:
Gr8 work

Many Thanks,

i have been waiting for this script ever since Darktremor Apps2SD (2010 !!! )

:cool:
[Galaxy S I9000 Android Development] karapoutsoglou:
thank you!!!!!!!!!!!!!!
[Galaxy S I9000 Android Development] jifeng:
Great Job!

Excellent, it's very smooth like before, thanks a lot.
[Galaxy S I9000 Android Development] Christophe86:
aha! :D that's the reason why all my apps suddenly began to lag like hell and some time after that force close. had only 1MB free space on /datadata partition lol. script works like a charm! thx ;)
[Galaxy S I9000 Android Development] naTrium:
I heard some kernels don't load init.d scripts on ICS, might be related to that.
[Galaxy S I9000 Android Development] toshiqe:
finally......

before script 11mb and after got 168mb free space! thanks!
[Galaxy S I9000 Android Development] arianesfahani:
really nice stuff
[Galaxy S I9000 Android Development] Wendigogo:
So the script doesn't apply ...

Could you run the script through adb shell or terminal emulator (as root) : sh /system/etc/init.d/30datafix ?

I don't recall it but you have to have a kernel supporting init.d script ... Stock CM9 doesn't support this so you'll have to flash a modded one (Devil is a good choice imho).
[Galaxy S I9000 Android Development] Skroif:
I have no idea how adb or terminal emulator work:o

I have the latest Semaphore kernel (0.9.7). Shouldn't that support init.d script?
[Galaxy S I9000 Android Development] Fenvarien:
I'm using this script with the latest Semaphore ICS kernel and it works flawlessly.

... tapatalked
[Galaxy S I9000 Android Development] Skroif:
Do you also use teamsgsics 4.2?
[Galaxy S I9000 Android Development] finnsonc:
So this one worked fine for me the first time I ran it and moved everything around correctly. Then the second time I ran it and went into the new folder (in data/local) and deleted everything in it. it just said removing stale app resources on the output and ran through the entire folder. Oh and I tried it with a fresh install too and it did the same thing
[Galaxy S I9000 Android Development] Wendigogo:
Install an app like "terminal emulator" from Google Play and run commands i gave you earlier.

:eek:

I tried this with a fake directory and it worked ... I don't have the time to correct this part untill friday so I comment it and upload a V2 version : http://minus.com/mmqQqw0m3/2f.

It's not an important part of the datafix : it just check if some app has been uninstalled and remove undeleted parts if there's any. So once corrected everything will be clean at first run and untill that the datafix will be effective.

Sorry for the inconvenience. :o

EDIT : I recheck this part and don't find where the problem is. Will try it "in vivo" and not on a GNU/linux terminal ...
[Galaxy S I9000 Android Development] finnsonc:
No problem, that's what backups are for haha. Thanks
[Galaxy S I9000 Android Development] pntballer505:
I've looked around the thread, but can anyone

tell me the code to type into terminal in order

to see how much /datadata is filled.
[Galaxy S I9000 Android Development] upichie:
I would use Root Explorer (or an equivalent root file manager) to check.
[Galaxy S I9000 Android Development] Adevem:
df datadata
[Galaxy S I9000 Android Development] chrulri:
Oh, of course you "did"... just go 1-3 pages back: http://xdaforums.com/showthread.php?p=24393805#post24393805
[Galaxy S I9000 Android Development] ivanchin99:
Hello, Im using DataFix_29032012. Performance has been great but I have a 22mb database file that is taking a chunk of space out of datadata. It is not a performance-intensive file so how do i move it to /data/data/? :o

Edit the 30_datafix and put in skip_apps='com.www.xxx' and then flash it via cmw again?
[Galaxy S I9000 Android Development] Skroif:
a/local/bin:$PATH <

app_60@android:/ $ sh /system/etc/init.d/30datafix

sh: /system/etc/init.d/30datafix: Permission denied

127|app_60@android:/ $

I don't think things went right :confused: :D

Something i am doing wrong?

Verstuurd van mijn GT-I9000 met Tapatalk
[Galaxy S I9000 Android Development] fylim:
U need to run with root.

Type su <return>

before running the sh 30datafix
[Galaxy S I9000 Android Development] Skroif:
That isn't right is it...:what:

Verstuurd van mijn GT-I9000 met Tapatalk
[Galaxy S I9000 Android Development] Wendigogo:
This should works (don't test that part by myself). But (one more time), why moving this to /data/data if there's enough space on /datadata ?

:confused:

Could you execute (as root, with "su") these commands :

df -h
ls -lha /data
ls -lha /data/data/com.* (only one screenshot will be sufficient).

I will try to fix the latest datafix today but not sure to have time for that today ...
[Galaxy S I9000 Android Development] Wendigogo:
I found my mistake on previous datafix (04042012). :)

Not on cleaning part (that's why I didn't found any error there :D ) but on initialisation part (testing if this datafix is currently applied or not). The end of the first "if" test wasn't at the good place (I was too hasty) ... :(

So the first time datafix works fine but next it will fails. And I didn't test it twice ...

Sorry for the inconvenience. The corrected "reversed" datafix is here : DataFix_06042012.zip.

As it doesn't work like others datafix, you MUST read the initial post to use it correctly !
[Galaxy S I9000 Android Development] jifeng:
I read the latest script, it seems a bit strange.

If I apply any other earlier script (like DataFix_29032012), I will have lib* on /data/data and others on /datadata.

I see DataFix_06042012 only backup /data/data/*, but /datadata/*.

Please correct me if I'm wrong, BTW, thanks for your great job.
[Galaxy S I9000 Android Development] MisT.:
Tried it, i did everything including the titanium backup linking,,, the notification is still there,,, is it because am running midnight bigmem kernel??...
[Galaxy S I9000 Android Development] Wendigogo:
You're not wrong ... but you are. ;)

But if you look at the command used to backup files there's an "L" (cp -aL bla bla.backup) which means "follow symlinks". So this command copy all files including those pointed by symlinks. And there's two situations with /data/data and /datadata.

If no datafix used, /data/data is a symlink to /datadata and all files are on /datadata; if classic datafix used (including DataFix_29032012) /data/data is not a symlink to some subdirectories (/data/data/app/lib for exemple) are linked to /datadata subdirectories.

For each of them, the "cp -aL" follows symlink and backup everything. :D

PS : and if my latest datafix (DataFix_06042012) is used it should work too ... /data/data points to /datadata and some subdirectories goes to /data/local/etc. The "cp -aL" is a magic command !
[Galaxy S I9000 Android Development] Skroif:
This is what I get then...

Verstuurd van mijn GT-I9000 met Tapatalk
[Galaxy S I9000 Android Development] Wendigogo:
Try without "-h".

df

ls -la /data

ls -la /data/data/com.* (don't forgot ".*" chars)
[Galaxy S I9000 Android Development] jifeng:
GREAT!! I learnt much from you, thanks.
[Galaxy S I9000 Android Development] Adevem:
could someone provide a mirror, thanks!
[Galaxy S I9000 Android Development] Bejda:
http://db.tt/pVSNGypY

https://www.box.com/shared/b04b68955daa665688e6
[Galaxy S I9000 Android Development] jifeng:
Strange thing again~~

After applying DataFix_06042012 and reboot mobile, all data (incl. lib*) will be come back to /data/data (/datadata).

But all lib* still were remained on /data/local/staticdatadata/, but no link to /data/data/.

Please take a look~
[Galaxy S I9000 Android Development] finnsonc:
Thanks seems to be working great for me
[Galaxy S I9000 Android Development] finnsonc:
Have you tried uninstalling a couple of apps? There might not be enough room on datadata to move back to
[Galaxy S I9000 Android Development] jifeng:
Actually, I have enough space, I only installed about 100MB on datadata.
[Galaxy S I9000 Android Development] tiwag:
Confirm that

All lib folders copied to /datadata and no room check before so script runs out of space during copying to /datadata.

This script is crap!

Need to investigate and write a working one myself.

Also there is a big difference on reporting free space on /datadata when using du or df commands.

anyone who knows why?

__

sent using recycled bits and bytes, tiwag
[Galaxy S I9000 Android Development] finnsonc:
Oh I see what you mean. Happened to me too. Something isn't working quite right.
[Galaxy S I9000 Android Development] Skroif:
Results:

Verstuurd van mijn GT-I9000 met Tapatalk
[Galaxy S I9000 Android Development] karol1981:
where can I find in titanium backup option troubleshooting and follow the symbolic links.

Wysłano z GT-I9000
[Galaxy S I9000 Android Development] Skroif:
Open TB, go to preferences (left bottom button), go all the way down to settings for problems (or something like that, it's the last option) and then tick second option

Verstuurd van mijn GT-I9000 met Tapatalk
[Galaxy S I9000 Android Development] pntballer505:
So all of the sudden TiBu is not working and is telling me

"Insufficient storage available." Is that part of this /datadata

problem, or something else?
[Galaxy S I9000 Android Development] Wendigogo:
As your comment ... :mad:

Don't be so rude please, I spent time for this.

You're welcome for this.

Cause little files use not only space needed but a full cluster.

/data/data is still a symlink to /datadata.

Just check with "ls -al /data", you should se the ./data symlink. Same command "ls -la /datadata/oneappsdir" should show you a symlink "lib" pointing to /data/local/staticdata/oneappsdir/lib.

By the hell ! The free space check is not good. I forced it to be true on my Linux station to apply the script and have put a 1750000 limit instead of 175000 (one 0 difference). And don't remove it before uploading the datafix. My mistake. Sorry for that ... :(:(:(:(

Correct script is here : Datafix_08042012.

Could you post a screenshot for each command please ...
[Galaxy S I9000 Android Development] Skroif:
Here you go:

I hope you can help me with this!

Verstuurd van mijn GT-I9000 met Tapatalk
[Galaxy S I9000 Android Development] pntballer505:
Well, I'm not sure if the script worked for me or not.

Regardless, the only app I can't install is TiBu(Due to space errors?!).

All the others work fine...

Edit: Nevermind problem solved. For anyone else having this issue:

In data/app/ delete com.keramidas.TitaniumBackup.odex.
[Galaxy S I9000 Android Development] finnsonc:
So I just have a question. The cache grows on datadata with use right? Do I need to worry about clearing it for each app somehow are will it do it automatically? How would I go about cleaning it if I wanted to? I assume it's something that can just be deleted right?
[Galaxy S I9000 Android Development] Kagadar:
Without lib/libs being on datadata, you should have an ample amount of space. Most apps should prevent their cache from growing completely out of proportion, but the easiest way to clean it if you actually do run out of space would be to use titanium backup. It has an option for clearing an application's cache.

You can remove it from the command line

rm -R /datadata/*/cache/*

Just be careful trying this, if you make a mistake it may end up deleting something important.

You can also do this manually through "Manage apps" in system settings. Exact procedure will vary with the ROM you're using.
[Galaxy S I9000 Android Development] finnsonc:
Ok Thanks

So I still have a problem with your newest script unfortunately. On one reboot it'll have all the lib directories in /data/local and the next it'll have all the lib files on /datadata and also in /data/local and it seems to just keep switching back and forth.

Oh and also for some reason it won't do the switch thing by just running the script when the phone is on, it has to be rebooted.

Hopefully that makes sense

Thanks
[Galaxy S I9000 Android Development] fylim:
After running the 2903 version and latest facebook loads much quicker.
[Galaxy S I9000 Android Development] Tyxerakias:
The latest script is offline. Are you working on a new one, Wendigogo? Also, is it right that your script will reverse the changes from the script on the first page?
[Galaxy S I9000 Android Development] Wendigogo:
Seems there's no datafix applied here (can't see the data sudir in "ls -al /data" command but thought it's a symlink to /datadata). And your /datadata has less than 10% free space so you've got the warning. You should use a datafix script (and a kernel managing init.d like Devil one) if you wanna free some space here.

It's the stable release. Current one (0804) should work but it seems some users complain about it.

The latest script reverse previous datafix ONLY if there's enough space to copy ALL data on /datadata. If not it doesn't do anything.

:eek:

Not really ...

If your compare "df datadata" at each reboot the amount of free/used space is different; that's what you've got, right ?

Do you remove all my previous datafix (from april, ie no more /data/local/staticdatadata) before applying the latest ?

If the phone needs to be rebooted that could mean there's a conflict between init.d scripts. What's you kernel ? Could you list the content of : /system/etc/init.d please ?
[Galaxy S I9000 Android Development] millerm:
app_102@android:/ $ export PATH=/data/local/bin:$PATH

app_102@android:/ $ cd /etc/init.d

app_102@android:/etc/init.d $ su

app_102@android:/system/etc/init.d # sh 30*

Processing org.lukeallen.bomberfull/lib...

rm failed for -Rf, No such file or directory

Error: failed moving org.lukeallen.bomberfull/lib

Processing org.openintents.filemanager/lib...

rm failed for -Rf, No such file or directory

Error: failed moving org.openintents.filemanager/lib

Processing org.projectvoodoo.controlapp/lib...

rm failed for -Rf, No such file or directory

Error: failed moving org.projectvoodoo.controlapp/lib

Processing org.zeam/lib...

rm failed for -Rf, No such file or directory

Error: failed moving org.zeam/lib

app_102@android:/system/etc/init.d #

Is something wrong? Using 08042012 script.

Sent from my GT-i9000 using Slim ICS 3.0
[Galaxy S I9000 Android Development] abobobilly:
Hi Guys

So i am using OneCosmic RC4.2 with Devil's 0.64 Kernel.

Previously i was on RC4.2 with Devil's 1.1.6 Kernel. At which i successfully used this script for the first time. It was great, got all my memory back :D (Kuddoes to the Maker)

Now ... due to some problems, i had to flash the ROM again. I am noticing that i am unable to apply this script anymore. It shows me in CWM Recovery that its flashed successfully, BUT ... upon Restoring my Titanium Backup (even after checking the relevant option from "Troubleshooting"), script is still not working.

And i am getting Low Storage error which is very annoying.

I have 17MB Free Space left on my /datadata folder and i dont know what to do.

While checking some last posts, I felt that an update (of some sort) has been released for this script, but i am not so sure.

Kindly help me troubleshoot this problem.

Hoping for prompt response :)

P.S. The Script version i am using says "DataFix_11032012"
[Galaxy S I9000 Android Development] Tyxerakias:
Thanks, but it is still not there...could you re upload it, please?
[Galaxy S I9000 Android Development] finnsonc:
Yes, free space was different each time and all I've been using was the 29032012 datafix. I cleared init.d before flashing the script so your new one was the only thing in it. I'm using devil kernel 0.64 XL and slim 3.2 rom. I guess I could try it again but I won't have much time until tomorrow or so.

Is it working for anyone else here?

The 29032012 one works fine for me so I can stick with it either way I guess but I would think this new one that you made would be a bit better.

Anyway thanks :)

---------- Post added at 05:34 PM ---------- Previous post was at 05:31 PM ----------

If you're trying to download it on your phone I've noticed that you have to put minus into desktop mode for it to work correctly, doesn't seem to work in mobile mode.

Here's a dropbox link though http://dl.dropbox.com/u/806979/DataFix_08042012.zip
[Galaxy S I9000 Android Development] Tyxerakias:
I was just about to write to say that it worked from the PC. Never used this minus site before, it seems to be temperamental with phones. Thank you anyway!
[Galaxy S I9000 Android Development] finnsonc:
Yea, no problem. Let me know if the script works for you, I was having a couple of problems so I was wondering if it was just me or something.
[Galaxy S I9000 Android Development] Tyxerakias:
Testing now. On first reboot it seems to have reverted the previous script (the one from the first page, not an April one) (haven't restored my apps yet so had loads of space), and filled /data/local/statidatadata with empty libs. On second reboot, nothing seems to have changed. df /datadata gives the same answer, empty libs are still there (can I delete them? -no, they are recreated on boot) and cache databases and shared prefs of datadata seem to be linked to /data/data. In all, it looks like it's working. :)

I also have a data.bak directory in data, is that supposed to be there, or can I delete it? Will it ever be useful?

Fyi, i'm on cm9.

Edit: I just went through the script (yeah I know, but I was bored :p).. I can't see why /data/data.bak is still there, it's supposedly deleted.. hmm. I think I will undo everything and try again, now that I see what's going on.

Edit2: I think I found the problem, busybox doesn't recognise the force f in rm -Rf. R by itself works fine. Maybe you should change it in the script. Look at millerm's post in the previous page, you'll see what I mean.

Edit 3: It's not exactly busybox, but the default terminal emulator. I tried it with Better Terminal Emulator and it works. And I guess it would also work with adb. Now my /datadata is almost full on df, it was the opposite with the other original datafix so it works as expected.

I'm not sure which one would be better for many applications. What would you recommend for many applications, Wendigogo? Also, which ROM do you have? And how are you applying the 0804 script? It seems that it will not work on cm9 as init.d, since the default terminal emulator struggles with the Rf. It needs to be run manually.
[Galaxy S I9000 Android Development] Adevem:
slightly confused right now, I've been applying your provided scripts every time it's release in hope of having chrome run smoother, as the one provided in the op slows it down. so do I have to do any manual cleanups of data/local, data.bak or something?

also, your 08 release is to undo the datafix which means apps are back to using the ~180mb space instead of the ~1.3gb in our internal memory?

thanks for enlightenment!
[Galaxy S I9000 Android Development] abobobilly:
I am only waiting for someone's reply ... Thats the only thing NOT letting me flash the ROM once more.

Would anyone kindly ... ?
[Galaxy S I9000 Android Development] Funnnny:
The problem with our way now:

We remove the symlink from /datadata and replace it with a folder to remove the partition limit. But the system are monitoring /data/data to clear cache, normally when /data/data is at /datadata, the partition grow fast and the system will know it and clear the cache when needed.

But now the /data/data folder is actually at /data partition, so it'll never get full (we have plenty of space) and the system will let the cache grow, but the cache folder in each app folder is at /datadata and it'll fill the partition.

I think we can change it:

Leave /data/data symlinked to /datadata

make a dir in /data like /data/datalib

move library folder in each application folder to /data/datalib and then symlink the library back to /datadata.

With this way, the lib will not fill the /datadata partition and the system will know when it have to clear the cache

Hope someone with nice bash skill can make this.
[Galaxy S I9000 Android Development] Wendigogo:
You have to use the Titanium Backup option when doing your backup. Use it after doesn't make sense. And the datafix needs to be apply (rebooting may be enough) after restoring your backup. If after a reboot you still have the Low Storage error it means that the datafix doesn't apply (busybox problem, init.d problem ...).

You could use le datafix_29032012 which is working flowlessly. Only lib files are moved to the ext4 partition (/data) while 11032012 moves more files on it (more free space on /datadata but some have lags with this one). The latest (08042012) seems to have some issues ...

You point a good point here. I should remove this argument from cp. I use it "by default" to prevent asking if I really really really wanna delete some file or so (you see what I mean ? ;) ).

I'm still on CM9-B17 and doesn't use the april datafix (I wait for the four point lockscreen on Nigthly builds to make a fresh install to many apps to uninstall before using another datafix).

My recommandation would be the latest one. It does the same as the 29032012 one (which I currently use) with more flexibility. If the Low Storage comes again it will allow you to move others subdirectories than lib/libs on /data partition.

Datafix_ 08042012 should lets some files on your phone if your kernel busybox doesn't support the "-f" argument (I'm using busybox installer from market/Play). But it seems it doesn't do nothing in your case cause you have a previous datafix with lots of space used (more than the 175MB avaliable on /datadata).

datafixes following the 29032012 one will (try to) revert previous datafix when applied. It means all apps data are copied temporarly in /datadata (== remove any datafix) before applying the new datafix (== moving some subdirectories on /data/local/staticdatadata by default). So it checks your apps data could be all copied in /datadata (175MB partition). If not, the datafix doesn't apply and everything stays as it was.

That's precisely what my latests datafix (april ones) are intended to do ... :D

The previous one 29032012 is based on previous datafix (you described) : everything is moved on /data/data and everything but lib subdirectories are moved back to /datadata. The final situation is the same : only libs subdirectories are on /data (ext4) partition; others apps datas are on /datadata (yaffs) partition.
[Galaxy S I9000 Android Development] Skroif:
I used a datafix script(Kadagar). Then reflashed the script you made. I use Semaphores kernel which supports init.d. Still no extra space on datadata. I don't have the warning however...

Verstuurd van mijn GT-I9000 met Tapatalk