)]}'
{
  "commit": "1069985fb132cd4324fc02d371f1e61492a1823f",
  "tree": "2fd334955a8002b660a93fffa273f748a35c4930",
  "parents": [
    "a98b140223d3a627eab7ee3ddec645bab630d756"
  ],
  "author": {
    "name": "Bo Yang",
    "email": "boyang@suse.com",
    "time": "Wed Aug 29 19:26:11 2012 +0800"
  },
  "committer": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@gmail.com",
    "time": "Fri Sep 14 08:40:31 2012 +0100"
  },
  "message": "eepro100: Fix network hang when rx buffers run out\n\nThis is reported by QA. When installing os with pxe, after the initial\nkernel and initrd are loaded, the procedure tries to copy files from install\nserver to local harddisk, the network becomes stall because of running out of\nreceive descriptor.\n\n[Whitespace fixes and removed qemu_notify_event() because Paolo\u0027s\nearlier net patches have moved it into qemu_flush_queued_packets().\n\nAdditional info:\n\nI can reproduce the network hang with a tap device doing a iPXE HTTP\nboot as follows:\n\n  $ qemu -enable-kvm -m 1024 \\\n    -netdev tap,id\u003dnetdev0,script\u003dno,downscript\u003dno \\\n    -device i82559er,netdev\u003dnetdev0,romfile\u003d80861209.rom \\\n    -drive if\u003dvirtio,cache\u003dnone,file\u003dtest.img\n  iPXE\u003e ifopen net0\n  iPXE\u003e config # set static network configuration\n  iPXE\u003e kernel http://mirror.bytemark.co.uk/fedora/linux/releases/17/Fedora/x86_64/os/images/pxeboot/vmlinuz\n\nI needed a vanilla iPXE ROM to get to the iPXE prompt.  I think the boot\nprompt has been disabled in the ROMs that ship with QEMU to reduce boot\ntime.\n\nDuring the vmlinuz HTTP download there is a network hang.  hw/eepro100.c\nhas reached the end of the rx descriptor list.  When the iPXE driver\nreplenishes the rx descriptor list we don\u0027t kick the QEMU net subsystem\nand event loop, thereby leaving the tap netdev without its file\ndescriptor in select(2).\n\nStefan Hajnoczi \u003cstefanha@gmail.com\u003e]\n\nSigned-off-by: Bo Yang \u003cboyang@suse.com\u003e\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "50d117e35e84d113678646b27faf51d6a69bfed9",
      "old_mode": 33188,
      "old_path": "hw/eepro100.c",
      "new_id": "5b231163d894df9749075d21a3df9c74dd89be5c",
      "new_mode": 33188,
      "new_path": "hw/eepro100.c"
    }
  ]
}
