Bug 1190742

Summary: [vdsm] live snapshot creation fails on block storage with unsupported configuration: source for disk 'vda' is not a regular file; refusing to generate external snapshot name
Product: Red Hat Enterprise Virtualization Manager Reporter: Amador Pahim <asegundo>
Component: vdsmAssignee: Adam Litke <alitke>
Status: CLOSED ERRATA QA Contact: Aharon Canan <acanan>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 3.4.4CC: adahms, alitke, amureini, asegundo, bazulay, bmcclain, ebenahar, eblake, ecohen, eedri, fdeutsch, gklein, iheim, jentrena, jraju, lpeer, lsurette, mgoldboi, michal.skrivanek, mkalinin, mtessun, ogofen, pablo.iranzo, pkrempa, rbalakri, rhodain, sherold, tdosek, tnisan, yeylon, ylavi
Target Milestone: ---Keywords: Regression, ZStream
Target Release: 3.4.5-1Flags: ylavi: Triaged+
Hardware: x86_64   
OS: Linux   
Whiteboard: storage
Fixed In Version: vdsm-4.14.18-7.el6ev Doc Type: Bug Fix
Doc Text:
This update fixes an issue that prevented the creation of live snapshots on block storage devices with Red Hat Enterprise Linux hosts version 6.5 and 6.6. Virtual machines that have encountered this issue in Red Hat Enterprise Virtualization 3.4.5 must be restarted for the fix to take effect.
Story Points: ---
Clone Of: 1115126 Environment:
Last Closed: 2015-03-15 20:24:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 1115126    
Bug Blocks: 1119691    

Comment 1 Amador Pahim 2015-02-09 14:59:39 UTC
vdsm-4.14.18-6.el6ev.x86_64 is facing this issue:



        def _diskSnapshot(vmDev, newPath):
            """Libvirt snapshot XML"""

            disk = XMLElement('disk', name=vmDev, snapshot='external')
            disk.appendChildWithArgs('source', file=newPath)
            return disk


  def _diskSnapshot(vmDev, newPath, sourceType):
            """Libvirt snapshot XML"""

            disk = XMLElement('disk', name=vmDev, snapshot='external',
            if sourceType == 'block':
                args = {'dev': newPath}
            elif sourceType == 'file':
                args = {'file': newPath}
            args['type'] = sourceType
            disk.appendChildWithArgs('source', **args)
            return disk


Please backport http://gerrit.ovirt.org/#/c/29567/


Comment 3 Michal Skrivanek 2015-02-10 09:19:31 UTC
this is a request to backport to 3.4.z stream?
3.5 contains the mentioned patch. Did you misreport the version?

Comment 4 Tal Nisan 2015-02-10 09:25:55 UTC
Seems so since we already have it on 3.5 and on master, moving to 3.4.6

Comment 6 Amador Pahim 2015-02-10 11:15:54 UTC
(In reply to Michal Skrivanek from comment #3)
> Amador,
> this is a request to backport to 3.4.z stream?
> 3.5 contains the mentioned patch. Did you misreport the version?

Yes, it's intended to 3.4.z. I don't have such flag available... thank you for fixing.

Comment 7 Michal Skrivanek 2015-02-10 11:36:19 UTC
(added 3.5 and 3.6 for verification, no code change needed)

Comment 9 Allon Mureinik 2015-02-12 15:45:22 UTC
*** Bug 1190571 has been marked as a duplicate of this bug. ***

Comment 12 Eyal Edri 2015-02-16 19:15:39 UTC
yes. bronce, can you add the new version please?

Comment 15 Elad 2015-02-17 13:26:33 UTC
Live snapshot succeeds succeeds, along with live storage migration. Tested on both block and file storage. 
Also, an attempt to create a live snapshot/perform LSM for a VM that had such failure before, will fail with 'The base volume doesn't exist' error. A workaround for that is to restart the VM.

Verified using rhev 3.4.5-1 av14.3


Comment 17 Elad 2015-02-18 12:22:49 UTC
Tested also using RHEL 7.0


Comment 35 Marina Kalinin 2015-04-02 18:23:03 UTC