Re: [libvirt] [PATCH v2] util: don't check for parallel iteration in hash-related functions

2018-04-11 Thread Vincent Bernat
❦ 10 avril 2018 08:27 +0200, Vincent Bernat <vinc...@bernat.im> : > This is the responsability of the caller to apply the correct lock > before using these functions. Moreover, the use of a simple boolean > was still racy: two threads may check the boolean and "lock&

Re: [libvirt] [PATCH] util: don't check for parallel iteration in hash-related functions

2018-04-10 Thread Vincent Bernat
❦ 6 avril 2018 12:01 +0200, Michal Privoznik  : > So I went through all callbacks (even transitive ones) and I've found > two problems: > > umlProcessAutoDestroyRun -> umlProcessAutoDestroyDom -> virHashRemoveEntry > > qemuDomainSnapshotDiscardAllMetadata ->

[libvirt] [PATCH v2] util: don't check for parallel iteration in hash-related functions

2018-04-10 Thread Vincent Bernat
This is the responsability of the caller to apply the correct lock before using these functions. Moreover, the use of a simple boolean was still racy: two threads may check the boolean and "lock" it simultaneously. Users of functions from src/util/virhash.c have to be checked for correctness.

[libvirt] [PATCH] util: don't check for parallel iteration in hash-related functions

2018-04-06 Thread Vincent Bernat
This is the responsability of the caller to apply the correct lock before using these functions. Moreover, the use of a simple boolean was still racy: two threads may check the boolean and "lock" it simultaneously. Users of functions from src/util/virhash.c have to be checked for correctness.

[libvirt] [PATCH] libvirt-guests: make async stop work with transient guest domains

2018-01-15 Thread Vincent Bernat
After being stopped, a transient guest domain doesn't appear in the list of guests anymore. Therefore, we can't get its state anymore. The branch handling this case displays an error message on stdout. This error message confuses the script which expects to get a list of "still up" guests. We just