I researched the source of the bug. qemu-ga calls guest_fsfreeze_build_mount_list from qemp_guest_fsreeze_thaw in qga/commands-posix.c. And it tries to read /etc/mtab (= MOUNTED) to get mounted filesystems. But when they are frozen, getmntent(fp) is not finished in the situation /etc/mtab in frozen filesystem.
I suggest to read the list from not frozen filesystem file or on-memory data, e.g. /proc/mounts. Regards MATSUDA Daiki --- qga/commands-posix.c.orig 2012-05-28 08:10:47.842332018 +0900 +++ qga/commands-posix.c 2012-05-28 08:11:01.598340937 +0900 @@ -347,7 +347,7 @@ static int guest_fsfreeze_build_mount_li { struct mntent *ment; GuestFsfreezeMount *mount; - char const *mtab = MOUNTED; + char const *mtab = "/proc/mounts"; FILE *fp; fp = setmntent(mtab, "r"); > I encountered the serious bug on QEMU Guest Agent. > > environment > Guest OS : RHEL 5.8 / 5.7 (i686) > Guest Agent Version : qemu-1.1.0rc2 and rc3 > > I am trying to take snapshot via virsh snapshot-create-as command. And > to freeze guest's filesystem and take snapshot is succeed. But after > sending the thaw command to Guest, time error occurs on libvirt qemu > agent because of not catch Guest's answer. > In addition, its situation is worst because the Guest Filesystem is kept > as frozen. > > The problem does not occur on RHEL 6.2 Guest OS and in about qemu-1.0 it > does not occur. > > Regards > MATSUDA Daiki > > > >