[libvirt] [PATCH v2 7/8] storage_driver: Mark volume as 'in use' for some operations

John Ferlan jferlan at redhat.com
Tue Aug 28 17:51:29 UTC 2018



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 at redhat.com>
> ---
>  src/storage/storage_driver.c | 34 ++++++++++++++++++++++++++++------
>  1 file changed, 28 insertions(+), 6 deletions(-)
> 

Reviewed-by: John Ferlan <jferlan at redhat.com>

John




More information about the libvir-list mailing list