GlusterFS: Synchronize additional operations

create_cloned_volume() and copy_volume_to_image() should also be
locked against other driver operations to prevent collisions
from concurrent updates of snapshot metadata or volume file data.

Closes-Bug: #1267983

(cherry picked from commit 06999f610a)

Change-Id: Idd6158bfbe4dc049c33fa58b40d3d570fc244d01
This commit is contained in:
Eric Harney 2014-01-10 14:20:41 -05:00
parent 5ef9c9b928
commit e0dca03334
1 changed files with 2 additions and 0 deletions

View File

@ -160,6 +160,7 @@ class GlusterfsDriver(nfs.RemoteFsDriver):
return snap_info['active']
@utils.synchronized('glusterfs', external=False)
def create_cloned_volume(self, volume, src_vref):
"""Creates a clone of the specified volume."""
@ -907,6 +908,7 @@ class GlusterfsDriver(nfs.RemoteFsDriver):
"""Disallow connection from connector."""
pass
@utils.synchronized('glusterfs', external=False)
def copy_volume_to_image(self, context, volume, image_service, image_meta):
"""Copy the volume to the specified image."""