'Update WebDAV property of a volume.
WebDAV properties are used to keep track of:
(1) The number of clones of a cache volume.
(2) The cache volume name (origin) of a bootable volume.
To avoid race conditions when multiple volumes are created and needed
to be updated, a file lock is used to ensure that the properties are
updated properly.'

def _update_origin(self, vol_name, cachevol_name):

    volume_origin = {'origin': cachevol_name}
    self.zfssa.set_file_props(vol_name, volume_origin)
    cache_props = self.zfssa.get_volume(cachevol_name)
    cache_props.update({'numclones': six.text_type((cache_props['numclones'] + 1))})
    self.zfssa.set_file_props(cachevol_name, cache_props)
