yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] Kagadar:
No problem. I had to do the same thing when I was using Slim ICS. For whatever reason the installer script doesn't link very many of the toolbox or busybox applets. You may find down the line that you need to symlink more things from busybox if you use the command line a lot.
[Galaxy S I9000 Android Development] ImraanK:
Same problem as per above.. script clearly didn't run for some reason or other cause I only have 15mb free lol.

Not too clued up with logs and adb commands.. didnt feel the need to learn them since I haven't ran into a problem that required them.

Slim 2.9 with glitch b6
[Galaxy S I9000 Android Development] schinden:
If I install a different kernel, I must re-install the script?
[Galaxy S I9000 Android Development] nemanja066:
Yes, if you clear init.d :)
[Galaxy S I9000 Android Development] schinden:
ok, but if I'll not remove init.d and install the script will work ok or nothing changes?
[Galaxy S I9000 Android Development] nemanja066:
Working OK ;)
[Galaxy S I9000 Android Development] Kagadar:
Install a terminal emulator from the market, open it.

Type in "su" without quotes (case sensitive, make sure its lower case)

Enter the commands I listed in my previous post. (ln /system/xbin/busybox etc etc...)

Try and run the script directly:

"sh /system/etc/init.d/30datafix"

See if it gives any errors. It may give some errors on the first run, run it twice just to be sure.
[Galaxy S I9000 Android Development] Wendigogo:
Glad to hear that ! Could you tell us how much space is left on your /datadata partition ?

I just edited the 30datafix file inside the zip (through 7zip) without signing it. Maybe a problem here. I'll chack this sooner.

Once more it doens't do nothing more te first script than moving back all stuff to /datadata except /lib subdirectories. Only modified the "dir_to_move" variable everything else is unchanged.
[Galaxy S I9000 Android Development] Kagadar:
For those of you who are having trouble getting the script to run, I have created a small flashable zip that will ensure that the missing busybox applets are symlinked. For whatever reason SlimICS doesn't have busybox linked properly.

TL;DR - Flash if on SlimICS
[Galaxy S I9000 Android Development] Adevem:
on my side it seems the same, 146mb left compared to the script provided in the op.
[Galaxy S I9000 Android Development] Wendigogo:
Great ! One more "must have" zip file. Note that it only corrects busybox installation on some rom and doesn't apply any datafix ... :D

Is it correctly applied ? Some others subdirectories would be moved back to /datadata (like /cache etc.) so space left would be lower ... :confused:
[Galaxy S I9000 Android Development] smalldookie:
Can somebody reupload wendigogos datafix, seems to be unavailable for me.

Edit: please :)
[Galaxy S I9000 Android Development] Wendigogo:
Damit ! Minus seems to be down ...

If you could edit the op datafix, just change

dirs_to_move='databases shared_prefs opera app_databases'

with

dirs_to_move='[!lib]*'

et voilà ! :D

PS : [!lib]* means everything NOT starting with "lib".

EDIT : Minus is back !
[Galaxy S I9000 Android Development] smalldookie:
hehe cool. Thank you. I'll try again. One question, since there is still no undo fix, do I need to full wipe and reflash the rom to get this working properly? My datadata also seems a bit strange right now. It's nearly free, just 3mb in lost + found folder.
[Galaxy S I9000 Android Development] Wendigogo:
Seems like you have a problem (maybe with your busybox, you could try applying the fix from @Kagadar some posts before) because /datadata shouldn't be empty.

I don't think you have to undo the fix : the modification I made only add some subdirectories to be moved back to /datadata and the datafix is applied at every boot (if kernel supports it, you should check this too).
[Galaxy S I9000 Android Development] smalldookie:
well, i'm on the latest tsunamics versions with mednight kernel, on previous versions it worked. if the kernel wouldn't support it, i think the init.d script wouldn't change anything, so the datadata should be full, not empty??! now i#m going to flash both, the busybox fix, and your modified script. let's see if it fills up my datadata a bit :)
[Galaxy S I9000 Android Development] Adevem:
yes it's working beautifully, /datadata only has apps for subdirectories, nothing weird found otherwise. thanks!
[Galaxy S I9000 Android Development] smalldookie:
no luck :( datddata still empty, apps are running really slow.
[Galaxy S I9000 Android Development] Wendigogo:
You could try running the script form a terminal emulator or through "adb shell" (both in root mode). This way, you could see what's happened when the script is runing ...

EDIT :

Cool !
[Galaxy S I9000 Android Development] smalldookie:
I already wiped and reflashed. Now everything is working flawlessly again. But before that, i ran the script out of curiosity with script manager and it gave me 4 error messages in a row. something like "file not found"...
[Galaxy S I9000 Android Development] Skroif:
Hi,

I'd rather not use this fix since there is no going back yet. Would it be a temporary solution for me to move some apps to sd with TB? I tried it and it gets rid of the warning... Just don't know about longterm problems that may arrise.
[Galaxy S I9000 Android Development] Kagadar:
That does move some datadata stuff to the SD card, however this will significantly slow down those apps. The major tradeoff is that those apps will cease to function while the SD card is unmounted from the phone (i.e. You are using it in USB mode).

Despite the fact that there is currently no "undo" script, this is perfectly safe for day to day use. To cover your bases, make a nandroid backup, configure titanium backup to follow symlinks and flash my busybox linker 2 pages back or manually check that your ROM supports the mv, cp, grep and tar commands.
[Galaxy S I9000 Android Development] guijarrelson:
Thanks for your work!

Now I have applied the revthanki procedure.

http://xdaforums.com/showpost.php?p=21374517&postcount=1

In the next pawitp release, I'll do a fresh and clean install and run your zip to test it.
[Galaxy S I9000 Android Development] biccys:
Worked a treat for me, great work!
[Galaxy S I9000 Android Development] sCoRPion_tr:
It worked for me and my datadata folder is now only around 40MB thank you very much. But some programs work extremely laggy (especially whatsapp). Is there any way to solve this or is it possible to exclude some apps and allow them to stay in datadata?
[Galaxy S I9000 Android Development] naTrium:
Added Kagadar's link fixer to main post. :)

Also tried to make a script reverser but I screwed up my phone in the process, heh.
[Galaxy S I9000 Android Development] karol1981:
I try run this scrip ,and a have problem

Any sugestion , folder lost+found is empty
[Galaxy S I9000 Android Development] Wendigogo:
You could try by adding "lost+found" in skip_apps variables.

Please ask us if it works (I'll update my zip file). :)
[Galaxy S I9000 Android Development] katsooba:
just downloaded the modified version DataFix_22032012.zip this one

flashed it onto latest kangaroo CM7, rebooted, and nothing changed.

before - 33 mb free in datadata,

after - 33 mb free in datadata

did i do anything wrong?

seems like nothing has happened.
[Galaxy S I9000 Android Development] Wendigogo:
Is your kernel supporting "init.d" script ? Is Busybox cleanly installed on your phone ? You should try to use this fix : KagadarLinkFixer260312v1.zip. Apply it in recovery then reboot and check you /datadata partition.

If nothing changed, you could try to execute the script as root in a terminal emulator (or through adb) : #sh /etc/init.d/30datafix

and see what happened.
[Galaxy S I9000 Android Development] karol1981:
how can i do this?

Wysłano z GT-I9000
[Galaxy S I9000 Android Development] katsooba:
Hi wendingo! thanks for the quick reply,

im on the stock cm7 kernel, which is known to support init.d scripts.

i will make a nand and try what you have suggested

thanks!

edit

just got this after applying the said linkfix and manualy running the script
[Galaxy S I9000 Android Development] abobobilly:
Hi Guys! I am willing to ask a simple question.

What to use?

1. THIS Thread's Script

OR

2. THIS. http://xdaforums.com/showpost.php?p=21374517&postcount=1

Confused :S
[Galaxy S I9000 Android Development] Wendigogo:
Just edit the /system/init.d/30datafix file (text file) and modify skip_apps variable to include "lost+found".

Seems you've got the same error (at same line). Thought it is caused by busybox linking problem but I was wrong ... :(

It's strange cause some people seems to run it flawlessly ... Maybe a bad end line (edited on MS windows). You cloud try in editing file in first post by yourself.

Just change dirs_to_move variable from 'databases shared_prefs opera app_databases' to '[!lib]*' (at line 54).

You should also modify skip_apps variable to exclude lost+dir from symlinking (it's a bug I have to correct).

EDIT : I've done those two modifications in this file : DataFix_28032012.zip. Feel free to try it and report ... ^_^
[Galaxy S I9000 Android Development] Netmatrix:
Link error...
[Galaxy S I9000 Android Development] jifeng:
After running DataFix_28032012.zip, only below message.

It seems the syntax is not correct when you add one more dir into "skip_apps".

It seems need to use "for ... do ...", I think.....

sh 30datafix
bn.ereader lost+found

BTW, how do I know it's workable, because I check 'df' it's same as before. [DataFix_11032012.zip]
[Galaxy S I9000 Android Development] Kagadar:
The script in the thread you linked is the original version of the script in this thread.

The original requires you to "prepare" your system for the script to be run by removing the symlink /data/data, making a folder at /data/data and copying all the folders from /datadata to /data/data.

The script here has been modified to allow you to skip all the preparation steps. Simply flash the .zip in CWM.

TL;DR - They're both more or less the same, except the script in this thread is CWM flashable & does all the steps for you.
[Galaxy S I9000 Android Development] Wendigogo:
I remove the Barne & Noble ereader stuff in "skip_apps" in 30datafix (don't think we need this in SGS). Try with new DataFix_28032012.zip.

I currently don't have time to check this deeper. Help welcomed ! ;)

To check script is working just go to /data/data/someapp/ and do "ls -la" : everything (but lib subdirectory) should be a link to /datadata.
[Galaxy S I9000 Android Development] jifeng:
After run "sh 30datafix"

root@android:/sdcard # sh 30datafix
sh 30datafix
lost+found

"ls -la", seems not correct result. Is it related to the earlier "DataFix_11032012"?

root@android:/data/data/com.google.android.apps.docs # ls -la
ls -la
drwxrwx--x app_69 app_69 2012-03-19 21:18 app_appcache
drwxrwx--x app_69 app_69 2012-03-19 21:18 app_sslcache
drwxrwx--x app_69 app_69 2012-03-27 19:49 cache
lrwxrwxrwx root root 2012-03-19 21:34 databases -> /datadata/co
m.google.android.apps.docs/databases
drwxr-xr-x system system 2012-03-19 21:18 lib
lrwxrwxrwx root root 2012-03-19 21:34 shared_prefs -> /datadata
/com.google.android.apps.docs/shared_prefs
[Galaxy S I9000 Android Development] Wendigogo:
There was a lot of mistake in these previous files (who said it was bullsh*t ?? :D). Now I spent some time to correct it and it finally works (applied on my own phone).

Got around 95Mo free on /datadata (13Mo before) and only /lib subdirectories are still in /data/data, everything else is in /datadata (as suggested by @Kagadar). My phone is still smooth (Pre-CM9+glitch kernel).

Here is the precious : Datafix_29032012.zip

I made a datafix undo script too : undo_30datafix (only few lines of basic shell commands). Run it via adb (or terminal emulator) as root. Take care about warning : you have to edit the file before it works. Once done, run it again. You'll have then a lot of warning (file exists) : don't panic it's normal. ;)

As always, a nandroid backup is *NOT* an option before using this.
[Galaxy S I9000 Android Development] borgsta:
Minus shows the file as unavailable already. Really wanted to try your script as chrome is just about unusable after running the initial script
[Galaxy S I9000 Android Development] finnsonc:
http://db.tt/CCzebSUQ

That should be it. I had a bit of trouble getting it off of minus but got it somehow in the end. Chrome seems a lot better with this and I still have about 100 megs free.
[Galaxy S I9000 Android Development] renegadedj:
Anyone else find that after running the datafix script, the sounds in settings has not sounds to default to? I even tried using the SDCARD/ alarms ringtones and notifications folders AND SDCARD/Media/Audio folders and nothing? Help? Nothing will show up in Settings ---> Sound ---> Ringtone & Notifications V Phone ringtone/Default Notification options :/
[Galaxy S I9000 Android Development] finnsonc:
Mine's fine
[Galaxy S I9000 Android Development] renegadedj:
Nevermind. I had flashed an old version of the script. Just flashed the enwest version and got my sounds back all nice and purdy. Also....

HOW JEEBUZ MY PHONE IS BLAZING NOW!!! THIS IS THE REAL EFFING LAGFIX!!!!!! hahahahaaha
[Galaxy S I9000 Android Development] jifeng:
Thanks for Wendigogo's support!!

I got below message after run "sh 30datafix".

sh 30datafix
Removing stale app resources lost+found...
rm: can't remove 'lost+found': Directory not empty

I can find all folders were located on /datadata, but "lib".

root@android:/data/data/tunein.player # ls -al
ls -al
lrwxrwxrwx root root 2012-03-30 09:20 cache -> /datadata/tunein.player/cache
lrwxrwxrwx root root 2012-03-19 21:34 databases -> /datadata/tunein.player/databases
drwxr-xr-x system system 2012-03-19 21:22 lib
lrwxrwxrwx root root 2012-03-19 21:34 shared_prefs -> /datadata/tunein.player/shared_prefs

One more question,

I found only 4MB free space on /datadata, but I have 101MB free space now after cleaning all "CACHE".

I think "cache" also move to /datadata, how do you think if we keep "lib" & "cache" on /data/data?
[Galaxy S I9000 Android Development] finnsonc:
Just use the original one in the first post if you want to keep both on data/data

I guess that doesn't answer your first answer but I can't help you with that one :p That's someone else haha

Also, thanks Wendigogo for this version
[Galaxy S I9000 Android Development] Kagadar:
Lib is supposed to stay behind. The files are guaranteed to be static (just like the .apk files) and can be quite large (chrome has over 20mb in lib).

Leaving cache behind will REALLY slow down your phone a lot, it's not worth it. Better to delete apps that you don't use. The original script only linked /dabases and /shared_prefs, which was only a marginal speed increase.
[Galaxy S I9000 Android Development] finnsonc:
Huh I'm getting this error now

rm failed for -Rf, no such file or directory
Removing stale app resources lost+found...
rm failed for lost+found, Directory not empty

That's for the newest version. It was working fine and lost+found is empty...

At least I'm assuming it's an error. let me know if it's supposed to do that
[Galaxy S I9000 Android Development] Wendigogo:
This "lost+found" directory is a filesystem stuff (made when fs is created). So it couldn't be removed and as I can't format /datadata (no mkfs stuff) I use "rm -Rf /datadata/*" in the script. And as rm can't remove "lost+found" dir it gives a warning (not an error). Maybe I should hide this warning ...

It proves that my script is working fine ! :D

:eek:

But as you say, cache is used by apps (its size increase when used). So letting it on /data will slow down your apps when they need write access ...

Next time, you should see which apps have a lot of cache (probably browsers, boat browser put its cache in /datadata by default) and maybe adjust their settings individually.

@finnsonc : not an error, just a warning (see the explanation above).
[Galaxy S I9000 Android Development] katsooba:
Well, after applying the 2903 fix i have been getting tons of force closes and lost all app info as it seems

Even su is crashing after a reboot

I guess im back to square one

Sent from my GT-I9000
[Galaxy S I9000 Android Development] jifeng:
Thanks for your explanation, I may use some schedule to clean "cache".

Very great job, thanks again.
[Galaxy S I9000 Android Development] Wendigogo:
Did you apply previous fix ? It's a typical behaviour of fulfilled /datadata.

The 2903 fix only let /lib subdirectories on /data and copy *everything else* on /datadata. So if you have more than 175Mo of stuff (cache, files etc.) to move to /datadata it will fail once full and give you lots of FC ...

@jifeng : u're welcome. :D
[Galaxy S I9000 Android Development] jifeng:
Please use app to clean "cache", and run this again. (like: 1tap cleaner)

If you still got a lot of FC, please remove some your big APPs first.

The latest one is very perfect and smooth. :)
[Galaxy S I9000 Android Development] tiwag:
Can you test this case in your script too and do proper moving of files in opposite direction if necessary?

Thx

__

sent using recycled bits and bytes, tiwag
[Galaxy S I9000 Android Development] OrangeRafi:
can I use this script on stocj CM7. 2 kernel?

Sent from my GT-I9000
[Galaxy S I9000 Android Development] Wendigogo:
Best is to check there's enough space before applying datafix but I don't know how to made mathematics (additions, substractions) in shell. :p

Doing it during the script is not really a good idea imho : if applied on phone without datafix there's no problem.

So this problem occurs when a datafix is previously used. And there's two options in reverting during my script.

- First, everything go back to /data/data : previous datafix is also reverted.

- Second, if reverting only current app then stopping the script will let /datadata full and phone unusable ... not really a good idea.

@OrangeRafi : if your CM7 kernel manage init.d script you can use it.
[Galaxy S I9000 Android Development] finnsonc:
Yea I thought maybe it was after I posted and took an actual look at your script haha. My scripting is pretty rusty though so I thought I'd ask
[Galaxy S I9000 Android Development] fylim:
Hi need help.

I am on slimics 3.0 and getting low storage message.

Do I just need to flash 2903 data fix or do I need to do something first like enable .nodatadata?

I flashes 2903 and can see the file in init.d but doesn't seem to have effect.

Using root explorer I can see that data/data is symlinked to datadata.

Appreciate your advice. Tq

Edit: Found the solution. I ran the 30datafix script from terminal and it did what it is supposed to. Now why did it not do that during boot?
[Galaxy S I9000 Android Development] lerkin:
Same problem on slim. Don't try .nodatadata, it will screw your setup.
[Galaxy S I9000 Android Development] stfudude:
Download Busybox Installer by JRummy16, install busybox v1.19.3 and then reboot.

don't forget to press the thanks button. :)
[Galaxy S I9000 Android Development] Jordiharrison:
Chrome can be nearly unusable in some instances after applying the script, just to damn slow.

Any advice on how to fix this? I'm guessing you would have to let Chrome stay entirely in /datadata?
[Galaxy S I9000 Android Development] Kagadar:
Use one of the modified scripts by Wendigogo, you won't get the problem.

On another note, I think we should make a modification to the script. Put /data/data back to being a symlink to /datadata, and make the script symlink the /datadata/*/lib AND /datadata/*/libs to /data/local/lib/*/

Or something like that. Should improve performance and whatnot.
[Galaxy S I9000 Android Development] millerm:
When already having applied the old script, and wanting to try the newer modified one, does one have to start with a fresh non-modified install?

Sent from my GT-i9000 using Slim ICS 2.8
[Galaxy S I9000 Android Development] Kagadar:
No, you can flash the modified one over the original.
[Galaxy S I9000 Android Development] awesomeandroid:
Previously i tried the manual way to solve the low storage problem using the terminal emulator method. Can I use this zip? feels like it's better.
[Galaxy S I9000 Android Development] Kagadar:
If you have a real folder located at /data/data it should work perfectly.

If you still have a symlink located at /data/data it will remove it and copy the files the second time you run it.
[Galaxy S I9000 Android Development] fylim:
Folks, need help.

I am using Datafix_29032012.zip but found that cache is eating up my /datadata space.

Loved the speed but need a solution that require less maintanance and I need a lot of apps. So I want to keep lib/cache back in /data/data.

Can you advise what is the simplest way to roll back ? I only have 40MB left on /datadata at the moment.
[Galaxy S I9000 Android Development] Kagadar:
Use the original file datadata fix, it doesn't link cache.

Not linking cache will significantly impact performance, that's why it was changed from the original to start with.
[Galaxy S I9000 Android Development] Wendigogo:
Dont' think it affects performances while files are on the same partition. Maybe less symlinks to follow ...

Idea is good and I'll give it a shot soon. Drawback is that current script uses the current datafix approach so it's working for users who had applied any previous fix. Plus if /data/data is still a symlink and another datafix script test it and don't follow /lib symlink (from /datadata) it can break the system.

This approach is the opposite and I have to be sure there's enough space on /datadata before starting to move all files back on it. And I don't know how to check this ... I should start by using an other location as /data/tmpdatafix or so.

But temptation is here to try this ... :D

Less maintenance than rebooting your phone sometimes ? O_o

Having 40Mo free on /datadata is like you had paid for unused 23Mo (40-17) space. I can't understand why people wanna have free ram and/or free space. You've got it, you pay for it : use it !

When space will be insufficient you could see for an appropriate solution.

Actually, you could use the previous fix and add *each* subdirs to move back to /datadata in corresponding variable of script.

Soon, with Kagadar suggestion, you may only select which subdirectories to move to /data/something/ ... One more point for Kagadar suggestion ! ;)
[Galaxy S I9000 Android Development] ivanchin99:
Significantly impact the performance?

I have the same dilema as the guy there, 40mb left (60mb now after cache cleaned), guess I will stick with the 29032012 datafix, performance is superb. I almost ran out of space to install more apps anyway.. 400+ apps installed according to titanium :o (and yes im an app junkie)
[Galaxy S I9000 Android Development] millerm:
My chrome performance was better with the 2903 patch, but still much worse then original unfortunately. I loved the chrome browser but think of going back to opera because of this.

Sent from my GT-i9000 using Slim ICS 3.0
[Galaxy S I9000 Android Development] parhelion69:
I flashed slim 3.1 4.0.4 yesterday, and now I got the "low space" notification, I flashed this and hasn't solved the problem. Weird, since it worked on CM9.

I used DiskUsage to check my datadata partition and it's full at 170MB, the biggest offenders are:

System data: 60.4 MB

Chrome 30.9 MB

com.android.providers.media 21.9 MB

Any idea why this isn't working?
[Galaxy S I9000 Android Development] finnsonc:
Have you tried the link fixer that was posted awhile back?