Messages in this thread | | | Date | Fri, 24 Aug 2012 15:51:03 +0200 | From | Marco Stornelli <> | Subject | Re: [RFC] [PATCH] vfs: remount all file-systems R/O on emergency remount. |
| |
Il 24/08/2012 15:38, Artem Bityutskiy ha scritto: > On Fri, 2012-08-24 at 15:20 +0200, Marco Stornelli wrote: >> Il 24/08/2012 09:26, Artem Bityutskiy ha scritto: >>> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> >>> >>> Currently the emergency remount (triggered by Sysrq-u) re-mounting only >>> those file-systems R/O, which have an associated block device (sb->s_bdev). >>> This does not work for file-systems like UBIFS and JFFS2 which work on top >>> of MTD devices (character devices) and always have sb->s_bdev = NULL. >>> >>> This also does not work for tmpfs. >>> >>> Most probably the intention was to avoid re-mounting R/O file-systems like >>> procfs, sysfs, cgroup, and debugfs. However, I do not really see why not >>> to remount them R/O as well in case of emergency. >>> >>> This patch removes the 'sb->s_bdev != NULL' check from >>> 'do_emergency_remount()', so _all_ file-systems will be re-mounted R/O. >>> >>> Tested in Fedora - all file-systems (ext4, ubifs, procfs, sysfs, cgroup, and >>> debugfs) become R/O on Sysrq-u with this patch. >>> >>> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> >> >> Does it make sense to remount r/o for example debugfs in this case? >> Maybe if there is something wrong I want enable something to catch debug >> info. Similar things for other pseudo-fs. Sure, the s_bdev seems a >> strong check. We could add a new flag to know if the emergency remount >> should be happen. It would give us the fs granularity, and maybe it >> could be turned on/off with the mount. > > May be. Or may be you are in situation that you really want all > processes top modifying anything in debugfs. This depends on the > "emergency" you deal with. You can always re-mount debugfs back to rw by > hands using something like: > > mount -t debufs -o remount,rw none /sys/kernel/debug >
Obviously :) Maybe it's the sign that we want let the user decide what to do if the "default behavior" is not ok.
Note: has ubifs got the field s_mtd != null? Maybe to solve the specific problem we could just write (sb->s_bdev != NULL || sb->s_mtd != NULL).
Marco
| |