On Thu, May 28, 2009 at 3:39 AM, Richard W.M. Jones <rjones(a)redhat.com>wrote:
> Running with LIBGUESTFS_DEBUG=1, it appears that this happened
due to
> the guest trying to do ext3 journal recovery against a read-only image.
ext3 tries to do a journal recovery if we mount -o ro ?
Yup. Quoting from Stephen Tweedie's ext3 readme:
If you use an older version of e2fsck from e2fsprogs-1.17 or later, then
you can now run e2fsck quite happily on the filesystem, but *only as
long as the filesystem was unmounted cleanly*. If it wasn't, then
you'll need to get the kernel code to recover the journal from the disk
by mounting the filesystem *(even a readonly mount will cause a journal
recovery to happen)* and umounting it again (or, for the root filesystem,
remounting it readonly with "mount -o remount,ro /").
But using snapshots actually isn't such a bad idea. Also works with
previous and current versions of qemu too.
It'd almost be tempting to provide optional support for snapshots in
read-write mode, letting the user do a commit to persist their changes or to
exit without one to discard them.