[Galaxy Note GT-N7000 General] life.eq.null:
WARNING You shouldn't use this if you force reboot your rom or the rom reboots itself often, may cause corruption.

So I was poking around in adb shell while in Thor's recovery while doing a nandroid backup (I imagine this applies to all CWM recoveries as well), and I noticed it had tune2fs.

Being the Linux geek I am, I had to poke around and see how android mounts /system, /data and /cache, I noticed it used data=ordered and that the partitions had has_journal flag set.

Naturally that bothered me, so I had to fix it.

umount /system
umount /data
umount /cache
tune2fs -O ^has_journal -o journal_data_writeback /dev/block/mmcblk0p7 #/cache
tune2fs -O ^has_journal -o journal_data_writeback /dev/block/mmcblk0p9 #/system
tune2fs -O ^has_journal -o journal_data_writeback /dev/block/mmcblk0p10 #/data

This would need to be reapplied if your rom formats /system, /data and /cache instead of just deleting the files on them.

read : http://kernel.org/doc/Documentation/filesystems/ext4.txt

-o journal_data_writeback :

read : http://wiki.openwrt.org/doc/howto/usb.storage

-O ^has_journal :

This can be done while the ROM is running over ADB, at least on Asylum v20, tune2fs is installed, however it's better to do it from recovery since you'd be able to umount them first.

And yes I realize this is too geeky for most, but it's 4am and I'm tired, I'll clean it up later.

Booting speed and apps writing to /data or /cache are noticeably faster.

I'm not responsible if it turns your N7000 into a Nokia 3500.

I created a flashable zip that automates this + runs fsck first on all 3 partitions, the zip doesn't actually anything.

License : Apache License v2.0

Here's the relevant code (META-INF/com/google/android/updater-script):

assert(getprop("ro.product.device") == "galaxynote" || getprop("ro.build.product") == "galaxynote" ||
getprop("ro.product.device") == "n7000" || getprop("ro.build.product") == "n7000" ||
getprop("ro.product.device") == "GT-N7000" || getprop("ro.build.product") == "GT-N7000");

ui_print("Life.Eq.Null's Ext4 Optimization Script.");

ui_print("Umounting /cache ...");
show_progress(0.500000, 5);
unmount("/cache");

ui_print("Umounting /system ...");
show_progress(0.500000, 10);
unmount("/system");

ui_print("Umounting /data ...");
show_progress(0.500000, 15);
unmount("/data");

ui_print("Running fsck on /cache ...");
show_progress(0.500000, 25);
run_program("/sbin/e2fsck", "-pv", "/dev/block/mmcblk0p7");

ui_print("Running fsck on /system ...");
show_progress(0.500000, 45);
run_program("/sbin/e2fsck", "-pv", "/dev/block/mmcblk0p9");

ui_print("Running fsck on /data ...");
show_progress(0.500000, 65);
run_program("/sbin/e2fsck", "-pv", "/dev/block/mmcblk0p10");

ui_print("Running tune2fs on /cache ...");
show_progress(0.500000, 75);
run_program("/sbin/tune2fs", "-O", "^has_journal", "-o", "journal_data_writeback", "/dev/block/mmcblk0p7");

ui_print("Running tune2fs on /system ...");
show_progress(0.500000, 85);
run_program("/sbin/tune2fs", "-O", "^has_journal", "-o", "journal_data_writeback", "/dev/block/mmcblk0p9");

ui_print("Running tune2fs on /data ...");
show_progress(0.500000, 95);
run_program("/sbin/tune2fs", "-O", "^has_journal", "-o", "journal_data_writeback", "/dev/block/mmcblk0p10");

show_progress(0.500000, 100);
ui_print("All done *hopefully*, Cross your fingers and reboot.");