Hi, Bharata B Rao:<br><br> The problem has been solved.<br> I configure QEMU with --enable-uuid, but don't install libuuid-dev rpm, so it actually use vdi.c's uuid_is_null.<br><br> in glfs_active_subvol, it will call inode_table_new to init itable, gfid should be 0(repeat 15 times), 001.<br>
glusterfs's uuid_is_null will compare all 16 bit, but qemu vdi.c's only compare 8 bit, which cause glfs client see the root inode gfid invalid.. so glfs_open failed.<br><br><br>Best Regards,<br>Yin.Yin <br> <br>
<br><div class="gmail_quote">On Wed, Aug 15, 2012 at 6:24 PM, Bharata B Rao <span dir="ltr"><<a href="mailto:bharata.rao@gmail.com" target="_blank">bharata.rao@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Wed, Aug 15, 2012 at 12:14 PM, Yin Yin <<a href="mailto:maillistofyinyin@gmail.com">maillistofyinyin@gmail.com</a>> wrote:<br>
> Hi,Bharata B Rao:<br>
> I have try your patch, but has some problem. I found that both<br>
> glusterfs and qemu have a fun uuid_is_null.<br>
> glusterfs use contrib/uuid/isnull.c<br>
> qemu use block/vdi.c<br>
><br>
><br>
> I test the api/example, the glfsxmp.c call uuid_is_null in<br>
> contrib/uuid/isnull.c<br>
> but qemu/block/gluster.c finally call the uuid_is_null in vdi.c which cause<br>
> vm can't boot.<br>
<br>
</div>So you are configuring QEMU with --disable-uuid ? Even then, there<br>
should be no issues. I just verified that and I don't understand why<br>
it should cause problems in VM booting.<br>
<br>
Can you please ensure the following:<br>
<br>
- Remove all the traces of gluster from your system (which means<br>
removing any installed gluster rpms) before you compile gluster from<br>
source.<br>
- Try with my v6 patcheset<br>
(<a href="http://lists.nongnu.org/archive/html/qemu-devel/2012-08/msg01536.html" target="_blank">http://lists.nongnu.org/archive/html/qemu-devel/2012-08/msg01536.html</a>)<br>
<br>
When you say VM isn't booting, do you see a hang or a segfault ?<br>
<br>
Let me know how are you specifying the gluster drive (-drive<br>
file=gluster://server[:port]/volname/image[?transport=socket])<br>
<br>
Please verify that you are able to FUSE mount your volume before tying<br>
with QEMU.<br>
<br>
Regards,<br>
Bharata.<br>
</blockquote></div><br>