I've try your patch, but can't boot the vm.
the libvirt build the qemu/gluster command correctly, the qemu-kvm try to run, but faile after a while, that cause the libvirt monitor connect failed.
2012-08-30 01:03:08.418+0000: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=spice /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name gluster-vm -uuid f65bd812-45fb-cc2d-75fd-84206248e026 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/gluster-vm.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=gluster://
10.1.81.111:24007/dht/windows7-32-DoubCards-iotest-qcow2.img,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -device usb-tablet,id=input0 -spice port=30038,addr=0.0.0.0,disable-ticketing -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
2012-08-30 01:03:08.423+0000: 4452: debug : virCommandHook:2041 : Run hook 0x48f160 0x7f433ba0e570
2012-08-30 01:03:08.423+0000: 4452: debug : qemuProcessHook:2475 : Obtaining domain lock
2012-08-30 01:03:08.423+0000: 4452: debug : virDomainLockManagerNew:123 : plugin=0x7f43300b7980 dom=0x7f43240022b0 withResources=1
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerNew:291 : plugin=0x7f43300b7980 type=0 nparams=4 params=0x7f433ba0d9d0 flags=0
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerLogParams:98 : key=uuid type=uuid value=f65bd812-45fb-cc2d-75fd-84206248e026
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerLogParams:94 : key=name type=string value=gluster-vm
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerLogParams:82 : key=id type=uint value=1
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerLogParams:82 : key=pid type=uint value=4452
2012-08-30 01:03:08.423+0000: 4452: debug : virDomainLockManagerNew:135 : Adding leases
2012-08-30 01:03:08.423+0000: 4452: debug : virDomainLockManagerNew:140 : Adding disks
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerAcquire:337 : lock=0x7f4324001ba0 state='(null)' flags=3 fd=0x7f433ba0db3c
2012-08-30 01:03:08.423+0000: 4452: debug : virLockManagerFree:374 : lock=0x7f4324001ba0
2012-08-30 01:03:08.423+0000: 4452: debug : qemuProcessHook:2500 : Moving process to cgroup
2012-08-30 01:03:08.423+0000: 4452: debug : virCgroupNew:603 : New group /libvirt/qemu/gluster-vm
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 0:cpu at /cgroup/cpu in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 1:cpuacct at /cgroup/cpuacct in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 2:cpuset at /cgroup/cpuset in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 3:memory at /cgroup/memory in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 4:devices at /cgroup/devices in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 5:freezer at /cgroup/freezer in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupDetect:262 : Detected mount/mapping 6:blkio at /cgroup/blkio in
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:524 : Make group /libvirt/qemu/gluster-vm
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/cpu/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/cpuacct/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/cpuset/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/memory/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/devices/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/freezer/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupMakeGroup:546 : Make controller /cgroup/blkio/libvirt/qemu/gluster-vm/
2012-08-30 01:03:08.424+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/cpu/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.426+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/cpuacct/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.429+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/cpuset/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.432+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/memory/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.435+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/devices/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.437+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/freezer/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.439+0000: 4452: debug : virCgroupSetValueStr:320 : Set value '/cgroup/blkio/libvirt/qemu/gluster-vm/tasks' to '4452'
2012-08-30 01:03:08.442+0000: 4452: debug : qemuProcessInitCpuAffinity:1731 : Setting CPU affinity
2012-08-30 01:03:08.443+0000: 4452: debug : qemuProcessInitCpuAffinity:1760 : Set CPU affinity with specified cpuset
2012-08-30 01:03:08.443+0000: 4452: debug : qemuProcessHook:2512 : Setting up security labelling
2012-08-30 01:03:08.443+0000: 4452: debug : virSecurityDACSetProcessLabel:637 : Dropping privileges of DEF to 107:107
2012-08-30 01:03:08.443+0000: 4452: debug : qemuProcessHook:2519 : Hook complete ret=0
2012-08-30 01:03:08.443+0000: 4452: debug : virCommandHook:2043 : Done hook 0
2012-08-30 01:03:08.443+0000: 4452: debug : virCommandHook:2056 : Notifying parent for handshake start on 24
2012-08-30 01:03:08.443+0000: 4452: debug : virCommandHook:2077 : Waiting on parent for handshake complete on 25
2012-08-30 01:03:08.495+0000: 4452: debug : virCommandHook:2093 : Hook is done 0
Gluster connection failed for server=10.1.81.111 port=24007 volume=dht image=windows7-32-DoubCards-iotest-qcow2.img transport=socket
2012-08-30 01:03:11.565+0000: shutting down
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=spice /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name gluster-vm -uuid f65bd812-45fb-cc2d-75fd-84206248e026 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/gluster-vm.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=gluster://
10.1.81.111:24007/dht/windows7-32-DoubCards-iotest-qcow2.img,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -device usb-tablet,id=input0 -spice port=30038,addr=0.0.0.0,disable-ticketing -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
2.It's hard to debug the qemu-kvm progress from libvirt, I try to hang the glusterd for a moment, then to gdb the qemu-kvm, do your have better methods?