Bug 1304579 - Failed to take external snapshot when enable sanlock
Summary: Failed to take external snapshot when enable sanlock
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.8
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Peter Krempa
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1191901
Blocks: 1305793
TreeView+ depends on / blocked
 
Reported: 2016-02-04 02:27 UTC by Han Han
Modified: 2016-02-15 11:50 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1305793 (view as bug list)
Environment:
Last Closed: 2016-02-15 11:50:35 UTC
Target Upstream Version:


Attachments (Terms of Use)
The log of step2 (149.43 KB, text/plain)
2016-02-04 02:27 UTC, Han Han
no flags Details

Description Han Han 2016-02-04 02:27:53 UTC
Created attachment 1121017 [details]
The log of step2

Description of problem:
As summary

Version-Release number of selected component (if applicable):
libvirt-0.10.2-56.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.487.el6.x86_64
libvirt-lock-sanlock-0.10.2-56.el6.x86_64
sanlock-2.8-2.el6_5.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Setup libvirt sanlock on a host:
On host A
# setsebool sanlock_use_nfs 1 && setsebool virt_use_nfs 1 && setsebool virt_use_sanlock 1
# cat /etc/libvirt/qemu-sanlock.conf
auto_disk_leases = 1
disk_lease_dir = "/var/lib/libvirt/sanlock"
host_id = 1
user = "sanlock"
group = "sanlock"

# cat /etc/libvirt/qemu.conf
lock_manager = "sanlock"

# cat /etc/sysconfig/sanlock                                              
SANLOCKOPTS="-w 0"

# service wdmd restart; service sanlock restart; service libvirtd restart

2. Create a guest and do external snapshot
# cat guest.xml
<domain type='kvm' id='1'>
...
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/lib/libvirt/images/c2.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
...
</domain>

# virsh create guest.xml
Domain cc created from guest.xml
# virsh list 
 Id    Name                           State
----------------------------------------------------
 6     cc                             running

# virsh snapshot-create-as cc s1 --disk-only --diskspec vda,file=/tmp/cc.s1                                                    
error: Failed to acquire lock: File exists
Snapshot file created but the snapshot failed.
# ll /tmp/cc.s1
-rw-------. 1 qemu qemu 2.2M Feb  4 10:17 /tmp/cc.s1
# virsh snapshot-list cc
 Name                 Creation Time             State
------------------------------------------------------------

When I rm the file and create it again:
# rm /tmp/cc.s1;virsh snapshot-create-as cc s1 --disk-only --diskspec vda,file=/tmp/cc.s1;
error: Timed out during operation: cannot acquire state change lock

Actual results:
As step2


Expected results:
No errors and snapshot create success.

Additional info:


Note You need to log in before you can comment on or make changes to this bug.