Bug 652720 - read from virtio-serial returns if the host side is not connect to pipe [rhel-6.0.z]
read from virtio-serial returns if the host side is not connect to pipe [rhel...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.0
All Linux
high Severity medium
: rc
: ---
Assigned To: Frantisek Hrbata
Red Hat Kernel QE team
: ZStream
Depends On: 624628
Blocks:
  Show dependency treegraph
 
Reported: 2010-11-12 11:09 EST by RHEL Product and Program Management
Modified: 2013-01-10 22:31 EST (History)
15 users (show)

See Also:
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 12:39:58 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description RHEL Product and Program Management 2010-11-12 11:09:28 EST
This bug has been copied from bug #624628 and has been proposed
to be backported to 6.0 z-stream (EUS).
Comment 10 Miya Chen 2011-02-16 08:48:11 EST
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
Comment 11 errata-xmlrpc 2011-02-22 12:39:58 EST
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
Comment 12 Martin Prpic 2011-02-23 10:03:52 EST
    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.

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