Tuesday 26 July 2016

[MOD] [PERFORMANCE] ext4 journal disabler [OOS|CM|others]



The ext4 filesystem which is primarily used on android phones has a feature called "journal". This is a "file" which acts like a "middleman" when the system writes data on your storage. So before a file gets transferred to the destination a part of the file will always be at first in the journal. The benefit is that you have less chance to "loose" a file when the system is interrupted during the transfer (power failure, connection failure ...) because the journal has a copy of the part which was transferred to the final destination. So when the system restarts the device can finelize the transfer because the journal has the needed information, what exactly was transferred and what wasn't.

But this security feature has a negative impact of your I/O performance. And since a smartphone has a battery and soldered storage chips a fatal failure is much less possible than with conventional PC.

My mini ZIP disable journal on the data and cache partition, because these are the ones on which android writes data. On the system partition android just read the files and a journal will not slow down the read performance (which should be logical if you read the first part)

PS: should be logical but anyway, to use my script you need to have ext4 on cache an data. if you haven't changed the filesystem, then you will probably have ext4 because it's the stock filesystem for android


the minimal binary:

Code:


#!/sbin/sh
umount /dev/block/bootdevice/by-name/cache
umount /dev/block/bootdevice/by-name/userdata
e2fsck -pv /dev/block/bootdevice/by-name/cache
e2fsck -pv /dev/block/bootdevice/by-name/userdata
tune2fs -O ^has_journal /dev/block/bootdevice/by-name/cache
tune2fs -O ^has_journal /dev/block/bootdevice/by-name/userdata









No comments:

Post a Comment