<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML \9884\8BBE\683C\5F0F Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:SimSun;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLChar
        {mso-style-name:"HTML \9884\8BBE\683C\5F0F Char";
        mso-style-priority:99;
        mso-style-link:"HTML \9884\8BBE\683C\5F0F";
        font-family:SimSun;}
.MsoChpDefault
        {mso-style-type:export-only;}
/* Page Definitions */
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="#0563C1" vlink="#954F72" style="text-justify-trim:punctuation">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Hello, <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I have been confused by such a phenomenon recently.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Libvirt is the master branch , and the VM is centos8.2(kernel is 4.18.0-193.el8.aarch64).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">When I hot-plug the scsi disk for a virtual machine without a virtio-scsi controller, libvirt will automatically generate an lsilogic controller for the scsi disk.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"><disk type='file' device='disk'><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">  <driver name='qemu' type='qcow2' cache='none' io='native'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"> 
</span><span lang="FR" style="font-size:9.0pt"><source file='/Images/xcc/tmp.img'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="FR" style="font-size:9.0pt"> 
</span><span lang="EN-US" style="font-size:9.0pt"><backingStore/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">  <target dev='sdt' bus='scsi'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"><address type='drive' controller='0' bus='0' target='0' unit='0'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"></disk></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> virsh list<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">Id   Name   State<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">----------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">12   g1     running<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> virsh attach-device g1 disk.xml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><b><span lang="EN-US" style="font-size:9.0pt">Device attached successfully<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-indent:9.0pt"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> virsh dumpxml g1 | grep scsi<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;mso-para-margin-left:2.0gd"><span lang="EN-US" style="font-size:9.0pt">      <target dev='sdt' bus='scsi'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;mso-para-margin-left:2.0gd"><span lang="EN-US" style="font-size:9.0pt">      <alias name='scsi0-0-0'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;mso-para-margin-left:2.0gd"><span lang="EN-US" style="font-size:9.0pt">    <controller type='scsi' index='0' model='lsilogic'><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;mso-para-margin-left:2.0gd"><span lang="EN-US" style="font-size:9.0pt">      <alias name='scsi0'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;mso-para-margin-left:2.0gd"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">But this scsi disk cannot be found through the lsblk command inside the virtual machine.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span lang="EN-US" style="font-size:9.0pt">[root@localhost ~]# lsblk<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span lang="EN-US" style="font-size:9.0pt">NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span lang="EN-US" style="font-size:9.0pt">vda         252:0    0   20G  0 disk<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span style="font-size:9.0pt;font-family:SimSun">†€</span><span lang="EN-US" style="font-size:9.0pt">vda1      252:1    0  600M  0 part /boot/efi<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span style="font-size:9.0pt;font-family:SimSun">†€</span><span lang="EN-US" style="font-size:9.0pt">vda2      252:2    0    1G  0 part /boot<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span style="font-size:9.0pt;font-family:SimSun">„€</span><span lang="EN-US" style="font-size:9.0pt">vda3      252:3    0 18.4G  0 part<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span lang="EN-US" style="font-size:9.0pt"> 
</span><span style="font-size:9.0pt;font-family:SimSun">†€</span><span lang="EN-US" style="font-size:9.0pt">cl-root 253:0    0 16.4G  0 lvm  /<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:31.5pt;mso-para-margin-left:3.0gd"><span lang="EN-US" style="font-size:9.0pt"> 
</span><span style="font-size:9.0pt;font-family:SimSun">„€</span><span lang="EN-US" style="font-size:9.0pt">cl-swap 253:1    0    2G  0 lvm  [SWAP]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">After hot unplugging the scsi disk, I performed the hot unplug operation of the lsilogic controller. libvirt shows "Device detached successfully", but in fact, the lsilogic controller is not removed from the live XML
 and persistent XML. Through "virsh dumpxml vmname" and "virsh edit vmname", I can see <controller type='scsi' index='0' model='lsilogic'> is always there.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> virsh detach-device g1 disk.xml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><b><span lang="EN-US" style="font-size:9.0pt">Device detached successfully<o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #
</span><span lang="EN-US" style="font-size:9.0pt">virsh dumpxml g1 | grep scsi<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">    <controller type='scsi' index='0' model='lsilogic'><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">      <alias name='scsi0'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> cat lsi.xml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"><controller type='scsi' index='0' model='lsilogic'><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">  <alias name='scsi0'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">  <address type='pci' domain='0x0000' bus='0x03' slot='0x05' function='0x0'/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"></controller><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> virsh detach-device g1 lsi.xml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">Device detached successfully<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt;color:#C00000">linux-upcHIq:/Images/xcc #</span><span lang="EN-US" style="font-size:9.0pt"> virsh dumpxml g1 | grep scsi<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">    <controller type='scsi' index='0' model='lsilogic'><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:10.5pt;mso-para-margin-left:1.0gd"><span lang="EN-US" style="font-size:9.0pt">      <alias name='scsi0'/><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I am confused, why libvirt chooses to generate an lsilogic controller for the scsi disk when there is no scsi controller, instead of directly reporting an error and exiting the hot plug operation. After all, the scsi
 disk based on the lsilogic controller is not perceived inside the virtual machine, and lsilogic will remain in the XML file of the virtual machine.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>