Bug 2103132

Summary: wrong error message when thread pool size of virtiofs out of range
Product: Red Hat Enterprise Linux 9 Reporter: Lili Zhu <lizhu>
Component: libvirtAssignee: Ján Tomko <jtomko>
libvirt sub component: General QA Contact: Lili Zhu <lizhu>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: jdenemar, jtomko, lmen, virt-maint, xuzhang
Version: 9.1Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-8.7.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-09 07:26:34 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: 8.6.0
Embargoed:

Description Lili Zhu 2022-07-01 14:05:27 UTC
Description of problem:
wrong error message when thread pool size of virtiofs out of range

Version-Release number of selected component (if applicable):
libvirt-8.5.0-1.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
1.prepare a guest xml with the following xml snippet
    <filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <thread_pool size='2147483648'/>
      </binary>
      <source dir='/path1'/>
      <target dir='mount_tag'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </filesystem>

2. define the guest
# virsh define avocado-vt-vm1.xml 
error: Failed to define domain from avocado-vt-vm1.xml
error: XML error: cannot parse thread pool size '(null)' for virtiofs



Expected results:
In the code:
       if (thread_pool_size &&
+            virStrToLong_i(thread_pool_size, NULL, 10, &def->thread_pool_size) < 0) {
+            virReportError(VIR_ERR_XML_ERROR,
+                           _("cannot parse thread pool size '%s' for virtiofs"),
+                           queue_size);      

Should not use queue_size, the variable should be thread_pool_size


Additional info:

Comment 1 Ján Tomko 2022-07-01 15:13:02 UTC
Pushed upstream as:
commit 17f8e36e224e200833b68c99308787f3c5d71d23
Author:     Ján Tomko <jtomko>
CommitDate: 2022-07-01 17:10:25 +0200

    conf: fix error message for wrong thread_pool_size
    
    Fix the copy-and-paste error by referring to the correct variable.
    
    Fixes: 0df2e7df80452f81edbfeb0ee355235b533346a9
    https://bugzilla.redhat.com/show_bug.cgi?id=2103132
    
    Signed-off-by: Ján Tomko <jtomko>

git describe: v8.5.0-44-g17f8e36e22

Comment 2 Lili Zhu 2022-07-11 03:14:09 UTC
Tested this bug with:
libvirt-8.6.0-1.fc35.x86_64


Steps to test:
1.prepare a guest xml with the following xml snippet
    <filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <thread_pool size='2147483648'/>
      </binary>
      <source dir='/path1'/>
      <target dir='mount_tag'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </filesystem>

2. define the guest
# virsh define rhel.xml 
error: Failed to define domain from rhel.xml
error: XML error: cannot parse thread pool size '2147483648' for virtiofs

Error message has been updated. Mark the bug as tested

Comment 3 Jiri Denemark 2022-07-14 13:51:30 UTC
All patches pushed after 8.5.0 upstream release need to be backported to make
it into RHEL 9.1.0.

Comment 6 Lili Zhu 2022-10-17 01:55:13 UTC
Verify this bugs with:
libvirt-8.8.0-1.el9.x86_64

1.prepare a guest xml with the following xml snippet
    <filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <thread_pool size='2147483648'/>
      </binary>
      <source dir='/path1'/>
      <target dir='mount_tag'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </filesystem>

2. define the guest
# virsh define rhel.xml 
error: Failed to define domain from rhel.xml
error: XML error: cannot parse thread pool size '2147483648' for virtiofs

As the testing result matches with the expected result, mark the bug as verified.

Comment 8 errata-xmlrpc 2023-05-09 07:26:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (libvirt bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2171