)]}'
{
  "log": [
    {
      "commit": "a188e7e93a36627fb3f0013f41857ab54f076d04",
      "tree": "7686a0e870decdab3971db709fb0edf04241c07e",
      "parents": [
        "e1b28147f684af67bfac989756c27c19859d3d4e",
        "cf0eb28d3ba60098865bf7dbcbfdd6b1cc483e3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 19:52:19 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 19:52:19 2012 +0900"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull scsi target updates from Nicholas Bellinger:\n \"Things have been calm for the most part with no new fabric drivers in\n  flight for v3.7 (we\u0027re up to eight now !), so this update is primarily\n  focused on addressing a few long-standing items within target-core and\n  iscsi-target fabric code.\n\n  The highlights include:\n\n   - target: Simplify fabric sense data length handling (roland)\n   - qla2xxx: Fix endianness of task management response code (roland)\n   - target: fix truncation of mode data, support zero allocation length\n     (paolo)\n   - target: Properly support zero-length commands in normal processing\n     path (paolo)\n   - iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT\n     PDU (ronnie + nab)\n   - iscsi-target: Add explicit set of cache_dynamic_acls\u003d1 for TPG\n     demo-mode (ronnie + nab)\n   - target/file: Re-enable optional fd_buffered_io\u003d1 operation (nab +\n     hch)\n   - iscsi-target: Add MaxXmitDataSegmenthLength forr target -\u003e\n     initiator MDRSL declaration (nab)\n   - target: Add target_submit_cmd_map_sgls for SGL fabric memory\n     passthrough (nab + hch)\n   - tcm_loop: Convert I/O path to use target_submit_cmd_map_sgls (hch +\n     nab)\n   - tcm_vhost: Convert I/O path to use target_submit_cmd_map_sgls (nab\n     + hch)\n\n  The last series for adding a new target_submit_cmd_map_sgls() fabric\n  caller (as requested by hch) that accepts pre-allocated SGL memory\n  (using existing logic), along with converting tcm_loop + tcm_vhost has\n  only been in -next for the last days, but has gotten enough review\n  +testing and is clear enough a mechanical change that I think it\u0027s\n  reasonable to merge for -rc1 code.\n\n  Thanks again to everyone who contributed this round! Extra special\n  thanks to Roland (PureStorage) for tracking down the qla2xxx target\n  TMR response code endian issue, and to Paolo (Redhat) for resolving\n  the long standing zero-length CDB issues within target-core between\n  virtual and pSCSI backends.\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (44 commits)\n  iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout values\n  iscsit: proper endianess conversions\n  iscsit: use the itt_t abstract type\n  iscsit: add missing endianess conversion in iscsit_check_inaddr_any\n  iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp\n  iscsit: mark various functions static\n  target/iscsi: precedence bug in iscsit_set_dataout_sequence_values()\n  target/usb-gadget: strlen() doesn\u0027t count the terminator\n  target/usb-gadget: remove duplicate initialization\n  tcm_vhost: Convert I/O path to use target_submit_cmd_map_sgls\n  target: Add control CDB READ payload zero work-around\n  tcm_loop: Convert I/O path to use target_submit_cmd_map_sgls\n  target: Add target_submit_cmd_map_sgls for SGL fabric memory passthrough\n  iscsi-target: Add explicit set of cache_dynamic_acls\u003d1 for TPG demo-mode\n  iscsi-target: Change iscsi_target_seq_pdu_list.c to honor MaxXmitDataSegmentLength\n  iscsi-target: Add MaxXmitDataSegmentLength connection recovery check\n  iscsi-target: Convert incoming PDU payload checks to MaxXmitDataSegmentLength\n  iscsi-target: Enable MaxXmitDataSegmentLength operation in login path\n  iscsi-target: Add base MaxXmitDataSegmentLength code\n  target/file: Re-enable optional fd_buffered_io\u003d1 operation\n  ...\n"
    },
    {
      "commit": "9f0abc1554cfedf2f2391f6ee54ae319441cd1b9",
      "tree": "df8e72708ef8dceb983cf4b166193070cac256ad",
      "parents": [
        "944981c7e106af2aa004847e9177497856630980"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Oct 01 18:40:55 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Oct 02 14:16:20 2012 -0700"
      },
      "message": "tcm_vhost: Convert I/O path to use target_submit_cmd_map_sgls\n\nThis patch converts tcm_vhost to use target_submit_cmd_map_sgls() for\nI/O submission and mapping of pre-allocated SGL memory from incoming\nvirtio-scsi SGL memory -\u003e se_cmd descriptors.\n\nThis includes removing the original open-coded fabric uses of target\ncore callers to support transport_generic_map_mem_to_cmd() between\ntarget_setup_cmd_from_cdb() and transport_handle_cdb_direct() logic.\n\nIt also includes adding a handful of new tcm_vhost_cmnd member +\nassignments in vhost_scsi_allocate_cmd() used from cmwq process\ncontext I/O submission within tcm_vhost_submission_work()\n\n(v2: Use renamed target_submit_cmd_map_sgls)\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: Stefan Hajnoczi \u003cstefanha@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cecb46f194460d23cacf3b13593f9f5a4f7a0fed",
      "tree": "f30104682c085e0d0e3cbfea5bdecaedd89a209e",
      "parents": [
        "e10ce27f0df9eda7b36eb16e553f07a9e05c6bba"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 27 14:21:39 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 26 21:10:12 2012 -0400"
      },
      "message": "vhost_set_vring(): turn pollstart/pollstop into bool\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9c58b7ddd70dd7bfaac4ca87131f36d10aaba441",
      "tree": "2796f11c283904cef9b38f543e31fed3fea565c7",
      "parents": [
        "2ed772b7b9df0f459308b3cbececc0136076d09e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Aug 15 14:35:25 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 17:12:58 2012 -0700"
      },
      "message": "target: Simplify fabric sense data length handling\n\nEvery fabric driver has to supply a se_tfo-\u003eset_fabric_sense_len()\nmethod, just so iSCSI can return an offset of 2.  However, every fabric\ndriver is already allocating a sense buffer and passing it into the\ntarget core, either via transport_init_se_cmd() or target_submit_cmd().\n\nSo instead of having iSCSI pass the start of its sense buffer into the\ncore and then later tell the core to skip the first 2 bytes, it seems\neasier for iSCSI just to do the offset of 2 when it passes the sense\nbuffer into the core.  Then we can drop the se_tfo-\u003eset_fabric_sense_len()\neverywhere, and just add a couple of lines of code to iSCSI to set the\nsense data length to the beginning of the buffer right before it sends\nit over the network.\n\n(nab: Remove .set_fabric_sense_len usage from tcm_qla2xxx_npiv_ops +\n      change transport_get_sense_buffer to follow v3.6-rc6 code w/o\n      -\u003eset_fabric_sense_len usage)\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2ed772b7b9df0f459308b3cbececc0136076d09e",
      "tree": "4f97f1cbdb889b921d48799c085e5142e5aa001b",
      "parents": [
        "343d475d6176fa081918fcbf3fcb0b0143e28661"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Aug 15 14:35:24 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Sep 17 16:15:47 2012 -0700"
      },
      "message": "target: Remove unused target_core_fabric_ops.get_fabric_sense_len method\n\nThere are no callers of se_tfo-\u003eget_fabric_sense_len(), so we should\nstop having every fabric driver implement it.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6de7145ca3db231a84b7516a6cb25878da6ebb19",
      "tree": "3958d4cf730acc08fb9f9f1ad3be4cb132eca17e",
      "parents": [
        "74f4cf290918f05b6489aa732dfb08aa5606b9d6"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sat Aug 18 15:44:09 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 20 14:52:11 2012 -0700"
      },
      "message": "tcm_vhost: Fix vhost_scsi_target structure alignment\n\nHere TRANSPORT_IQN_LEN is 224, which is a multiple of 4.\nSince vhost_tpgt is 2 bytes and abi_version is 4, the total size would\nbe 230.  But gcc needs struct size be aligned to first field size, which\nis 4 bytes, so it pads the structure by extra 2 bytes to the total of\n232.\n\nThis padding is very undesirable in an ABI:\n- it can not be initialized easily\n- it can not be checked easily\n- it can leak information between kernel and userspace\n\nSimplest solution is probably just to make the padding\nexplicit.\n\n(v2: Add check for zero\u0027ed backend-\u003ereserved field for VHOST_SCSI_SET_ENDPOINT\n     and VHOST_SCSI_CLEAR_ENDPOINT ops as requested by MST)\n\nReported-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5b7517f81449067caf3d402e4abc6cd92096fe62",
      "tree": "e1680ebdaecdd2192a59bde8ebeac2e765154e9d",
      "parents": [
        "d0e27c88d795fb9647153063ec48051fd84e1731"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Aug 16 18:56:34 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Aug 16 19:03:13 2012 -0700"
      },
      "message": "tcm_vhost: Change vhost_scsi_target-\u003evhost_wwpn to char *\n\nThis patch changes the vhost_scsi_target-\u003evhost_wwpn[] type used\nby VHOST_SCSI_* ioctls to \u0027char *\u0027 as requested by Blue Swirl in\norder to match the latest QEMU vhost-scsi RFC-v3 userspace code.\n\nQueuing this up into target-pending/master for a -rc3 PULL.\n\nReported-by: Blue Swirl \u003cblauwirbel@gmail.com\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "101998f6fcd680ed12d85633b81504feb1cb0667",
      "tree": "e2d323c4e7a2f09cadd675d59e003330130c6563",
      "parents": [
        "f0e0e9bba5eed2086f6001be14f21566a49bed10"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jul 30 13:30:00 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Aug 16 17:33:40 2012 -0700"
      },
      "message": "tcm_vhost: Post-merge review changes requested by MST\n\nThis patch contains the post RFC-v5 (post-merge) changes, this includes:\n\n- Add locking comment\n- Move vhost_scsi_complete_cmd ahead of TFO callbacks in order to\n  drop forward declarations\n- Drop extra \u0027!\u003d NULL\u0027 usage in vhost_scsi_complete_cmd_work()\n- Change vhost_scsi_*_handle_kick() to use pr_debug\n- Fix possible race in vhost_scsi_set_endpoint() for vs-\u003evs_tpg checking\n  + assignment.\n- Convert tv_tpg-\u003etpg_vhost_count + -\u003etv_tpg_port_count from atomic_t -\u003e\n  int, and make sure reference is protected by -\u003etv_tpg_mutex.\n- Drop unnecessary vhost_scsi-\u003evhost_ref_cnt\n- Add \u0027err:\u0027 label for exception path in vhost_scsi_clear_endpoint()\n- Add enum for VQ numbers, add usage in vhost_scsi_open()\n- Add vhost_scsi_flush() + vhost_scsi_flush_vq() following\n  drivers/vhost/net.c\n- Add smp_wmb() + vhost_scsi_flush() call during vhost_scsi_set_features()\n- Drop unnecessary copy_from_user() usage with GET_ABI_VERSION ioctl\n- Add missing vhost_scsi_compat_ioctl() caller for vhost_scsi_fops\n- Fix function parameter definition first line to follow existing\n  vhost code style\n- Change \u0027vHost\u0027 usage -\u003e \u0027vhost\u0027 in handful of locations\n- Change -EPERM -\u003e -EBUSY usage for two failures in tcm_vhost_drop_nexus()\n- Add comment for tcm_vhost_workqueue in tcm_vhost_init()\n- Make GET_ABI_VERSION return \u0027int\u0027 + add comment in tcm_vhost.h\n\nReported-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Zhi Yong Wu \u003cwuzhy@cn.ibm.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f0e0e9bba5eed2086f6001be14f21566a49bed10",
      "tree": "9b27b7e2162d1707e444267630cc77c95542e92c",
      "parents": [
        "d9875690d9b89a866022ff49e3fcea892345ad92"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Jul 30 13:19:07 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Aug 16 17:33:28 2012 -0700"
      },
      "message": "tcm_vhost: Fix incorrect IS_ERR() usage in vhost_scsi_map_iov_to_sgl\n\nFix up a new coccinelle warnings reported by Fengguang Wu + Intel\n0-DAY kernel build testing backend:\n\ndrivers/vhost/tcm_vhost.c:537:23-29: ERROR: allocation function on line\n533 returns NULL not ERR_PTR on failure\n\nvim +537 drivers/vhost/tcm_vhost.c\n   534          if (!sg)\n   535                  return -ENOMEM;\n   536          pr_debug(\"%s sg %p sgl_count %u is_err %ld\\n\", __func__,\n \u003e 537                 sg, sgl_count, IS_ERR(sg));\n   538          sg_init_table(sg, sgl_count);\n   539\n   540          tv_cmd-\u003etvc_sgl \u003d sg;\n\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "057cbf49a1f08297877e46c82f707b1bfea806a8",
      "tree": "44b0d6a8637f61532bf36a9cdee4c62f69faed27",
      "parents": [
        "bdc0077af574800d24318b6945cf2344e8dbb050"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jul 18 14:31:32 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Jul 29 13:49:10 2012 -0700"
      },
      "message": "tcm_vhost: Initial merge for vhost level target fabric driver\n\nThis patch adds the initial code for tcm_vhost, a Vhost level TCM\nfabric driver for virtio SCSI initiators into KVM guest.\n\nThis code is currently up and running on v3.5-rc2 host+guest\nfrom target-pending/for-next-merge.\n\nUsing tcm_vhost requires Zhi\u0027s -\u003e Stefan -\u003e nab\u0027s qemu vhost-scsi tree here:\n\n  http://git.kernel.org/?p\u003dvirt/kvm/nab/qemu-kvm.git;a\u003dshortlog;h\u003drefs/heads/vhost-scsi\n\n--\n\nChangelog v4 -\u003e v5:\n\n  Expose ABI version via VHOST_SCSI_GET_ABI_VERSION + use Rev 0 as\n  starting point for v3.6-rc code (Stefan + ALiguori + nab)\n  Convert vhost_scsi_handle_vq() to vq_err() (nab + MST)\n  Minor style fixes from checkpatch (nab)\n\nChangelog v3 -\u003e v4:\n\n  Rename vhost_vring_target -\u003e vhost_scsi_target (mst + nab)\n  Use TRANSPORT_IQN_LEN in vhost_scsi_target-\u003evhost_wwpn[] def (nab)\n  Move back to drivers/vhost/, and just use drivers/vhost/Kconfig.tcm (mst)\n  Move TCM_VHOST related ioctl defines from include/linux/vhost.h -\u003e\n  drivers/vhost/tcm_vhost.h as requested by MST (nab)\n  Move Kbuild.tcm include from drivers/staging -\u003e drivers/vhost/, and\n  just use \u0027if STAGING\u0027 around \u0027source drivers/vhost/Kbuild.tcm\u0027\n\nChangelog v2 -\u003e v3:\n\n  Unlock on error in tcm_vhost_drop_nexus() (DanC)\n  Fix strlen() doesn\u0027t count the terminator (DanC)\n  Call kfree() on an error path (DanC)\n  Convert tcm_vhost_write_pending to use target_execute_cmd (hch + nab)\n  Fix another strlen() off by one in tcm_vhost_make_tport (DanC)\n  Add option under drivers/staging/Kconfig, and move to drivers/vhost/tcm/\n  as requested by MST (nab)\n\nChangelog v1 -\u003e v2:\n\n  Fix tv_cmd completion -\u003e release SGL memory leak (nab)\n  Fix sparse warnings for static variable usage ((Fengguang Wu)\n  Fix sparse warnings for min() typing + printk format specs (Fengguang Wu)\n  Convert to cmwq submission for I/O dispatch (nab + hch)\n\nChangelog v0 -\u003e v1:\n\n  Merge into single source + header file, and move to drivers/vhost/\n\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Zhi Yong Wu \u003cwuzhy@cn.ibm.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "163049aefdc04323a2d17ec9f2862027b43b0502",
      "tree": "ded687502545cabfd46676fe3bcadca6acbd3240",
      "parents": [
        "0dd05a3b60ddf0e216fbd9e5116a5273966fd9db"
      ],
      "author": {
        "name": "Stefan Hajnoczi",
        "email": "stefanha@gmail.com",
        "time": "Sat Jul 21 06:55:37 2012 +0000"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Jul 22 01:22:23 2012 +0300"
      },
      "message": "vhost: make vhost work queue visible\n\nThe vhost work queue allows processing to be done in vhost worker thread\ncontext, which uses the owner process mm.  Access to the vring and guest\nmemory is typically only possible from vhost worker context so it is\nuseful to allow work to be queued directly by users.\n\nCurrently vhost_net only uses the poll wrappers which do not expose the\nwork queue functions.  However, for tcm_vhost (vhost_scsi) it will be\nnecessary to queue custom work.\n\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nCc: Zhi Yong Wu \u003cwuzhy@cn.ibm.com\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "0dd05a3b60ddf0e216fbd9e5116a5273966fd9db",
      "tree": "43ff17c3511b5cdbb3c8ccc00d24005c3e07aaf5",
      "parents": [
        "186e868786f97c8026f0a81400b451ace306b3a4"
      ],
      "author": {
        "name": "Stefan Hajnoczi",
        "email": "stefanha@linux.vnet.ibm.com",
        "time": "Sat Jul 21 06:55:36 2012 +0000"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Jul 22 01:21:53 2012 +0300"
      },
      "message": "vhost: Separate vhost-net features from vhost features\n\nIn order for other vhost devices to use the VHOST_FEATURES bits the\nvhost-net specific bits need to be moved to their own VHOST_NET_FEATURES\nconstant.\n\n(Asias: Update drivers/vhost/test.c to use VHOST_NET_FEATURES)\n\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@linux.vnet.ibm.com\u003e\nCc: Zhi Yong Wu \u003cwuzhy@cn.ibm.com\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nCc: Asias He \u003casias@redhat.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@risingtidesystems.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "d7ffde35e31a81100d2d0d2c4013cbf527bb32ea",
      "tree": "0939e0cabb626b4258e53a08f7a7713d534dfab5",
      "parents": [
        "57efd44c8cad440fb00ef8078cb018ab2f221373"
      ],
      "author": {
        "name": "Jens Freimann",
        "email": "jfrei@linux.vnet.ibm.com",
        "time": "Tue Jun 26 00:59:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 26 21:10:56 2012 -0700"
      },
      "message": "vhost: use USER_DS in vhost_worker thread\n\nOn some architectures address spaces are set up in a way that this is\nnot necessary to work properly but on some others (like s390) it is.\nMake sure we operate on the user address space to allow copy_xxx_user()\nfrom the vhost_worker() thread by setting it explicitly before calling\nuse_mm() and revert it after unuse_mm().\n\nSigned-off-by: Jens Freimann \u003cjfrei@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "028940342a906db8da014a7603a0deddc2c323dd",
      "tree": "688dbc38a3e218f2493d311b1d70a67668837347",
      "parents": [
        "be3eed2e96340d3c7a4d1ea1d63e7bd6095d1e34",
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "c53cff5e42a06b81495983bd01741b9a954f11f0",
      "tree": "ede51285061a64bf44cfacfd93580d9707fd32b9",
      "parents": [
        "13a8e0c8cdb43982372bd6c65fb26839c8fd8ce9"
      ],
      "author": {
        "name": "Basil Gor",
        "email": "basil.gor@gmail.com",
        "time": "Thu May 03 22:55:23 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 11 18:16:57 2012 -0400"
      },
      "message": "vhost-net: fix handle_rx buffer size\n\nTake vlan header length into account, when vlan id is stored as\nvlan_tci. Otherwise tagged packets coming from macvtap will be\ntruncated.\n\nSigned-off-by: Basil Gor \u003cbasil.gor@gmail.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c70aa540c7a9f67add11ad3161096fb95233aa2e",
      "tree": "c02be13561a4a9347efd42cb6379950e5e277025",
      "parents": [
        "c8fb217af57c6c232af3517d3115d2af4ce9900e"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed May 02 11:42:54 2012 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 02 18:22:25 2012 +0300"
      },
      "message": "vhost: zerocopy: poll vq in zerocopy callback\n\nWe add used and signal guest in worker thread but did not poll the virtqueue\nduring the zero copy callback. This may lead the missing of adding and\nsignalling during zerocopy. Solve this by polling the virtqueue and let it\nwakeup the worker during callback.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "c8fb217af57c6c232af3517d3115d2af4ce9900e",
      "tree": "c570166201d18f7672178e37b4f8fa6689ea8448",
      "parents": [
        "dbf34207c62bdec16b49721d119647c470a3443c"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed May 02 11:42:41 2012 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 02 18:22:24 2012 +0300"
      },
      "message": "vhost_net: zerocopy: adding and signalling immediately when fully copied\n\nWhen a packet were fully copied in zerocopy, we don\u0027t wait for the DMA done to\nmark the done flag, so after the packet were passed to lower device, we need to\nadd used and signal guest immediately.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "dbf34207c62bdec16b49721d119647c470a3443c",
      "tree": "156779e1562f655cee6f383474d44e8960a818de",
      "parents": [
        "c460f0573941cb28dc7f35595679c3508f0ce41f"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed May 02 11:42:32 2012 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 02 18:22:24 2012 +0300"
      },
      "message": "vhost_net: re-poll only on EAGAIN or ENOBUFS\n\nCurrently, we restart tx polling unconditionally when sendmsg()\nfails. This would cause unnecessary wakeups of vhost wokers and waste\ncpu utlization when evil userspace(guest driver) is able to hit EFAULT or\nEINVAL.\n\nThe polling is only needed when the socket send buffer were exceeded or not\nenough memory. So fix this by restarting polling only when sendmsg() returns\nEAGAIN/ENOBUFS.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "c460f0573941cb28dc7f35595679c3508f0ce41f",
      "tree": "9d25dc66fdc5030ce551c6d2393ee1c23932f4b3",
      "parents": [
        "b92946e2919134ebe2a4083e4302236295ea2a73"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed May 02 11:42:23 2012 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 02 18:22:22 2012 +0300"
      },
      "message": "vhost_net: zerocopy: fix possible NULL pointer dereference of vq-\u003ebufs\n\nWhen we want to disable vhost_net backend while there\u0027s a tx work, a possible\nNULL pointer defernece may happen we we try to deference the vq-\u003ebufs after\nvhost_net_set_backend() assign a NULL to it.\n\nAs suggested by Michael, fix this by checking the vq-\u003ebufs instead of\nvhost_sock_zcopy().\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "7e296295437d3e54662e9e217fb20330e3c38f6f",
      "tree": "ff3385c8a7615f9fa1c8fe1b6bc0406559afe62f",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c",
        "d135c522f1234f62e81be29cebdf59e9955139ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:02:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 22 21:02:57 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Fix namespace init and cleanup in phonet to fix some oopses, from\n    Eric W. Biederman.\n\n 2) Missing kfree_skb() in AF_KEY, from Julia Lawall.\n\n 3) Refcount leak and source address handling fix in l2tp from James\n    Chapman.\n\n 4) Memory leak fix in CAIF from Tomasz Gregorek.\n\n 5) When routes are cloned from ipv6 addrconf routes, we don\u0027t process\n    expirations properly.  Fix from Gao Feng.\n\n 6) Fix panic on DMA errors in atl1 driver, from Tony Zelenoff.\n\n 7) Only enable interrupts in 8139cp driver after we\u0027ve registered the\n    IRQ handler.  From Jason Wang.\n\n 8) Fix too many reads of KS_CIDER register in ks8851 during probe,\n    fixing crashes on spurious interrupts.  From Matt Renzelmann.\n\n 9) Missing include in ath5k driver and missing iounmap on probe\n    failure, from Jonathan Bither.\n\n10) Fix RX packet handling in smsc911x driver, from Will Deacon.\n\n11) Fix ixgbe WoL on fiber by leaving the laser on during shutdown.\n\n12) ks8851 needs MAX_RECV_FRAMES increased otherwise the internal MAC\n    buffers are easily overflown.  Fix from Davide Cimingahi.\n\n13) Fix memory leaks in peak_usb CAN driver, from Jesper Juhl.\n\n14) gred packet scheduler can dump in WRED more when doing a netlink\n    dump.  Fix from David Ward.\n\n15) Fix MTU in USB smsc75xx driver, from Stephane Fillod.\n\n16) Dummy device needs -\u003endo_uninit handler to properly handle\n    -\u003endo_init failures.  From Hiroaki SHIMODA.\n\n17) Fix TX fragmentation in ath9k driver, from Sujith Manoharan.\n\n18) Missing RTNL lock in ixgbe PM resume, from Benjamin Poirier.\n\n19) Missing iounmap in farsync WAN driver, from Julia Lawall.\n\n20) With LRO/GRO, tcp_grow_window() is easily tricked into not growing\n    the receive window properly, and this hurts performance.  Fix from\n    Eric Dumazet.\n\n21) Network namespace init failure can leak net_generic data, fix from\n    Julian Anastasov.\n\n22) Fix skb_over_panic due to mis-accounting in TCP for partially ACK\u0027d\n    SKBs.  From Eric Dumazet.\n\n23) New IDs for qmi_wwan driver, from Bjørn Mork.\n\n24) Fix races in ax25_exit(), from Eric W. Biederman.\n\n25) IPV6 TCP doesn\u0027t handle TCP_MAXSEG socket option properly, copy over\n    logic from the IPV4 side.  From Neal Cardwell.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (59 commits)\n  tcp: fix TCP_MAXSEG for established IPv6 passive sockets\n  drivers/net: Do not free an IRQ if its request failed\n  drop_monitor: allow more events per second\n  ks8851: Fix request_irq/free_irq mismatch\n  net/hyperv: Adding cancellation to ensure rndis filter is closed\n  ks8851: Fix mutex deadlock in ks8851_net_stop()\n  net ax25: Reorder ax25_exit to remove races.\n  icplus: fix interrupt for IC+ 101A/G and 1001LF\n  net: qmi_wwan: support Sierra Wireless MC77xx devices in QMI mode\n  bnx2x: off by one in bnx2x_ets_e3b0_sp_pri_to_cos_set()\n  ksz884x: don\u0027t copy too much in netdev_set_mac_address()\n  tcp: fix retransmit of partially acked frames\n  netns: do not leak net_generic data on failed init\n  net/sock.h: fix sk_peek_off kernel-doc warning\n  tcp: fix tcp_grow_window() for large incoming frames\n  drivers/net/wan/farsync.c: add missing iounmap\n  davinci_mdio: Fix MDIO timeout check\n  ipv6: clean up rt6_clean_expires\n  ipv6: fix rt6_update_expires\n  arcnet: rimi: Fix device name in debug output\n  ...\n"
    },
    {
      "commit": "ca8f4fb21d08747013cce9cf1840aa5bfc31f2d8",
      "tree": "f18de0412ec64d7aa4a26ff85d0ad1c57263dbff",
      "parents": [
        "9a5d2bd99e0dfe9a31b3c160073ac445ba3d773f"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Apr 09 00:24:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 13:09:19 2012 -0400"
      },
      "message": "skbuff: struct ubuf_info callback type safety\n\nThe skb struct ubuf_info callback gets passed struct ubuf_info\nitself, not the arg value as the field name and the function signature\nseem to imply. Rename the arg field to ctx to match usage,\nadd documentation and change the callback argument type\nto make usage clear and to have compiler check correctness.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e7045b010bdb56abbfe5714e8debf03a024c016",
      "tree": "d78e28d64d6930e9d169276d3cfc4ac6077ff4d4",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Zhi Yong Wu",
        "email": "wuzhy@linux.vnet.ibm.com",
        "time": "Mon Apr 09 10:42:13 2012 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Apr 12 10:35:42 2012 +0300"
      },
      "message": "tools/virtio: fix up vhost/test module build\n\ncommit ea5d404655ba3b356d0c06d6a3c4f24112124522\nbroke build for the vhost test module used\nby tools/virtio. Fix it up.\n\nSigned-off-by: Zhi Yong Wu \u003cwuzhy@linux.vnet.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "f1e84eb3bba3d6a5691ce1832ff7e550768560d8",
      "tree": "aadec1eb55b0281cba4701b85835b2bc4502a9cc",
      "parents": [
        "8c6b0865aa80c4f30baa343d3d707389f738af48",
        "ea5d404655ba3b356d0c06d6a3c4f24112124522"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 14:46:48 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 14:46:48 2012 -0400"
      },
      "message": "Merge branch \u0027vhost-net\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "c6daa7ffa834c850b3dbb38af6980415caef680d",
      "tree": "d41226b04d4a06ac613fdd7c4593ec196b803752",
      "parents": [
        "ca747d610b765f184e0662088dd9aeecf9a17822"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:26 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:21 2012 +0800"
      },
      "message": "vhost: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "ea5d404655ba3b356d0c06d6a3c4f24112124522",
      "tree": "092a40fd222d3565ca4b5188c85dba65c1305583",
      "parents": [
        "d550dda192c1bd039afb774b99485e88b70d7cb8"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Nov 27 19:05:58 2011 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Feb 28 09:13:22 2012 +0200"
      },
      "message": "vhost: fix release path lockdep checks\n\nWe shouldn\u0027t hold any locks on release path. Pass a flag to\nvhost_dev_cleanup to use the lockdep info correctly.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\n"
    },
    {
      "commit": "d550dda192c1bd039afb774b99485e88b70d7cb8",
      "tree": "1376f2daf6be6d170a57e8e9b27411cf2fab6191",
      "parents": [
        "b17d5c6e190f3d328aae0444f8b93d58d0015714"
      ],
      "author": {
        "name": "Nadav Har\u0027El",
        "email": "nyh@math.technion.ac.il",
        "time": "Mon Feb 27 15:07:29 2012 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Feb 28 09:13:19 2012 +0200"
      },
      "message": "vhost: don\u0027t forget to schedule()\n\nThis is a tiny, but important, patch to vhost.\n\nVhost\u0027s worker thread only called schedule() when it had no work to do, and\nit wanted to go to sleep. But if there\u0027s always work to do, e.g., the guest\nis running a network-intensive program like netperf with small message sizes,\nschedule() was *never* called. This had several negative implications (on\nnon-preemptive kernels):\n\n 1. Passing time was not properly accounted to the \"vhost\" process (ps and\n    top would wrongly show it using zero CPU time).\n\n 2. Sometimes error messages about RCU timeouts would be printed, if the\n    core running the vhost thread didn\u0027t schedule() for a very long time.\n\n 3. Worst of all, a vhost thread would \"hog\" the core. If several vhost\n    threads need to share the same core, typically one would get most of the\n    CPU time (and its associated guest most of the performance), while the\n    others hardly get any work done.\n\nThe trivial solution is to add\n\n\tif (need_resched())\n\t\tschedule();\n\nAfter doing every piece of work. This will not do the heavy schedule() all\nthe time, just when the timer interrupt decided a reschedule is warranted\n(so need_resched returns true).\n\nThanks to Abel Gordon for this patch.\n\nSigned-off-by: Nadav Har\u0027El \u003cnyh@il.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "7c7c7f01cc5e3e423120a4848a73dd5e4586f2f9",
      "tree": "bdd15c5e435b1a380adbf5c4a7d05e7ef44d7403",
      "parents": [
        "252c3d84ed398b090ac2dace46fc6faa6cfaea99"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 11 19:30:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 13 10:12:23 2012 -0800"
      },
      "message": "vhost-net: add module alias (v2.1)\n\nBy adding some module aliases, programs (or users) won\u0027t have to explicitly\ncall modprobe. Vhost-net will always be available if built into the kernel.\nIt does require assigning a permanent minor number for depmod to work.\n\nAlso:\n  - use C99 style initialization.\n  - add missing entry in documentation for loop-control\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e380825ab3f5176f65306c4ac119fd23634ce03",
      "tree": "4fdf3f2609da5ee3222103682f3ce10c976353d0",
      "parents": [
        "c047e5f3170c2595e66ed67f87cec01afd717212"
      ],
      "author": {
        "name": "Shirley Ma",
        "email": "mashirle@us.ibm.com",
        "time": "Wed Jul 20 10:23:12 2011 -0700"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 21 10:48:27 2011 +0300"
      },
      "message": "vhost: handle wrap around in # of bufs math\n\nThe meth for calculating the # of outstanding buffers gives\nincorrect results when vq-\u003eupend_idx wraps around zero.\nFix that.\n\nSigned-off-by: Shirley Ma \u003cxma@us.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "c047e5f3170c2595e66ed67f87cec01afd717212",
      "tree": "5e48ab84e14e4380b8409e646f086143c1769f5d",
      "parents": [
        "b834226b04d6fb51178a64e98872856986c71474"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 20 13:41:31 2011 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 21 10:23:31 2011 +0300"
      },
      "message": "vhost-net: update used ring on backend change\n\nOn backend change, we flushed out outstanding skbs\nbut forgot to update the used ring, so that\ndone entries were left in the ubuf_info ring.\nAs a result we lose heads or complete incorrect ones,\ncrashing the guest or leaking memory.\nFix by updating the used ring.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "b834226b04d6fb51178a64e98872856986c71474",
      "tree": "61bc6a86691586b490210029aeb603969d97e399",
      "parents": [
        "75fd9edc1054a1fa1d1411adec368dadf68e764e"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 19 17:15:43 2011 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 19 17:17:28 2011 +0300"
      },
      "message": "vhost: optimize interrupt enable/disable\n\nAs we now only update used ring after enabling\nthe backend, we can write flags with __put_user:\nas that\u0027s done on data path, it matters.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "75fd9edc1054a1fa1d1411adec368dadf68e764e",
      "tree": "d1a54e4bfb7a3d000c2a70465e54dc155bb6b475",
      "parents": [
        "2723feaa8ec64f677f644c9189ed87d83f5559c1"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 19 13:19:18 2011 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 19 13:28:34 2011 +0300"
      },
      "message": "vhost: fix zcopy reference counting\n\nFix get/put refcount imbalance with zero copy,\nwhich caused qemu to hang forever on guest driver unload.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "2723feaa8ec64f677f644c9189ed87d83f5559c1",
      "tree": "23ecb435e42dac4614c5470935e813cf91f74c5d",
      "parents": [
        "f59281dafb832b161133743fcf3dc29051e6fdb8"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Tue Jun 21 18:04:38 2011 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 19 13:28:34 2011 +0300"
      },
      "message": "vhost: set log when updating used flags or avail event\n\nWe need to log writes when updating used flags and avail event\nfields.  Otherwise the guest may see a stale value after migration and\nmiss notifying the host.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "f59281dafb832b161133743fcf3dc29051e6fdb8",
      "tree": "3eacc9fd60396174a94c8bd02326e930ff94351d",
      "parents": [
        "81fc70d86527a1450560709500ca5f52e661da1f"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Tue Jun 21 18:04:27 2011 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 19 13:28:34 2011 +0300"
      },
      "message": "vhost: init used ring after backend was set\n\nMove the used ring initialization after backend was set. This\nmakes it possible to disable the backend and tweak the used ring,\nthen restart. This will also make it possible to log the used ring\nwrite correctly.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "bab632d69ee48a106e779b60cc01adfe80a72807",
      "tree": "56b8bd3df85cfee8e425abe18963e5aad015e2fa",
      "parents": [
        "5c74501f76360ce6f410730b9b5e5976f38e8504"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jul 18 03:48:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 10:42:32 2011 -0700"
      },
      "message": "vhost: vhost TX zero-copy support\n\n\u003eFrom: Shirley Ma \u003cmashirle@us.ibm.com\u003e\n\nThis adds experimental zero copy support in vhost-net,\ndisabled by default. To enable, set\nexperimental_zcopytx module option to 1.\n\nThis patch maintains the outstanding userspace buffers in the\nsequence it is delivered to vhost. The outstanding userspace buffers\nwill be marked as done once the lower device buffers DMA has finished.\nThis is monitored through last reference of kfree_skb callback. Two\nbuffer indices are used for this purpose.\n\nThe vhost-net device passes the userspace buffers info to lower device\nskb through message control. DMA done status check and guest\nnotification are handled by handle_tx: in the worst case is all buffers\nin the vq are in pending/done status, so we need to notify guest to\nrelease DMA done buffers first before we get any new buffers from the\nvq.\n\nOne known problem is that if the guest stops submitting\nbuffers, buffers might never get used until some\nfurther action, e.g. device reset. This does not\nseem to affect linux guests.\n\nSigned-off-by: Shirley \u003cxma@us.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ea8cf89e19aeb596b818ee5f2bec8a8b0586b60",
      "tree": "3303edab83f45265f2e9d05a5ef59f67e758b5f7",
      "parents": [
        "a5c262c5fd83ece01bd649fb08416c501d4c59d7"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri May 20 02:10:54 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:15 2011 +0930"
      },
      "message": "vhost: support event index\n\nSupport the new event index feature. When acked,\nutilize it to reduce the # of interrupts sent to the guest.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "61516587513c84ac26e68e3ab008dc6e965d0378",
      "tree": "b901d64de6588e2a50b0ac6e6855805de62eb2c8",
      "parents": [
        "570aa13a5dbea9b905b4cd6315aa6e1b3a9fd2f8"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rob@landley.net",
        "time": "Fri May 06 09:27:36 2011 -0700"
      },
      "committer": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 06 09:27:55 2011 -0700"
      },
      "message": "Correct occurrences of\n- Documentation/kvm/ to Documentation/virtual/kvm\n- Documentation/uml/ to Documentation/virtual/uml\n- Documentation/lguest/ to Documentation/virtual/lguest\nthroughout the kernel source tree.\n\nSigned-off-by: Rob Landley \u003crob@landley.net\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "de4d768a428d9de943dd6dc82bcd61742955cb6e",
      "tree": "68b0d3c4b3ce4158664e65c2deb9bf59d3a5e028",
      "parents": [
        "783e3988544b94ff3918666b9f36866ac547fba1"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Mar 13 23:00:52 2011 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Mar 13 23:08:19 2011 +0200"
      },
      "message": "vhost-net: remove unlocked use of receive_queue\n\nUse of skb_queue_empty(\u0026sock-\u003esk-\u003esk_receive_queue)\nwithout taking the sk_receive_queue.lock is unsafe\nor useless. Take it out.\n\nReported-by:  Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "783e3988544b94ff3918666b9f36866ac547fba1",
      "tree": "e05c17f7e368490e3d34750cc2f6b8e2092ef1e5",
      "parents": [
        "94249369e9930276e30087da205349a55478cbb5"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Mon Jan 17 16:11:17 2011 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Mar 13 23:08:04 2011 +0200"
      },
      "message": "vhost: lock receive queue, not the socket\n\nvhost takes a sock lock to try and prevent\nthe skb from being pulled from the receive queue\nafter skb_peek.  However this is not the right lock to use for that,\nsk_receive_queue.lock is. Fix that up.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "94249369e9930276e30087da205349a55478cbb5",
      "tree": "b5040c7bb90bbd772f0692c7f6a367d5ce758f37",
      "parents": [
        "cfbdab951369f15de890597530076bf0119361be"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Mon Jan 17 16:11:08 2011 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Mar 13 17:00:10 2011 +0200"
      },
      "message": "vhost-net: Unify the code of mergeable and big buffer handling\n\nCodes duplication were found between the handling of mergeable and big\nbuffers, so this patch tries to unify them. This could be easily done\nby adding a quota to the get_rx_bufs() which is used to limit the\nnumber of buffers it returns (for mergeable buffer, the quota is\nsimply UIO_MAXIOV, for big buffers, the quota is just 1), and then the\nprevious handle_rx_mergeable() could be resued also for big buffers.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "cfbdab951369f15de890597530076bf0119361be",
      "tree": "f6abfd1324d7d57784545f9dda4e4fbf60570053",
      "parents": [
        "fcc042a2806064ffcaed7a0c5cb710eca0e99108"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Mon Jan 17 16:10:59 2011 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Mar 13 16:57:30 2011 +0200"
      },
      "message": "vhost-net: check the support of mergeable buffer outside the receive loop\n\nNo need to check the support of mergeable buffer inside the recevie\nloop as the whole handle_rx()_xx is in the read critical region.  So\nthis patch move it ahead of the receiving loop.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "fcc042a2806064ffcaed7a0c5cb710eca0e99108",
      "tree": "74546d2639c7cb046b7bac0039f4d6f2a71efeda",
      "parents": [
        "d47effe1be0c4fc983306a9c704632e3a087eed8"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Mar 06 13:33:49 2011 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Mar 08 18:03:05 2011 +0200"
      },
      "message": "vhost: copy_from_user -\u003e __copy_from_user\n\ncopy_from_user is pretty high on perf top profile,\nreplacing it with __copy_from_user helps.\nIt\u0027s also safe because we do access_ok checks during setup.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "d47effe1be0c4fc983306a9c704632e3a087eed8",
      "tree": "d0705237c61d02734e79c02440bad7a439b6ac68",
      "parents": [
        "1fc050a13473348f5c439de2bb41c8e92dba5588"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue Mar 01 17:06:37 2011 +0530"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Mar 08 18:02:47 2011 +0200"
      },
      "message": "vhost: Cleanup vhost.c and net.c\n\nMinor cleanup of vhost.c and net.c to match coding style.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "5e18247b02d60a1ea4bf98c05e139461ca9aec64",
      "tree": "ccb92d5f599413e138fd148594c04d9f3aa43701",
      "parents": [
        "fca540ab5f4718c6133f71f7be1793066008bf89"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jan 18 13:04:43 2011 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Feb 01 16:48:46 2011 +0200"
      },
      "message": "vhost: rcu annotation fixup\n\nWhen built with rcu checks enabled, vhost triggers\nbogus warnings as vhost features are read without\ndev-\u003emutex sometimes, and private pointer is read\nwith our kind of rcu where work serves as a\nread side critical section.\n\nFixing it properly is not trivial.\nDisable the warnings by stubbing out the checks for now.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "0174b0c30a9de25dcb0d3049defcfad0c2947a36",
      "tree": "c7d4430ea5f83b52c9074df6770ad6281735bbc3",
      "parents": [
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jan 10 10:03:20 2011 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jan 10 10:03:39 2011 +0200"
      },
      "message": "vhost: fix signed/unsigned comparison\n\nTo detect that a sequence number is done, we are doing math on unsigned\nintegers so the result is unsigned too. Not what was intended for the \u003c\u003d\ncomparison. The result is user stuck forever in flush call.\nConvert to int to fix this.\n\nFurther, get rid of ({}) to make code clearer.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "9fe146aef44afe5ec677d8150b6ae94e09b773f7",
      "tree": "25342064d136f582e57c6c2ebf4ec62dc8c71576",
      "parents": [
        "6389aa73ab8c15084fce18307a8e198eaff818da",
        "4e53f78e5b06c073a5c10814c72e98c1ca8a9f10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 14 11:33:23 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 14 11:33:23 2010 -0800"
      },
      "message": "Merge branch \u0027vhost-net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "71ccc212e5b28dfcc870b6db6589c2df264fdc6a",
      "tree": "d9e98da011381c02b4ccae592509836aed2f0fcd",
      "parents": [
        "28831ee60b79bed50958c9cb0d2e76cdc98406f9"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Nov 29 19:09:01 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Dec 09 16:00:21 2010 +0200"
      },
      "message": "vhost test module\n\nThis adds a test module for vhost infrastructure.\nIntentionally not tied to kbuild to prevent people\nfrom installing and loading it accidentally.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "28831ee60b79bed50958c9cb0d2e76cdc98406f9",
      "tree": "424185751ce16ac30d6374a6aed3d50dc17a924d",
      "parents": [
        "3bf9be40ff76b6df136f14a497167c116b2b3c53"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Nov 29 10:22:10 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Dec 09 16:00:10 2010 +0200"
      },
      "message": "vhost: better variable name in logging\n\nWe really store a page offset in write_address,\nso rename it write_page to avoid confusion.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "3bf9be40ff76b6df136f14a497167c116b2b3c53",
      "tree": "27b8f715ea2de959bb0c06ff9b99e408a0942182",
      "parents": [
        "a290aec88a9c4747353ea7aa9b2569bd61297c3c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Nov 29 10:19:07 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Dec 09 15:39:17 2010 +0200"
      },
      "message": "vhost: correctly set bits of dirty pages\n\nFix two bugs in dirty page logging:\nWhen counting pages we should increase address by 1 instead of\nVHOST_PAGE_SIZE. Make log_write() correctly process requests\nthat cross pages with write_address not starting at page boundary.\n\nReported-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "a290aec88a9c4747353ea7aa9b2569bd61297c3c",
      "tree": "c9d46a48b3f6f8f6986e746f54683241dc0b287c",
      "parents": [
        "bf5e0bd27f7cbaca4d52ae395bbf3715775efebd"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Mon Nov 29 13:48:40 2010 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Dec 09 15:39:15 2010 +0200"
      },
      "message": "vhost: fix typos in comment\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "bf5e0bd27f7cbaca4d52ae395bbf3715775efebd",
      "tree": "a08c3157e89f1c569dcdaf0e3d4c67d0a1b4913b",
      "parents": [
        "8b7347aab6865ae8a2e5a8b0f1deea12da3d3aff"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Nov 14 17:33:25 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Dec 09 15:39:13 2010 +0200"
      },
      "message": "vhost: remove unused include\n\nvhost.c does not need to know about sockets,\ndon\u0027t include sock.h\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "11cd1a8b8cad1acfc140d9acce93762a9c140b20",
      "tree": "7714d74c5525950d73ed7e2f80f687a8b62ed85f",
      "parents": [
        "a27e13d370415add3487949c60810e36069a23a6"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Nov 14 17:31:52 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 25 11:29:16 2010 +0200"
      },
      "message": "vhost/net: fix rcu check usage\n\nIncorrect rcu check was used as rcu isn\u0027t done\nunder mutex here. Force check to 1 for now,\nto stop it from complaining.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "8b7347aab6865ae8a2e5a8b0f1deea12da3d3aff",
      "tree": "3a4b901beefa1bc4f8ed5fb5efc33bf4adba8240",
      "parents": [
        "dfe5ac5b18be5b10d01a17e734a9905c0def6088"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Sep 19 15:56:30 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 04 13:22:12 2010 +0200"
      },
      "message": "vhost: get/put_user -\u003e __get/__put_user\n\nWe do access_ok checks on all ring values on an ioctl,\nso we don\u0027t need to redo them on each access.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "dfe5ac5b18be5b10d01a17e734a9905c0def6088",
      "tree": "c5dab52cb8c8aeb2a37546f8ff8ba340412901c7",
      "parents": [
        "64e1c80748afca3b4818ebb232a9668bf529886d"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Sep 21 14:18:01 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 04 13:22:11 2010 +0200"
      },
      "message": "vhost: copy_to_user -\u003e __copy_to_user\n\nWe do access_ok checks at setup time, so we don\u0027t need to\nredo them on each access.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "64e1c80748afca3b4818ebb232a9668bf529886d",
      "tree": "80f0be16eaed7b4561c54e3f4a26138848b816f4",
      "parents": [
        "533a19b4b88fcf81da3106b94f0ac4ac8b33a248"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Oct 06 15:34:45 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 04 13:22:11 2010 +0200"
      },
      "message": "vhost-net: batch use/unuse mm\n\nMove use/unuse mm to vhost.c which makes it possible to batch these\noperations.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "533a19b4b88fcf81da3106b94f0ac4ac8b33a248",
      "tree": "b594af58ac551f0ac19bfb87ea2d433deaf6dcff",
      "parents": [
        "3fcedec752108de5d99b9f0373ff880756a1e87d"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Oct 06 15:34:38 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 04 13:22:10 2010 +0200"
      },
      "message": "vhost: put mm after thread stop\n\nmakes it possible to batch use/unuse mm\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "3fcedec752108de5d99b9f0373ff880756a1e87d",
      "tree": "ba080912db219cb06c8fb066d74d95bce8d78d44",
      "parents": [
        "229aebb873e29726b91e076161649cf45154b0bf"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Oct 26 12:25:32 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Oct 26 20:39:30 2010 +0200"
      },
      "message": "drivers/vhost/vhost.c: delete double assignment\n\nDelete successive assignments to the same location.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression i;\n@@\n\n*i \u003d ...;\n i \u003d ...;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "2198a10b501fd4443430cb17e065a9e859cc58c9",
      "tree": "87f3781d293da0f8f8f61615905eb7bf62b7c128",
      "parents": [
        "9941fb62762253774cc6177d0b9172ece5133fe1",
        "db5a753bf198ef7a50e17d2ff358adf37efe8648"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:43:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:43:05 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/dev.c\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "6d97e55f7172303082850c1de085d06fc1e57d17",
      "tree": "f1a309c0e0e4f4cd362adbd1cf4aca5d3a983535",
      "parents": [
        "b0057c51db66c5f0f38059f242c57d61c4741d89"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Oct 11 19:24:19 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Oct 12 14:32:28 2010 +0200"
      },
      "message": "vhost: fix return code for log_access_ok()\n\naccess_ok() returns 1 if it\u0027s OK otherwise it should return 0.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4f8f217b8a5d5bd02af979650418dca4caec472",
      "tree": "af047bfa9729c975e24cb7624107574e884d3a57",
      "parents": [
        "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
        "773e3f93577ffb493fb7c39b1a6ecf39b5748e87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "e0e9b406470b8dd75a115cf82c4791f41615c4c3",
      "tree": "d31f3ee226e91854bc97d948a30b80c18b21fa47",
      "parents": [
        "a00eac0c459abecb539fb2a2abd3122dd7ca5d4a"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Tue Sep 14 23:53:05 2010 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Oct 05 13:33:43 2010 +0200"
      },
      "message": "vhost: max s/g to match qemu\n\nQemu supports up to UIO_MAXIOV s/g so we have to match that because guest\ndrivers may rely on this.\n\nAllocate indirect and log arrays dynamically to avoid using too much contigious\nmemory and make the length of hdr array to match the header length since each\niovec entry has a least one byte.\n\nTest with copying large files w/ and w/o migration in both linux and windows\nguests.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "5786aee8bf6d747ea59595601a19e78ad33d6929",
      "tree": "63d45f00716dea2ab0813361f7af79f15ce24142",
      "parents": [
        "ee05d6939ed17b55e9c2466af32c208e0d547eb8"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Sep 22 12:31:53 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Sep 22 16:21:33 2010 +0200"
      },
      "message": "vhost: fix log ctx signalling\n\nThe log eventfd signalling got put in dead code.\nWe didn\u0027t notice because qemu currently does polling\ninstead of eventfd select.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "ee05d6939ed17b55e9c2466af32c208e0d547eb8",
      "tree": "72c0737e0c0ac93a9fd58970f5c5d95ca3c67914",
      "parents": [
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Sep 14 15:15:52 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Sep 14 15:22:41 2010 +0200"
      },
      "message": "vhost-net: fix range checking in mrg bufs case\n\nIn mergeable buffer case, we use headcount, log_num\nand seg as indexes in same-size arrays, and\nwe know that headcount \u003c\u003d seg and\nlog_num equals either 0 or seg.\n\nTherefore, the right thing to do is range-check seg,\nnot headcount as we do now: these will be different\nif guest chains s/g descriptors (this does not\nhappen now, but we can not trust the guest).\n\nLong term, we should add BUG_ON checks to verify\ntwo other indexes are what we think they should be.\n\nReported-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "615cc2211c17ed05a2a5d94abdac6c340a8ea508",
      "tree": "e77b7442532bce0521f1da3cfcb985111e3ab1f1",
      "parents": [
        "87d6a412bd1ed82c14cabd4b408003b23bbd2880"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Sep 02 14:16:36 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 06 09:49:39 2010 +0300"
      },
      "message": "vhost: error handling fix\n\nvhost should set worker to NULL on cgroups attach failure,\nso that we won\u0027t try to destroy the worker again on close.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "87d6a412bd1ed82c14cabd4b408003b23bbd2880",
      "tree": "598f8fc4a19f9b52e531ab41a1c45796358956d1",
      "parents": [
        "73457f0f836956747e0394320be2163c050e96ef"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Sep 02 14:05:30 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 06 09:49:31 2010 +0300"
      },
      "message": "vhost: fix attach to cgroups regression\n\nSince 2.6.36-rc1, non-root users of vhost-net fail to attach\nif they are in any cgroups.\n\nThe reason is that when qemu uses vhost, vhost wants to attach\nits thread to all cgroups that qemu has.  But we got the API backwards,\nso a non-priveledged process (Qemu) tried to control\nthe priveledged one (vhost), which fails.\n\nFix this by switching to the new cgroup_attach_task_all,\nand running it from the vhost thread.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "78b620ce9e168d08ecfac2f4bb056c511b0601ec",
      "tree": "d7e59a37b115f52215190a7461cec96bd0247fb2",
      "parents": [
        "aa8a9e25c5e865de85410be4e9269b552974f7a2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 31 02:05:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 14:26:13 2010 -0700"
      },
      "message": "vhost: stop worker only if created\n\nIts currently illegal to call kthread_stop(NULL)\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28457ee69c473a903e51e26c7bcd6f1e9eceb93e",
      "tree": "7f872922577ec45ce655d68770c95082ad858a45",
      "parents": [
        "65e6bf484c497f02d47a0faae69ee398cd59cfda"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@relay.de.ibm.com",
        "time": "Tue Mar 09 19:24:45 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 21 16:27:36 2010 -0700"
      },
      "message": "vhost: add __rcu annotations\n\nAlso add rcu_dereference_protected() for code paths where locks are held.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"Michael S. Tsirkin\" \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7",
      "tree": "8f3892fc44f1e403675a6d7e88fda5c70e56ee4c",
      "parents": [
        "5abd9ccced7a726c817dd6b5b96bc933859138d1",
        "3ff1c25927e3af61c6bf0e4ed959504058ae4565"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 11:47:58 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)\n  phy/marvell: add 88ec048 support\n  igb: Program MDICNFG register prior to PHY init\n  e1000e: correct MAC-PHY interconnect register offset for 82579\n  hso: Add new product ID\n  can: Add driver for esd CAN-USB/2 device\n  l2tp: fix export of header file for userspace\n  can-raw: Fix skb_orphan_try handling\n  Revert \"net: remove zap_completion_queue\"\n  net: cleanup inclusion\n  phy/marvell: add 88e1121 interface mode support\n  u32: negative offset fix\n  net: Fix a typo from \"dev\" to \"ndev\"\n  igb: Use irq_synchronize per vector when using MSI-X\n  ixgbevf: fix null pointer dereference due to filter being set for VLAN 0\n  e1000e: Fix irq_synchronize in MSI-X case\n  e1000e: register pm_qos request on hardware activation\n  ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice\n  net: Add getsockopt support for TCP thin-streams\n  cxgb4: update driver version\n  cxgb4: add new PCI IDs\n  ...\n\nManually fix up conflicts in:\n - drivers/net/e1000e/netdev.c: due to pm_qos registration\n   infrastructure changes\n - drivers/net/phy/marvell.c: conflict between adding 88ec048 support\n   and cleaning up the IDs\n - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req\n   conflict (registration change vs marking it static)\n"
    },
    {
      "commit": "8dd014adfea6f173c1ef6378f7e5e7924866c923",
      "tree": "303df47f73c53cc4c919e3f8aca8245d50d76a08",
      "parents": [
        "9e3d195720d1c8b1e09013185ab8c3b749180fc2"
      ],
      "author": {
        "name": "David Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Jul 27 18:52:21 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 28 15:45:36 2010 +0300"
      },
      "message": "vhost-net: mergeable buffers support\n\nThis adds support for mergeable buffers in vhost-net: this is needed\nfor older guests without indirect buffer support, as well\nas for zero copy with some devices.\n\nIncludes changes by Michael S. Tsirkin to make the\npatch as low risk as possible (i.e., close to no changes\nwhen feature is disabled).\n\nSigned-off-by: David Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "9e3d195720d1c8b1e09013185ab8c3b749180fc2",
      "tree": "365fad241060b88546d7d5523e9c5a74c968a56c",
      "parents": [
        "d7926ee38f5c6e0bbebe712304f99a4c67e40f84"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jul 27 22:56:50 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 28 15:45:18 2010 +0300"
      },
      "message": "vhost: apply cgroup to vhost workers\n\nApply the cgroup of the owner task to the created vhost worker.\n\nBased on patches from Sridhar Samudrala\u0027s and Tejun Heo.\nLater we\u0027ll need to also apply cpumask and probably priority\nof the owner process.\n\nDiscussion on the best way to do this is still ongoing.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Sridhar Samudrala \u003csamudrala.sridhar@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "c23f3445e68e1db0e74099f264bc5ff5d55ebdeb",
      "tree": "0a8e22e9a10c2978777954a022d721eb02e622be",
      "parents": [
        "4cfa580e7eebb8694b875d2caff3b989ada2efac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 02 20:40:00 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 28 15:44:53 2010 +0300"
      },
      "message": "vhost: replace vhost_workqueue with per-vhost kthread\n\nReplace vhost_workqueue with per-vhost kthread.  Other than callback\nargument change from struct work_struct * to struct vhost_work *,\nthere\u0027s no visible change to vhost_poll_*() interface.\n\nThis conversion is to make each vhost use a dedicated kthread so that\nresource control via cgroup can be applied.\n\nPartially based on Sridhar Samudrala\u0027s patch.\n\n* Updated to use sub structure vhost_work instead of directly using\n  vhost_poll at Michael\u0027s suggestion.\n\n* Added flusher wake_up() optimization at Michael\u0027s suggestion.\n\nChanges by MST:\n* Converted atomics/barrier use to a spinlock.\n* Create thread on SET_OWNER\n* Fix flushing\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Sridhar Samudrala \u003csamudrala.sridhar@gmail.com\u003e\n"
    },
    {
      "commit": "4c3e5edf2f33546392fbd9beaae04e9bed7304ff",
      "tree": "b1ea5d3b8c139ca9a9edf65cd3e7ac4606053ace",
      "parents": [
        "3f30fc1570626f11e8f3efe5ebd41fe96e847ed1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 21 21:09:23 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 21 21:09:23 2010 -0700"
      },
      "message": "vhost net: Fix warning.\n\nReported by Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11fe883936980fe242869d671092a466cf1db3e3",
      "tree": "14ff24e81eb4326e94eb5aa6432a1dd55cef5ece",
      "parents": [
        "70d4bf6d467a330ccc947df9b2608e329d9e7708",
        "573201f36fd9c7c6d5218cdcd9948cee700b277d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 20 18:25:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 20 18:25:24 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/vhost/net.c\n\tnet/bridge/br_device.c\n\nFix merge conflict in drivers/vhost/net.c with guidance from\nStephen Rothwell.\n\nRevert the effects of net-2.6 commit 573201f36fd9c7c6d5218cdcd9948cee700b277d\nsince net-next-2.6 has fixes that make bridge netpoll work properly thus\nwe don\u0027t need it disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "516bd664153d76f5c814633cee6500e2ff8e861b",
      "tree": "f67a1c70b013961849d3491ef22596cd0b0d9af9",
      "parents": [
        "844b9a8707f1fcf0482e0c52f44a555e799ccda6",
        "573201f36fd9c7c6d5218cdcd9948cee700b277d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 16:26:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 16:26:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)\n  bridge: Partially disable netpoll support\n  tcp: fix crash in tcp_xmit_retransmit_queue\n  IPv6: fix CoA check in RH2 input handler (mip6_rthdr_input())\n  ibmveth: lost IRQ while closing/opening device leads to service loss\n  rt2x00: Fix lockdep warning in rt2x00lib_probe_dev()\n  vhost: avoid pr_err on condition guest can trigger\n  ipmr: Don\u0027t leak memory if fib lookup fails.\n  vhost-net: avoid flush under lock\n  net: fix problem in reading sock TX queue\n  net/core: neighbour update Oops\n  net: skb_tx_hash() fix relative to skb_orphan_try()\n  rfs: call sock_rps_record_flow() in tcp_splice_read()\n  xfrm: do not assume that template resolving always returns xfrms\n  hostap_pci: set dev-\u003ebase_addr during probe\n  axnet_cs: use spin_lock_irqsave in ax_interrupt\n  dsa: Fix Kconfig dependencies.\n  act_nat: not all of the ICMP packets need an IP header payload\n  r8169: incorrect identifier for a 8168dp\n  Phonet: fix skb leak in pipe endpoint accept()\n  Bluetooth: Update sec_level/auth_type for already existing connections\n  ...\n"
    },
    {
      "commit": "95c0ec6a97ae82d39a6e13fc01aa76861a4a76d0",
      "tree": "a581adc7aa2fdd2330790adb3e76b93b112c3ef4",
      "parents": [
        "1680e9063ea28099a1efa8ca11cee069cc7a9bc3"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jun 24 17:10:25 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri Jul 16 12:18:17 2010 +0300"
      },
      "message": "vhost: avoid pr_err on condition guest can trigger\n\nGuest can trigger packet truncation by posting\na very short buffer and disabling buffer merging.\nConvert pr_err to pr_debug to avoid log from filling\nup when this happens.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "1680e9063ea28099a1efa8ca11cee069cc7a9bc3",
      "tree": "92fda29b75a081151d6e460f7ae8ec874517b6e5",
      "parents": [
        "7b3384fc30633738ae4eaf8e1bc6ce70470ced80"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 15 15:19:12 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 15 15:26:12 2010 +0300"
      },
      "message": "vhost-net: avoid flush under lock\n\nWe flush under vq mutex when changing backends.\nThis creates a deadlock as workqueue being flushed\nneeds this lock as well.\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d612421\n\nDrop the vq mutex before flush: we have the device mutex\nwhich is sufficient to prevent another ioctl from touching\nthe vq.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "2aa72f612144a0a7d4b0b22ae7c122692ac6a013",
      "tree": "8af2d2ac975887a04b4e4109de3d785f7046979b",
      "parents": [
        "78178c7d6e127fff6dba027315fd6914304b05cf",
        "33b665eeeb85956ccbdf31c4c31a4e2a31133c44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 07 19:56:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 07 19:56:00 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (35 commits)\n  NET: SB1250: Initialize .owner\n  vxge: show startup message with KERN_INFO\n  ll_temac: Fix missing iounmaps\n  bridge: Clear IPCB before possible entry into IP stack\n  bridge br_multicast: BUG: unable to handle kernel NULL pointer dereference\n  net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined\n  net/ne: fix memory leak in ne_drv_probe()\n  xfrm: fix xfrm by MARK logic\n  virtio_net: fix oom handling on tx\n  virtio_net: do not reschedule rx refill forever\n  s2io: resolve statistics issues\n  linux/net.h: fix kernel-doc warnings\n  net: decreasing real_num_tx_queues needs to flush qdisc\n  sched: qdisc_reset_all_tx is calling qdisc_reset without qdisc_lock\n  qlge: fix a eeh handler to not add a pending timer\n  qlge: Replacing add_timer() to mod_timer()\n  usbnet: Set parent device early for netdev_printk()\n  net: Revert \"rndis_host: Poll status channel before control channel\"\n  netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT\n  drivers: bluetooth: bluecard_cs.c: Fixed include error, changed to linux/io.h\n  ...\n"
    },
    {
      "commit": "597e608a8492d662736c9bc6aa507dbf1cadc17d",
      "tree": "6c330cdd0a4809f67dd191b37e34f5b4318cef78",
      "parents": [
        "acbc0f039ff4b93da737c91937b7c70018ded39f",
        "33b665eeeb85956ccbdf31c4c31a4e2a31133c44"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 07 15:59:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 07 15:59:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "7b3384fc30633738ae4eaf8e1bc6ce70470ced80",
      "tree": "fdf56de2245e095f7e451f025cb55f7cb8a704b5",
      "parents": [
        "d5675bd204efd87a174eeea592de23c4c4e7f908"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 01 18:40:12 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jul 01 19:25:40 2010 +0300"
      },
      "message": "vhost: add unlikely annotations to error path\n\npatch \u0027break out of polling loop on error\u0027 caused\na minor performance regression on my machine: recover\nthat performance by adding a bunch of unlikely annotations\nin the error handling.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "d5675bd204efd87a174eeea592de23c4c4e7f908",
      "tree": "11ec7e455d21285da68fa7db40af07ebf45f9d0e",
      "parents": [
        "38000a94a902e94ca8b5498f7871c6316de8957a"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jun 24 16:59:59 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Jun 27 11:52:25 2010 +0300"
      },
      "message": "vhost: break out of polling loop on error\n\nWhen ring parsing fails, we currently handle this\nas ring empty condition. This means that we enable\nkicks and recheck ring empty: if this not empty,\nwe re-start polling which of course will fail again.\n\nInstead, let\u0027s return a negative error code and stop polling.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "79907d89c397b8bc2e05b347ec94e928ea919d33",
      "tree": "1f0047491ef1424272f14a032acf01f569fe84c4",
      "parents": [
        "84f7586edab93052bbe7eb72e1e9bce5f7b6ae45"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Jun 09 09:39:49 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 09 08:50:31 2010 -0700"
      },
      "message": "misc: Fix allocation \u0027borrowed\u0027 by vhost_net\n\n10, 233 is allocated officially to /dev/kmview which is shipping in\nUbuntu and Debian distributions.  vhost_net seem to have borrowed it\nwithout making a proper request and this causes regressions in the other\ndistributions.\n\nvhost_net can use a dynamic minor so use that instead.  Also update the\nfile with a comment to try and avoid future misunderstandings.\n\ncc: stable@kernel.org\nSigned-off-by: Alan Cox \u003cdevice@lanana.org\u003e\n[ We should have caught this before 2.6.34 got released.  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0dea7c12fc2c15de8b2104a322a1f47919d753fd",
      "tree": "f6f2082164d3a1fcfe3359d02beb6f19917d4c08",
      "parents": [
        "ab95bfe01f9872459c8678572ccadbf646badad0",
        "f8322fbe049687d3676690e8ad839c7169dd306a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 08:26:36 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 08:26:36 2010 -0700"
      },
      "message": "Merge branch \u0027vhost-net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "72da3bc0cb3e82bd95f278a0c5c988e506e56d13",
      "tree": "db4bf9f9265be3216dfb3d65b49e53d8448e13e2",
      "parents": [
        "8507bb0062bff1431bbcce921efe5cd1186fcff2",
        "045de01a174d9f0734f657eb4b3313d89b4fd5ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits)\n  netlink: bug fix: wrong size was calculated for vfinfo list blob\n  netlink: bug fix: don\u0027t overrun skbs on vf_port dump\n  xt_tee: use skb_dst_drop()\n  netdev/fec: fix ifconfig eth0 down hang issue\n  cnic: Fix context memory init. on 5709.\n  drivers/net: Eliminate a NULL pointer dereference\n  drivers/net/hamradio: Eliminate a NULL pointer dereference\n  be2net: Patch removes redundant while statement in loop.\n  ipv6: Add GSO support on forwarding path\n  net: fix __neigh_event_send()\n  vhost: fix the memory leak which will happen when memory_access_ok fails\n  vhost-net: fix to check the return value of copy_to/from_user() correctly\n  vhost: fix to check the return value of copy_to/from_user() correctly\n  vhost: Fix host panic if ioctl called with wrong index\n  net: fix lock_sock_bh/unlock_sock_bh\n  net/iucv: Add missing spin_unlock\n  net: ll_temac: fix checksum offload logic\n  net: ll_temac: fix interrupt bug when interrupt 0 is used\n  sctp: dubious bitfields in sctp_transport\n  ipmr: off by one in __ipmr_fill_mroute()\n  ...\n"
    },
    {
      "commit": "a02c37891a9b2d7ce93f9d09455b4f67c4c23b95",
      "tree": "0d2b9b630a2ff0dab8fda16008762bcaa223ca93",
      "parents": [
        "d3553a52490dcac54f45083f8fa018e26c22e947"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Thu May 27 19:03:56 2010 +0900"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 13:55:17 2010 +0300"
      },
      "message": "vhost: fix the memory leak which will happen when memory_access_ok fails\n\nWe need to free newmem when vhost_set_memory() fails to complete.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "d3553a52490dcac54f45083f8fa018e26c22e947",
      "tree": "7a9d272840b3e7d106d30b93d71a0c36a3c30790",
      "parents": [
        "7ad9c9d27048547e96e4e3a13b5780ec6f81bb9f"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Thu May 27 19:01:58 2010 +0900"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 13:55:13 2010 +0300"
      },
      "message": "vhost-net: fix to check the return value of copy_to/from_user() correctly\n\ncopy_to/from_user() returns the number of bytes that could not be copied.\n\nSo we need to check if it is not zero, and in that case, we should return\nthe error number -EFAULT rather than directly return the return value from\ncopy_to/from_user().\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "7ad9c9d27048547e96e4e3a13b5780ec6f81bb9f",
      "tree": "0f70562d0f51c086b02953388578bd87040b5067",
      "parents": [
        "0f3d9a17469d71ba1bab79c07c8eecb9e26e60af"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Thu May 27 18:58:03 2010 +0900"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 13:54:59 2010 +0300"
      },
      "message": "vhost: fix to check the return value of copy_to/from_user() correctly\n\ncopy_to/from_user() returns the number of bytes that could not be copied.\n\nSo we need to check if it is not zero, and in that case, we should return\nthe error number -EFAULT rather than directly return the return value from\ncopy_to/from_user().\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "f8322fbe049687d3676690e8ad839c7169dd306a",
      "tree": "8eaa9cd9b534a9867e50e75716e1e6f66150a48c",
      "parents": [
        "dd1f4078f0d2de74a308f00a2dffbd550cfba59f"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 12:28:03 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 12:28:03 2010 +0300"
      },
      "message": "vhost: whitespace fix\n\nFix up whitespace in vq_memory_access_ok.\n\nReported-by: Aristeu Rozanski \u003caris@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "dd1f4078f0d2de74a308f00a2dffbd550cfba59f",
      "tree": "d8a31277e7d37bc2fdda54abe0837bc829074c6f",
      "parents": [
        "373a83a6997bfdaf767f6a65fc5cc0054b246984"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Mar 04 16:10:14 2010 -0500"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 12:25:37 2010 +0300"
      },
      "message": "vhost-net: minor cleanup\n\nDelete a label and goto from vhost_net_set_backend\nInverting a test allows a label and goto to be eliminated.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "373a83a6997bfdaf767f6a65fc5cc0054b246984",
      "tree": "a57a01ac7a1aea068a9664f587ce0899b557e2fb",
      "parents": [
        "7a9b149212f3716c598afe973b6261fd58453b7a"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Mon May 17 15:12:49 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 12:23:49 2010 +0300"
      },
      "message": "vhost: Storage class should be before const qualifier\n\nThe C99 specification states in section 6.11.5:\n\nThe placement of a storage-class specifier other than at the beginning\nof the declaration specifiers in a declaration is an obsolescent\nfeature.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "0f3d9a17469d71ba1bab79c07c8eecb9e26e60af",
      "tree": "a94a0c4e8a224261b3e2cb6f1329056f80d4e7b2",
      "parents": [
        "8a74ad60a546b13bd1096b2a61a7a5c6fd9ae17c"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue May 25 11:10:36 2010 +0530"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu May 27 12:19:02 2010 +0300"
      },
      "message": "vhost: Fix host panic if ioctl called with wrong index\n\nMissed a boundary value check in vhost_set_vring. The host panics if\nidx \u003d\u003d nvqs is used in ioctl commands in vhost_virtqueue_init.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "4be929be34f9bdeffa40d815d32d7d60d2c7f03b",
      "tree": "4d2c6e2b8ef766e565e2e050ee151de2e02081d3",
      "parents": [
        "940370fc86b920b51a34217a1facc3e9e97c2456"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 24 14:33:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN\n\n- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not\n  USHORT_MAX/SHORT_MAX/SHORT_MIN.\n\n- Make SHRT_MIN of type s16, not int, for consistency.\n\n[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]\n[akpm@linux-foundation.org: fix security/keys/keyring.c]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6811d58fc148c393f80a9f5a9db49d7e75cdc546",
      "tree": "c25d5b0e49ec848943d35f819e748d157ccb492e",
      "parents": [
        "c4949f074332a64baeb2ead6ab9319ca37642f96",
        "c02db8c6290bb992442fec1407643c94cc414375"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_link.h\n"
    },
    {
      "commit": "0d4993563bde70bc7c7718686bc5c5c089733001",
      "tree": "c436326c77afc9cd1c9e0315e313d6ba2502c160",
      "parents": [
        "de02d72bb3cc5b3d4c873db4ca8291723dd48479"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue May 11 19:44:17 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed May 12 18:04:04 2010 +0300"
      },
      "message": "vhost: fix barrier pairing\n\nAccording to memory-barriers.txt, an smp memory barrier in guest\nshould always be paired with an smp memory barrier in host,\nand I quote \"a lack of appropriate pairing is almost certainly an\nerror\". In case of vhost, failure to flush out used index\nupdate before looking at the interrupt disable flag\ncould result in missed interrupts, resulting in\nnetworking hang under stress.\n\nThis might happen when flags read bypasses used index write.\nSo we see interrupts disabled and do not interrupt, at the\nsame time guest writes flags value to enable interrupt,\nreads an old used index value, thinks that\nused ring is empty and waits for interrupt.\n\nNote: the barrier we pair with here is in\ndrivers/virtio/virtio_ring.c, function\nvring_enable_cb.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Juan Quintela \u003cquintela@redhat.com\u003e\n"
    },
    {
      "commit": "fea069152614cdeefba4b2bf80afcddb9c217fc8",
      "tree": "97a4ca0c1afabe94b69110409a46347a093cff45",
      "parents": [
        "5f6c01819979afbfec7e0b15fe52371b8eed87e8",
        "a8d3782f9ea7574b8648e69bbb05a0b1d93e437e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 22:52:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 22:52:46 2010 -0700"
      },
      "message": "Merge branch \u0027vhost\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "a8d3782f9ea7574b8648e69bbb05a0b1d93e437e",
      "tree": "f21fa3d22453b5f701c49b2ed7f906f15bc63944",
      "parents": [
        "179b284e2fc0c638035843968f7d7ab8ab701525"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 13 14:11:25 2010 -0400"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Apr 14 11:52:08 2010 +0300"
      },
      "message": "vhost: fix sparse warnings\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "4a1032faac94ebbf647460ae3e06fc21146eb280",
      "tree": "7f31b97beb0406faa1523e619289ad0ab07c9787",
      "parents": [
        "ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06",
        "0eddb519b9127c73d53db4bf3ec1d45b13f844d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 02:44:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    }
  ],
  "next": "179b284e2fc0c638035843968f7d7ab8ab701525"
}
