Bug 652720
| Summary: | read from virtio-serial returns if the host side is not connect to pipe [rhel-6.0.z] | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | RHEL Program Management <pm-rhel> |
| Component: | kernel | Assignee: | Frantisek Hrbata <fhrbata> |
| Status: | CLOSED ERRATA | QA Contact: | Red Hat Kernel QE team <kernel-qe> |
| Severity: | medium | Docs Contact: | |
| Priority: | high | ||
| Version: | 6.0 | CC: | amit.shah, bazulay, cpelland, dhoward, ghammer, jmalanik, jpirko, llim, michen, mkenneth, plyons, pm-eus, tburke, virt-maint, vrozenfe |
| Target Milestone: | rc | Keywords: | ZStream |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | kernel-2.6.32-71.16.1.el6 | Doc Type: | Bug Fix |
| Doc Text: |
Prior to this update, a guest could use the poll() function to find out whether the host-side connection was open or closed. However, with a SIGIO signal, this can be done asynchronously, without having to explicitly poll each port. With this update, a SIGIO signal is sent for any host connect/disconnect events. Once the SIGIO signal is received, the open/close status of virtio-serial ports can be obtained using the poll() system call.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-02-22 17:39:58 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 624628 | ||
| Bug Blocks: | |||
|
Description
RHEL Program Management
2010-11-12 16:09:28 UTC
Reproduced this bug with fixed in 2.6.32-71.15.1.el6 using the steps in:https://bugzilla.redhat.com/show_bug.cgi?id=624628#c24 and The sigio test are all FAIL. Verified on 2.6.32-71.16.1.el6(guest's kernel) using the same steps and sigio test are all pass: # ./run-test.sh /usr/libexec/qemu-kvm -drive file=/home/rhel6.0_64.qcow2,if=none,id=test,boot=on,cache=none,format=qcow2,werror=stop,rerror=stop -device virtio-blk-pci,drive=test -chardev socket,path=/tmp/amit/test0,server,nowait,id=test0 -chardev socket,path=/tmp/amit/test1,server,nowait,id=test1 -chardev socket,path=/tmp/amit/test2,server,nowait,id=test2 -chardev socket,path=/tmp/amit/test3,server,nowait,id=test3 -chardev socket,path=/tmp/amit/test4,server,nowait,id=test4 -device virtio-serial -device virtconsole,chardev=test0,name=console.0 -device virtserialport,chardev=test1,name=test1 -device virtserialport,chardev=test2,name=test2 -device virtserialport,chardev=test3,name=test3 -device virtserialport,chardev=test4,name=test4 -vnc :1 -net none -enable-kvm -m 1G -serial file:/tmp/amit/test-serial.log -monitor unix:/tmp/amit/test-monitor,server,nowait -snapshot -smp 2 Using CPU model "cpu64-rhel6" Using CPU model "cpu64-rhel6" Guest is up 1 ......... test_sigio_handler - enabled ( open): PASS test_sigio_handler - enabled ( in): PASS test_sigio_handler - enabled ( close): PASS test_sigio_handler - enabled ( multi-c2): PASS test_sigio_handler - enabled ( multi-c3): PASS test_sigio_handler - enabled ( multi-c4): PASS test_sigio_handler - enabled (poll-sigio): PASS An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0283.html
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Prior to this update, a guest could use the poll() function to find out whether the host-side connection was open or closed. However, with a SIGIO signal, this can be done asynchronously, without having to explicitly poll each port. With this update, a SIGIO signal is sent for any host connect/disconnect events. Once the SIGIO signal is received, the open/close status of virtio-serial ports can be obtained using the poll() system call.
|