Bug 986323

Summary: Failed to hotunplug device on a special point (guest try to boot from PXE)
Product: Red Hat Enterprise Linux 6 Reporter: langfang <flang>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 6.5CC: acathrow, amit.shah, bsarathy, flang, juzhang, mkenneth, qzhang, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-22 21:54:36 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:
Embargoed:
Attachments:
Description Flags
special point none

Description langfang 2013-07-19 12:12:30 UTC
Description of problem:
Failed to hotunplug device on a special point  (try to boot  from PXE),the point see attachment.

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

host:
# uname -r 
2.6.32-398.el6.x86_64
# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.378.el6.x86_64

Guest:win2008r2

How reproducible:

90%

Steps to Reproduce:
1.Boot guest 
 /usr/libexec/qemu-kvm -M rhel6.5.0 -cpu Opteron_G3 -m 32G -smp 16,sockets=2,cores=8,threads=1 -enable-kvm -usb -device usb-tablet,id=input0 -name win2008r2-64 -uuid 237a0f74-597e-472f-8d20-d542ef0d76f2 -rtc base=localtime,clock=host,driftfix=slew -device virtio-scsi-pci,bus=pci.0,addr=0x5,id=scsi0 -boot menu=on -drive file=/root/win2008r2-64-virtio.qcow2,if=none,id=drive-scsi0-0-0,media=disk,cache=none,format=qcow2,werror=stop,rerror=stop,aio=native -device scsi-hd,drive=drive-scsi0-0-0,bus=scsi0.0,scsi-id=0,lun=0,id=flang -vnc :11 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -serial unix:/tmp/ttyS0,server,nowait -qmp tcp:0:4445,server,nowait -device virtio-balloon-pci,bus=pci.0,id=balloon0 -device pci-assign,host=23:10.5,id=hostnet2 -monitor unix:/tmp/monitor-unix,nowait,server -monitor stdio
2.(qemu) info pci
  Bus  0, device   0, function 0:
    Host bridge: PCI device 8086:1237
      id ""
  Bus  0, device   1, function 0:
    ISA bridge: PCI device 8086:7000
      id ""
  Bus  0, device   1, function 1:
    IDE controller: PCI device 8086:7010
      BAR4: I/O at 0xc000 [0xc00f].
      id ""
  Bus  0, device   1, function 2:
    USB controller: PCI device 8086:7020
      IRQ 11.
      BAR4: I/O at 0xc020 [0xc03f].
      id ""
  Bus  0, device   1, function 3:
    Bridge: PCI device 8086:7113
      IRQ 9.
      id ""
  Bus  0, device   2, function 0:
    VGA controller: PCI device 1013:00b8
      BAR0: 32 bit prefetchable memory at 0xf0000000 [0xf1ffffff].
      BAR1: 32 bit memory at 0xf2000000 [0xf2000fff].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id ""
  Bus  0, device   3, function 0:
    Ethernet controller: PCI device 10ec:8139
      IRQ 11.
      BAR0: I/O at 0xc100 [0xc1ff].
      BAR1: 32 bit memory at 0xf2020000 [0xf20200ff].
      BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
      id ""
  Bus  0, device   4, function 0:
    RAM controller: PCI device 1af4:1002
      IRQ 11.
      BAR0: I/O at 0xc200 [0xc21f].
      id "balloon0"
  Bus  0, device   5, function 0:
    SCSI controller: PCI device 1af4:1004
      IRQ 10.
      BAR0: I/O at 0xc240 [0xc27f].
      BAR1: 32 bit memory at 0xf2040000 [0xf2040fff].
      id "scsi0"
  Bus  0, device   6, function 0:
    Ethernet controller: PCI device 8086:10ca
      BAR0: 32 bit memory at 0xf2044000 [0xf2047fff].
      BAR3: 32 bit memory at 0xf2048000 [0xf204bfff].
      id "hostnet2"

3.On the spical point(see attachment),hotunplug balloon device
(qemu)device_del balloon0

4.
(qemu)info pci--->same step2

Actual results:

 balloon device not delete


Expected results:
 Can hotunplug the balloon device successfully.

Additional info:
1)rhel guest hit same problem
2)hotunplug vf(hostnet2),virtio-serial-pci,hit same problem.
3)hotplug device not hit the problem.

Comment 2 langfang 2013-07-19 12:15:47 UTC
Created attachment 775788 [details]
special point

Comment 3 langfang 2013-07-19 12:17:25 UTC
seabios version:
Host:
# rpm -q seabios
seabios-0.6.1.2-28.el6.x86_64

Comment 4 Amit Shah 2013-07-22 06:31:11 UTC
Hot-unplug needs guest OS co-operation.  Since at the time of unplugging, you don't have Linux running (only pxe bios), it's expected this won't succeed.  If the pxe bios implements unplug functionality, this would work.  But it's not the job of pxe bios to implement a full-featured OS with all ACPI commands working, so we can say with certainty this isn't going to work ever.