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@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@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@xxxxxxxxxx>
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
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list