On 04/10/2013 06:40 AM, Luiz Capitulino wrote: > On Wed, 10 Apr 2013 06:24:11 -0600 > Eric Blake <ebl...@redhat.com> wrote: > >>> - If you want to overwrite an existing snapshot, you could specify >>> the 'id' or the 'name' argument or both of them and also you will >>> have to use the 'force' argument >> >> But the argument made in this thread is that QMP should _not_ have a >> force argument. It should be a flat-out error in QMP to try to create a >> snapshot with a conflicting name or tag; preferably with a distinct >> error type. Higher-level apps (HMP savevm -f) would try to create; if >> -f is not specified, the error is good enough; if -f is specified and >> that particular error is returned, then HMP calls delete and then >> re-tries the create. No 'force' argument needed at the QMP layer. > > To avoid adding a new error class, the HMP command could query for the > snapshot name and delete it if it exists before creating the snapshot.
Atomic collision detection is nicer than having to pre-query - fewer QMP calls in the common case. But you're right that none of the existing ErrorClass categories fit the idea of "creation refused because name would collide". -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature