Messages in this thread | | | From | Kyle Moffett <> | Subject | Re: Add a norecovery option to ext3/4? | Date | Mon, 9 Apr 2007 12:20:58 -0400 |
| |
On Apr 09, 2007, at 11:43:15, Phillip Susi wrote: > Samuel Thibault wrote: >> Hi, >> Distribution installers usually try to probe OSes for building a >> suited grub menu. Unfortunately, mounting an ext3 partition, even >> in read-only mode, does perform some operations on the filesystem >> (log recovery). This is not a good idea since it may silently >> garbage data. XFS has a norecovery option that allows to disable >> that, I'd say ext3/4 should have it too. > > When the filesystem is told to mount the disk read only, that means > it should not write to it. The fact that ext3 goes ahead and does > anyway is a bug and should be fixed. There is no need for a > norecovery option, because read only is a sufficient directive to > tell the filesystem not to write to the disk. > > As someone else pointed out, this behavior causes havoc if you > hibernate a system and then boot up another system which mounts the > disk of the hibernated system. Under all conditions it should be > safe to mount a disk read only, but here it is not because the > journal playback trashes the disk out from under the hibernated > system.
Well IIRC it is possible to prevent that by switching the blockdev to read-only mode first:
root@ares:~# mount /dev/hda6 /mnt kjournald starting. Commit interval 5 seconds EXT3 FS on hda6, internal journal EXT3-fs: mounted filesystem with ordered data mode root@ares:~# umount /mnt root@ares:~# blockdev --setro /dev/hda6 root@ares:~# mount /dev/hda6 /mnt mount: block device /dev/loop0 is write-protected, mounting read-only kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode
Cheers, Kyle Moffett
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |