The "restart" function for locks allocates a new array according to and pre-sets its length, then reads the owner pids from a JSON document in a loop. Rather than adding each owner at a different index, though, it repeatedly overwrites the last element of the array with all the owners. --- src/util/virlockspace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/virlockspace.c b/src/util/virlockspace.c index 7e8c0a7..99b6182 100644 --- a/src/util/virlockspace.c +++ b/src/util/virlockspace.c @@ -435,7 +435,7 @@ virLockSpacePtr virLockSpaceNewPostExecRestart(virJSONValuePtr object) goto error; } - res->owners[res->nOwners-1] = (pid_t)owner; + res->owners[j] = (pid_t)owner; } if (virHashAddEntry(lockspace->resources, res->name, res) < 0) { -- 1.7.11.7 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list