Bug 1032001

Summary: fail commit snapshot to its backing_file(w/r) with 'snapshot=on' for the disk using libiscsi backend
Product: Red Hat Enterprise Linux 7 Reporter: Sibiao Luo <sluo>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: acathrow, chayang, juzhang, michen, pbonzini, qzhang, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-19 10:57:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Sibiao Luo 2013-11-19 10:46:38 UTC
Description of problem:
boot a guest with 'snapshot=on' for the disk(w/r) using libiscsi backend, and dd some data to the disk, but then it fail commit snapshot to its backing_file.

Version-Release number of selected component (if applicable):
host info:
3.10.0-50.el7.x86_64
qemu-kvm-rhev-1.5.3-19.el7.x86_64
seabios-1.7.2.2-4.el7.x86_64
guest info:
rhel6.5 32bit

How reproducible:
100%

Steps to Reproduce:
1.boot a guest with 'snapshot=on' for the disk(w/r) using libiscsi backend.
e.g:/usr/libexec/qemu-kvm -M q35 -S -cpu SandyBridge -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection...-drive file=iscsi://10.66.90.100/iqn.2001-05.com.equallogic:0-8a0906-0971f7d03-1dff49b26885073d-s2-sluo-172259/0,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,snapshot=on -device virtio-blk-pci,bus=pcie.0,addr=0x7,scsi=off,drive=drive-data-disk,id=data-disk -iscsi id=iqn1
2.dd some data to the disk in guest.
# dd if=/dev/zero of=/dev/vdb bs=1M count=1000
3.commit the change of snapshot to its backing_file.
(qemu) info block
...
drive-data-disk: removable=0 io-status=ok file=/tmp/vl.hkWWRW backing_file=iscsi://10.66.90.100/iqn.2001-05.com.equallogic:0-8a0906-0971f7d03-1dff49b26885073d-s2-sluo-172259/0 backing_file_depth=1 ro=0 drv=qcow2 encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0
(qemu) commit drive-data-disk

Actual results:
after step 3, fail commit snapshot to its backing_file(w/r) with 'snapshot=on' for the disk using libiscsi backend.
(qemu) commit drive-data-disk
'commit' error for 'drive-data-disk': Permission denied

Expected results:
it should commit successfully.

Additional info:

Comment 1 Sibiao Luo 2013-11-19 10:48:22 UTC
Also tried to using the iSCSI LUN directly that did not meet such issue.
e.g:/usr/libexec/qemu-kvm -M q35 -S -cpu SandyBridge -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection...-drive file=/dev/disk/by-path/ip-10.66.90.100:3260-iscsi-iqn.2001-05.com.equallogic:0-8a0906-0971f7d03-1dff49b26885073d-s2-sluo-172259-lun-0,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,snapshot=on -device virtio-blk-pci,bus=pcie.0,addr=0x7,scsi=off,drive=drive-data-disk,id=data-disk

Best Regards,
sluo

Comment 2 Sibiao Luo 2013-11-19 10:50:39 UTC
# rpm -qa | grep libiscsi
libiscsi-debuginfo-1.9.0-3.el7.x86_64
libiscsi-devel-1.9.0-3.el7.x86_64
libiscsi-1.9.0-3.el7.x86_64
libiscsi-utils-1.9.0-3.el7.x86_64

My qemu-kvm command line:
# /usr/libexec/qemu-kvm -M q35 -S -cpu SandyBridge -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name sluo -uuid 990ea161-6b67-47b2-b803-19fb01d30d10 -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pcie.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=/home/RHEL6.5-20131019.1_Server_x86_64.qcow2bk,if=none,id=drive-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop -device virtio-blk-pci,vectors=0,bus=pcie.0,addr=0x4,scsi=off,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device rtl8139,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:03:04:05,bus=pcie.0,addr=0x5 -device virtio-balloon-pci,id=ballooning,bus=pcie.0,addr=0x6 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -drive file=iscsi://10.66.90.100/iqn.2001-05.com.equallogic:0-8a0906-0971f7d03-1dff49b26885073d-s2-sluo-172259/0,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,snapshot=on -device virtio-blk-pci,bus=pcie.0,addr=0x7,scsi=off,drive=drive-data-disk,id=data-disk -iscsi id=iqn1 -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :1 -spice disable-ticketing,port=5931 -monitor stdio

Comment 3 Paolo Bonzini 2013-11-19 10:57:59 UTC

*** This bug has been marked as a duplicate of bug 1030301 ***