Bug 707530

Summary: volDelete returns VIR_ERR_INTERNAL_ERROR if volume is still being allocated
Product: Red Hat Enterprise Linux 6 Reporter: Matthew Booth <mbooth>
Component: libvirtAssignee: Dave Allan <dallan>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1CC: dallan, dyuan, gren, mzhan, nzhang, rwu, veillard
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.9.4-rc1-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 707531 (view as bug list) Environment:
Last Closed: 2011-12-06 11:11:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 707531    

Description Matthew Booth 2011-05-25 10:40:48 UTC
Attempting to delete a volume which is still being created returns VIR_ERR_INTERNAL_ERROR. It should return VIR_ERR_OPERATION_INVALID.

Comment 1 Matthew Booth 2011-05-25 11:01:31 UTC
Patch posted:

https://www.redhat.com/archives/libvir-list/2011-May/msg01618.html

Comment 2 Daniel Veillard 2011-06-23 03:33:47 UTC
pushed upstream as 10208cc50392572c65a737a43f590c9d8467d40f
on Jun 23,

Daniel

Comment 5 Gunannan Ren 2011-07-06 09:21:53 UTC
1, creating a hug volume in a pool with dir type

<volume>
  <name>vol1</name>
  <key>/tmp/dirpool/vol</key>
  <capacity unit="G">30</capacity>
  <allocation unit="G">30</allocation>
  <target>
    <path>/tmp/dirpool/vol</path>
    <format type='raw'/>
  </target>
</volume>

2 run the following commands:
# virsh vol-create dirpool ./voldirpool.xml & virsh vol-delete vol1 dirpool
[1] 26923
error: Failed to delete vol vol1
error: internal error volume 'vol1' is still being allocated.

it still reported internal error.

Comment 6 Gunannan Ren 2011-07-06 09:22:42 UTC
I tested it in libvirt-0.9.3-1.el6

Comment 7 Dave Allan 2011-07-15 13:48:04 UTC
Indeed, code inspection shows the patch to have fixed storageVolumeDownload not delete.  I've submitted an additional patch upstream.

Comment 8 Dave Allan 2011-07-15 14:43:01 UTC
commit 618b55220ac0cfdbfb4fa4af6adf7631a9962397
Author: Dave Allan <dallan>
Date:   Fri Jul 15 09:47:12 2011 -0400

    Fix error code for storage operations
    
    Many volume operations will fail if the volume in question is being
    allocated.  These operations were returning VIR_ERR_INTERNAL_ERROR
    when they should be returning VIR_ERR_OPERATION_INVALID.

Comment 10 Gunannan Ren 2011-08-01 07:00:19 UTC
The bug has been verified on libvirt-0.9.4-rc1-1.el6

# virsh vol-create dirpool ./dirvol.xml & virsh vol-delete vol1 dirpool
[1] 19930
error: Failed to delete vol vol1
error: Requested operation is not valid: volume 'vol1' is still being allocated.

Comment 11 Gunannan Ren 2011-08-01 07:14:34 UTC
retest it on rc2 version, it is fixed.

libvirt-client-0.9.4-0rc2.el6.x86_64
libvirt-0.9.4-0rc2.el6.x86_64

# virsh vol-create dirpool ./dirvol.xml & virsh vol-delete vol1 dirpool
[1] 20311
error: Failed to delete vol vol1
error: Requested operation is not valid: volume 'vol1' is still being allocated.

Comment 12 errata-xmlrpc 2011-12-06 11:11:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1513.html