UBIFS is not remounted read-only from within do_emergency_remount

Alexander Stein alexander.stein at systec-electronic.com
Tue Jul 31 07:24:19 EDT 2012


Hello,

upon testing do_emergency_remount from a power fail interrupt (using the 
workqueue of course), we noticed UBIFS is not remounted read-only afterwards.
The current code in do_emergency_remount checks if the kernel actually needs 
to remount a filesystem using the following code:
> if (sb->s_root && sb->s_bdev && (sb->s_flags & MS_BORN) &&
>     !(sb->s_flags & MS_RDONLY)) {
>         /*
>          * What lock protects sb->s_flags??
>          */
>         do_remount_sb(sb, MS_RDONLY, NULL, 1);
> }

I'm not in the details of this part of the kernel, but I suspect that sb-
>s_bdev is NULL for UBIFS as it has no block device, but the character device 
/dev/ubiX_Y instead. I have the information from a collegue that removing the 
check for testing purposes for sb->s_bdev mounts UBIFS read-only.
Any comments/ideas how to remount UBIFS as read-only from 
do_emergency_remount?

Best regards,
Alexander




More information about the linux-mtd mailing list