https://bugzilla.kernel.org/show_bug.cgi?id=76261 Theodore Tso <tytso@xxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tytso@xxxxxxx --- Comment #1 from Theodore Tso <tytso@xxxxxxx> --- Does upstream android really handle a shutdown using "echo u > /proc/sysrq-trigger", or is that something you added locally? If it's upstream, I need to have some words with the Google Android team.... sysrq-u is documented to be "Emergency Remount R/O". It's not something that is designed to be used under normal circumstances. So if upstream android is doing this, it's arguably a bug. sysrq-u is implemented using do_emergency_remount() in fs/super.c, and it calls do_remount_sb with force set to 1 (the last argument is "force"). do_remount_sb(sb, MS_RDONLY, NULL, 1); The "force" option omits the call to sb_prepare_remount_readonly(), which is what forces the writeback to happen. The reason why it is omitted is that sysrq-u is designed to be used when the system is unstable, and so the writeback for one of the superblocks might block forever, and this would prevent the subsequent superblocks from getting remounted read-only. So people who use sysrq-u are usually advised to do an sysrq-s, which is an "emergency sync". (This is avoids doing a data integrity writeback, since again it's designed for emergencies, when part of the system may be partially deadlocked, and so the goal is to save what you can, not to try to save everything. Perfection, if it causes the sync to stop and never complete, and hence not sync out some buffers that could be saved, is the enemy of the good here.) The real issue here is that sysrq-u and sysrq-u is designed for emergency war room triage, what Dr. Hawkeye Pierce in M*A*S*H referred to as "meatball surgery". It is battlefield surgery, and it is *not* what you would expect in a hospital surgery room located thousands of miles from a war zone. So if android is using this under normal situations, it's an abuse of what these interfaces are intended to be used for. -- You are receiving this mail because: You are watching the assignee of the bug. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html