[libvirt] libvirt RBD attach regression?

Scott Sullivan ssullivan at liquidweb.com
Wed Nov 21 18:06:25 UTC 2012


Hello,

We were able to come up with this patch, which does fix the problem in 
our use case:

http://pastebin.com/izx40mRd

Interested to hear any feedback on the patch.

On 11/21/2012 12:13 PM, Eric Blake wrote:
> On 11/21/2012 09:45 AM, Scott Sullivan wrote:
>    
>> Hello,
>>
>> I have been testing libvirt v1.0.0 for deployment within my
>> organization, and in the process discovered what appears to be a bug
>> that breaks virsh attach-device, when attaching an RBD volume to an
>> instance. First, here is the error presented, with v1.0.0 (this worked
>> in v0.10.2):
>>
>> [root at host ~]# virsh attach-device W5APQ8  G84VV1.xml
>> error: Failed to attach device from G84VV1.xml
>> error: cannot open file 'dc3-1-test/G84VV1': No such file or directory
>> [root at host ~]#
>>      
> Thanks for the report.  Hmm, something in the new probing code is
> failing to recognize that rbd devices are not local files, and therefore
> should not be probed via stat() and open() calls.
>
>
>    
>> Using git bisect, I narrowed the problem down to this as the first
>> commit to break this setup:
>>
>> 4d34c92947e8cf9e9bedfa227ada1d2dba92d68a is the first bad commit
>> commit 4d34c92947e8cf9e9bedfa227ada1d2dba92d68a
>> Author: Eric Blake<eblake at redhat.com>
>> Date:   Tue Oct 9 16:08:14 2012 -0600
>>      
> That may be the commit that exposed the problem, but I'm sure the actual
> regression was introduced as a latent bug in one of my earlier
> conversions in src/util/storage_file.c:
>
>    
>> These all look closely related as well to the problem commit:
>>
>> http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=67aea3fb780346b4aa5aea486af1e7738019959f
>>
>> http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=38c4a9cc40476bd2e598a1876b1254e88a09c760
>>
>> http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=4d34c92947e8cf9e9bedfa227ada1d2dba92d68a
>>      
> which you have indeed identified as possible culprits.
>
>    
>>
>> If I build libvirt from sources before these commits and then run the
>> exact virsh-attach command shown above, the attachment works and I do
>> not get any errors.
>>
>> I wanted to see if anyone had any  insights on this, or perhaps a commit
>> to correct this issue. If I can be of any further assistance with this,
>> let me know.
>>      
> If you feel comfortable writing up a C patch; great.  If not, I probably
> won't be able to get to this until next week, or someone else may beat
> me to it.  I also know that Peter is also trying to plug another
> regression in the same code:
> https://www.redhat.com/archives/libvir-list/2012-November/msg00894.html
>
>    




More information about the libvir-list mailing list