Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be unavailable on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1342033 - Blockcommit hang with unresponsive NFS storage which also blocks other virsh commands
Summary: Blockcommit hang with unresponsive NFS storage which also blocks other virsh ...
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libvirt
Version: 8.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 8.1
Assignee: Virtualization Maintenance
QA Contact: yisun
Depends On:
Blocks: 1401400 1473046
TreeView+ depends on / blocked
Reported: 2016-06-02 10:07 UTC by Pei Zhang
Modified: 2020-02-11 13:16 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-02-11 13:16:09 UTC
Type: Bug
Target Upstream Version:

Attachments (Terms of Use)

Description Pei Zhang 2016-06-02 10:07:17 UTC
Description of problem:
Blockcommit hang with unresponsive NFS storage which also blocks other virsh commands.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

1.Soft mount a NFS storage 
#mount|grep nfs 
$IP:/mnt/img on /tmp/zp type nfs4 (rw,relatime,vers=4.0,soft,proto=tcp,......)

2. start a guest like following : 
all the images and backing files are on NFS storage.

 <disk type='file' device='disk' snapshot='no'>
      <driver name='qemu' type='qcow2' cache='none' error_policy='stop' io='threads'/>
      <source file='/tmp/zp/snapshot/d/d' startupPolicy='optional'>
        <seclabel model='selinux' labelskip='yes'/>
      <backingStore type='file' index='1'>
        <format type='qcow2'/>
        <source file='/tmp/zp/snapshot/d/../c/c'/>
        <backingStore type='file' index='2'>
          <format type='qcow2'/>
          <source file='/tmp/zp/snapshot/d/../c/../b/b'/>
          <backingStore type='file' index='3'>
            <format type='qcow2'/>
            <source file='/tmp/zp/snapshot/d/../c/../b/../a/a'/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

3. disconnect NFS storage.
# iptables -A OUTPUT -d $IP -p tcp --dport 2049 -j DROP

4. do blockcommit, it will hang 
# virsh -k0 blockcommit --active --verbose vm2 vda --shallow --pivot --keep-relative 

5. in termianl 2, virsh list guest also hang
#virsh list 

6. in termianl 3, execute other virsh commands, it looks like all virsh command would hang. 

7. recover NFS storage and commit again, successfully. 
# virsh -k0 blockcommit --active --verbose vm2 vda --shallow --pivot --keep-relative 
Block commit: [100 %]
Successfully pivoted

Actual results:
As step 4, step 5, for unresposive NFS storage, blockcommit will hang, and also it will block other commands.

Expected results:
These commands won't hang.

Additional info:

Comment 1 Jaroslav Suchanek 2019-04-24 12:26:39 UTC
This bug is going to be addressed in next major release.

Comment 2 Jaroslav Suchanek 2020-02-11 13:16:09 UTC
This bug was closed deferred as a result of bug triage.

Please reopen if you disagree and provide justification why this bug should
get enough priority. Most important would be information about impact on
customer or layered product. Please indicate requested target release.

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