On 08/20/2018 08:09 AM, Michal Privoznik wrote: > There are few operations in the storage driver that read/write > data onto volumes. Such operations can take very long time to > finish. During that time the storage pool object is locked which > has bad performance impacts (other threads can't fetch its XML > for instance). This commit prepares the storage driver for > releasing the lock during those operations (downloadVol, > uploadVol, wipeVol). The performance concurrency implications description could just be moved to the next patch instead of indicating there "As advertised". For this commit, noting that we are preparing for future release of the pool lock while one of the upload, download, or wipe volumes operations is occurring. This means adjusting the asyncJob count to inhibit pool operations that would be affected by the volume change from occurring while we're in the process of upload, download, or wipe of a volume and similarly adjusting the volume in_use count to inhibit other competing operations from occurring (or something really generic). > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/storage/storage_driver.c | 34 ++++++++++++++++++++++++++++------ > 1 file changed, 28 insertions(+), 6 deletions(-) > Reviewed-by: John Ferlan <jferlan@xxxxxxxxxx> John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list