Show a patch.

GET /api/patches/74631/
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 74631,
    "url": "https://patches.dpdk.org/api/patches/74631/",
    "web_url": "https://patches.dpdk.org/patch/74631/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk"
    },
    "msgid": "<20200723053906.3616989-1-patrick.fu@intel.com>",
    "date": "2020-07-23T05:39:06",
    "name": "[v1] vhost: fix async callback return type define",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "0e48a8f201b65ec02b075ec96fa5a2296bf0e6d5",
    "submitter": {
        "id": 1781,
        "url": "https://patches.dpdk.org/api/people/1781/",
        "name": "Patrick Fu",
        "email": "patrick.fu@intel.com"
    },
    "delegate": {
        "id": 2642,
        "url": "https://patches.dpdk.org/api/users/2642/",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/patch/74631/mbox/",
    "series": [
        {
            "id": 11246,
            "url": "https://patches.dpdk.org/api/series/11246/",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=11246",
            "date": "2020-07-23T05:39:06",
            "name": "[v1] vhost: fix async callback return type define",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/11246/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/74631/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/74631/checks/",
    "tags": {},
    "headers": {
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9690\"; a=\"149644260\"",
            "E=Sophos;i=\"5.75,385,1589266800\"; d=\"scan'208\";a=\"149644260\"",
            "E=Sophos;i=\"5.75,385,1589266800\"; d=\"scan'208\";a=\"488711477\""
        ],
        "IronPort-SDR": [
            "\n sb2tAeFSQiJRl/AANnlwYsDDobqescft3TRSciEL/i/DxWhGv+is6Xse/mz5R/bRvafdtNFGw2\n iR+Umjs3qaWg==",
            "\n fsGinBJ4pwdJNpbtO7XkqqfxO9jEy9I8uhSzYFgQCmpckL1FT7HXE/uequSXCneUOQ5XJzY0p4\n sRLlgE6LZWog=="
        ],
        "X-Amp-File-Uploaded": "False",
        "Precedence": "list",
        "X-Mailman-Version": "2.1.15",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "List-Post": "<mailto:dev@dpdk.org>",
        "X-BeenThere": "dev@dpdk.org",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "Subject": "[dpdk-dev] [PATCH v1] vhost: fix async callback return type define",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7CF88A0526;\n\tThu, 23 Jul 2020 07:41:22 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5B7881BF94;\n\tThu, 23 Jul 2020 07:41:22 +0200 (CEST)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n by dpdk.org (Postfix) with ESMTP id 0772E1BE90\n for <dev@dpdk.org>; Thu, 23 Jul 2020 07:41:20 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Jul 2020 22:41:19 -0700",
            "from npg-dpdk-patrickfu-casc2.sh.intel.com ([10.67.119.92])\n by fmsmga005.fm.intel.com with ESMTP; 22 Jul 2020 22:41:17 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "X-Mailer": "git-send-email 2.18.4",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "X-ExtLoop1": "1",
        "Date": "Thu, 23 Jul 2020 13:39:06 +0800",
        "To": "dev@dpdk.org,\n\tmaxime.coquelin@redhat.com,\n\tchenbo.xia@intel.com",
        "From": "patrick.fu@intel.com",
        "Errors-To": "dev-bounces@dpdk.org",
        "Cc": "Patrick Fu <patrick.fu@intel.com>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "Message-Id": "<20200723053906.3616989-1-patrick.fu@intel.com>",
        "Return-Path": "<dev-bounces@dpdk.org>"
    },
    "content": "From: Patrick Fu <patrick.fu@intel.com>\n\nThe async copy device callbacks are used by async APIs to transfer data\nand check completion status. Async APIs return the number of packets\nsuccessfully processed to the caller applications and no error (negative)\nvalue is allowed for API return value. Thus, negative return values\nfrom async device callbacks don't have meaningful usage, while adding\noverhead in checking the return value validity. This patch change the\ncallback return values from \"int\" to \"uint32_t\" to get aligned with\nasync API definition.\n\nFixes: 78639d54563a (\"vhost: introduce async enqueue registration API\")\n\nSigned-off-by: Patrick Fu <patrick.fu@intel.com>\n---\n lib/librte_vhost/rte_vhost_async.h | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/lib/librte_vhost/rte_vhost_async.h b/lib/librte_vhost/rte_vhost_async.h\nindex c8ad8dbc7..66d258abe 100644\n--- a/lib/librte_vhost/rte_vhost_async.h\n+++ b/lib/librte_vhost/rte_vhost_async.h\n@@ -59,9 +59,9 @@ struct rte_vhost_async_channel_ops {\n \t * @param count\n \t *  number of elements in the \"descs\" array\n \t * @return\n-\t *  -1 on failure, number of descs processed on success\n+\t *  number of descs processed on success\n \t */\n-\tint (*transfer_data)(int vid, uint16_t queue_id,\n+\tuint32_t (*transfer_data)(int vid, uint16_t queue_id,\n \t\tstruct rte_vhost_async_desc *descs,\n \t\tstruct rte_vhost_async_status *opaque_data,\n \t\tuint16_t count);\n@@ -70,15 +70,15 @@ struct rte_vhost_async_channel_ops {\n \t * @param vid\n \t *  id of vhost device to check copy completion\n \t * @param queue_id\n-\t *  queue id to check copyp completion\n+\t *  queue id to check copy completion\n \t * @param opaque_data\n \t *  buffer to receive the opaque data pair from DMA engine\n \t * @param max_packets\n \t *  max number of packets could be completed\n \t * @return\n-\t *  -1 on failure, number of iov segments completed on success\n+\t *  number of iov segments completed on success\n \t */\n-\tint (*check_completed_copies)(int vid, uint16_t queue_id,\n+\tuint32_t (*check_completed_copies)(int vid, uint16_t queue_id,\n \t\tstruct rte_vhost_async_status *opaque_data,\n \t\tuint16_t max_packets);\n };\n",
    "prefixes": [
        "v1"
    ]
}