[libvirt-users] Problem with the use of domfsfreeze mountpoint option

Michal Privoznik mprivozn at redhat.com
Wed Nov 12 17:24:05 UTC 2014


On 11.11.2014 22:51, Eric Blake wrote:
> On 11/11/2014 01:58 PM, Payes Anand wrote:
>> Hi everybody,
>>
>> I am having a problem with the use of domfsfreeze command.
>>
>> It is freezing all the filesystems present on the domain,
>>
>> instead of freezing just the mountpoints provided.
>>
>> I am issuing the command--
>>
>> # virsh domfsfreeze <domain> --mountpoint <mountpoint>
>>
>> Output was-- Froze 3 filesystem(s)
>>
>>
>> I want to freeze a particular mount point on the VM, so that i can
>> take a snapshot using my own snapshot feature.
>>
>> Using library: libvirt 1.2.5
>> Using API: QEMU 1.2.5
>> Running hypervisor: QEMU 2.0.0
>
> What version of qemu-guest-agent is running in the guest?
> qemu-guest-agent doesn't support per-mountpoint freezing until the
> introduction of guest-fsfreeze-freeze-list in qemu 2.2 (still unreleased).
>
>>
>> --Upgraded libvirt to 1.2.10, but that also didn't solve the problem.
>>
>> Am i missing something over here?
>> Any help would be greatly appreciated.
>
> I wonder if you may have uncovered a libvirt bug.  If the guest agent is
> not capable of supporting per-mount freezing (because the agent is too
> old), the command should fail rather than blindly freezing everything.
> But to know for sure, it would be good to find the log messages for the
> actual agent commands issued by libvirt, to make sure we were actually
> trying to freeze just a single mount point.

Well, even though I agree I don't see way to achieve that. I mean, if 
libvirt would probe for qemu-ga commands/capabilities, by the time it 
makes a decision guest agent may have been downgraded, crashed, 
whatever. There's been some discussion on this topic (unfortunately I 
don't recall where currently). This is where guest agent is different to 
the monitor tremendously.

Although, I see a way that we could get something reasonable here. If 
qemu would tell us whenever somebody (dis-)connects (from)to the virtio 
channel. That way we could query the qemu-ga capabilities and make good 
decisions. And whenever we see a disconnect, we may just forget the 
qemu-ga capabilities and claim guest agent unresponsive (instead of this 
ping algorithm I'd came up with).

Michal




More information about the libvirt-users mailing list