get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 52486,
    "url": "http://patchwork.dpdk.org/api/patches/52486/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20190409133622.14729-1-i.maximets@samsung.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "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",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20190409133622.14729-1-i.maximets@samsung.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190409133622.14729-1-i.maximets@samsung.com",
    "date": "2019-04-09T13:36:22",
    "name": "vhost: fix passing destroyed device to destroy callback",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "71129caff48261f37efef4969fbf16d6b3be9bc0",
    "submitter": {
        "id": 323,
        "url": "http://patchwork.dpdk.org/api/people/323/?format=api",
        "name": "Ilya Maximets",
        "email": "i.maximets@samsung.com"
    },
    "delegate": {
        "id": 2642,
        "url": "http://patchwork.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20190409133622.14729-1-i.maximets@samsung.com/mbox/",
    "series": [
        {
            "id": 4205,
            "url": "http://patchwork.dpdk.org/api/series/4205/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=4205",
            "date": "2019-04-09T13:36:22",
            "name": "vhost: fix passing destroyed device to destroy callback",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/4205/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/52486/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/52486/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D8C995681;\n\tTue,  9 Apr 2019 15:36:34 +0200 (CEST)",
            "from mailout2.w1.samsung.com (mailout2.w1.samsung.com\n\t[210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 23A4B532C\n\tfor <dev@dpdk.org>; Tue,  9 Apr 2019 15:36:33 +0200 (CEST)",
            "from eucas1p1.samsung.com (unknown [182.198.249.206])\n\tby mailout2.w1.samsung.com (KnoxPortal) with ESMTP id\n\t20190409133631euoutp02975f6d03c77ad352478040eaf0ac78ff~T0dDMaQJb1663216632euoutp02Q\n\tfor <dev@dpdk.org>; Tue,  9 Apr 2019 13:36:31 +0000 (GMT)",
            "from eusmges3new.samsung.com (unknown [203.254.199.245]) by\n\teucas1p2.samsung.com (KnoxPortal) with ESMTP id\n\t20190409133630eucas1p2f3acaedf1fabaa396c59429f4f474bb6~T0dCv1VqA0632906329eucas1p2n;\n\tTue,  9 Apr 2019 13:36:30 +0000 (GMT)",
            "from eucas1p2.samsung.com ( [182.198.249.207]) by\n\teusmges3new.samsung.com (EUCPMTA) with SMTP id EF.E8.04325.EDF9CAC5;\n\tTue,  9 Apr 2019 14:36:30 +0100 (BST)",
            "from eusmtrp1.samsung.com (unknown [182.198.249.138]) by\n\teucas1p2.samsung.com (KnoxPortal) with ESMTPA id\n\t20190409133629eucas1p2ecfe7c4771bb6add694596cf75cf3e70~T0dCEkBC30629506295eucas1p2u;\n\tTue,  9 Apr 2019 13:36:29 +0000 (GMT)",
            "from eusmgms2.samsung.com (unknown [182.198.249.180]) by\n\teusmtrp1.samsung.com (KnoxPortal) with ESMTP id\n\t20190409133629eusmtrp1820cd198061fb66bc8a628e02c8f2d6e~T0dCECYo41615316153eusmtrp1c;\n\tTue,  9 Apr 2019 13:36:29 +0000 (GMT)",
            "from eusmtip2.samsung.com ( [203.254.199.222]) by\n\teusmgms2.samsung.com (EUCPMTA) with SMTP id 45.24.04140.DDF9CAC5;\n\tTue,  9 Apr 2019 14:36:29 +0100 (BST)",
            "from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by\n\teusmtip2.samsung.com (KnoxPortal) with ESMTPA id\n\t20190409133629eusmtip24402ba5a9e7efd267f797b30012f2b3c~T0dBe4lal0891308913eusmtip24;\n\tTue,  9 Apr 2019 13:36:29 +0000 (GMT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com\n\t20190409133631euoutp02975f6d03c77ad352478040eaf0ac78ff~T0dDMaQJb1663216632euoutp02Q",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n\ts=mail20170921; t=1554816991;\n\tbh=pV+Focy83CjRXegCVXQAcX5ttsLVN08QlzdcsI6R4PM=;\n\th=From:To:Cc:Subject:Date:References:From;\n\tb=a6LLOmHagawfkYcQz9bVTJq0V6W51wAeg/epXsz8wy9hHValAcDCO01m9FyEWvJ3g\n\t2Ijn8+QCADI8rcxsfJa662903AsxiXXUJKtfLWQ8i3f6Wu6S+d2lnBMRRh398Jjun2\n\tR12AsR07Wosnc7KGs0tIV1csp0agKCuWlOoY16VM=",
        "X-AuditID": "cbfec7f5-b8fff700000010e5-34-5cac9fde6163",
        "From": "Ilya Maximets <i.maximets@samsung.com>",
        "To": "dev@dpdk.org, Maxime Coquelin <maxime.coquelin@redhat.com>",
        "Cc": "Tiwei Bie <tiwei.bie@intel.com>, Jens Freimann <jfreimann@redhat.com>,\n\tDariusz Stojaczyk <dariuszx.stojaczyk@intel.com>, David Marchand\n\t<david.marchand@redhat.com>, Ilya Maximets <i.maximets@samsung.com>, \n\tstable@dpdk.org",
        "Date": "Tue,  9 Apr 2019 16:36:22 +0300",
        "Message-Id": "<20190409133622.14729-1-i.maximets@samsung.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "X-Brightmail-Tracker": [
            "H4sIAAAAAAAAA+NgFvrAIsWRmVeSWpSXmKPExsWy7djP87r35q+JMVg3TdRi2f5WFovtK7rY\n\tLN592s5kcaX9J7vFuTVLWSyOde5hsfjX8YfdYmvDfyYHDo9fC5ayeize85LJ4/2+q2wefVtW\n\tMQawRHHZpKTmZJalFunbJXBlXJn9hangOEfFgx/PGBsY57B3MXJySAiYSOzd/ICti5GLQ0hg\n\tBaPE1pNdjBDOF0aJU7O6waqEBD4zSjze5QvTsbrtNCtE0XJGiYlvNzNBOD8YJbqXvGQDqWIT\n\t0JE4tfoII4gtImAnMWXPT2aQImaBZ4wSk191sYAkhAU8JC6dfsAMYrMIqEp0rX4PZvMKWEtM\n\tar7OArFOXmL1hgNgzRICt9kkZvy6ygqRcJE4c+IyE4QtLPHq+Baoj2QkTk/ugWqul7jf8pIR\n\tormDUWL6oX9QDfYSW16fA2rgADpJU2L9Ln2IsKPEunWf2EDCEgJ8EjfeCoKEmYHMSdumM0OE\n\teSU62oQgqlUkfh9czgxhS0ncfPcZ6gIPiTkPprFCQi5W4ueZGcwTGOVmIexawMi4ilE8tbQ4\n\tNz212DgvtVyvODG3uDQvXS85P3cTIzAdnP53/OsOxn1/kg4xCnAwKvHwRsxbEyPEmlhWXJl7\n\tiFGCg1lJhJczHijEm5JYWZValB9fVJqTWnyIUZqDRUmct5rhQbSQQHpiSWp2ampBahFMlomD\n\tU6qBMa+CfeK+1UndtWUOZgsTo274Z4iKsk3N+DIlU0nNcQMbb9ANmW09uew+AnNe/1dM8Voj\n\tuy2ETXbVlokFjG/FZ6ozzFuh/OGxdd1fd9Hdl9fE3W9cUDnx7haxisV9F7vNvyjPP7ffmeWh\n\tssreeUx93MYTpfQ5DBcu1Drn7TWhmOUT18WE4vkzlViKMxINtZiLihMBXVMIiAMDAAA=",
            "H4sIAAAAAAAAA+NgFjrOLMWRmVeSWpSXmKPExsVy+t/xe7p356+JMbg+wdhi2f5WFovtK7rY\n\tLN592s5kcaX9J7vFuTVLWSyOde5hsfjX8YfdYmvDfyYHDo9fC5ayeize85LJ4/2+q2wefVtW\n\tMQawROnZFOWXlqQqZOQXl9gqRRtaGOkZWlroGZlY6hkam8daGZkq6dvZpKTmZJalFunbJehl\n\tXJn9hangOEfFgx/PGBsY57B3MXJySAiYSKxuO83axcjFISSwlFHiT8MJZoiElMSPXxdYIWxh\n\tiT/Xutggir4xSmyYuJcFJMEmoCNxavURRhBbRMBB4vaeVywgRcwCrxgl5rTuAlshLOAhcen0\n\tA7CpLAKqEl2r34PZvALWEpOar7NAbJCXWL3hAPMERp4FjAyrGEVSS4tz03OLjfSKE3OLS/PS\n\t9ZLzczcxAgNx27GfW3Ywdr0LPsQowMGoxMMbMH1NjBBrYllxZe4hRgkOZiURXs54oBBvSmJl\n\tVWpRfnxRaU5q8SFGU6DlE5mlRJPzgVGSVxJvaGpobmFpaG5sbmxmoSTOe96gMkpIID2xJDU7\n\tNbUgtQimj4mDU6qB0atJw1S0heW7bNzXTXP+dHw2kjt167q3heieReYcHqryrm8fHS1WPPl+\n\tTbrqrDkmH/x/m0odMXQvZyr8euTQmSPCmZuvv6u9HFiutjXvyqpP9h0b3U1mSh603LAwTmXf\n\tktDZBo26DscaTCduevTS5KlZmXHAjenrihM/vzprsbdra/GMjrMv/yqxFGckGmoxFxUnAgCS\n\tHvFUWgIAAA=="
        ],
        "X-CMS-MailID": "20190409133629eucas1p2ecfe7c4771bb6add694596cf75cf3e70",
        "X-Msg-Generator": "CA",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-RootMTR": "20190409133629eucas1p2ecfe7c4771bb6add694596cf75cf3e70",
        "X-EPHeader": "CA",
        "CMS-TYPE": "201P",
        "X-CMS-RootMailID": "20190409133629eucas1p2ecfe7c4771bb6add694596cf75cf3e70",
        "References": "<CGME20190409133629eucas1p2ecfe7c4771bb6add694596cf75cf3e70@eucas1p2.samsung.com>",
        "Subject": "[dpdk-dev] [PATCH] vhost: fix passing destroyed device to destroy\n\tcallback",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Application should be able to obtain information like 'ifname' from\nthe 'vid' passed to 'destroy_connection' callback. Currently, all the\nAPI calls with passed 'vid' fails with 'device not found'.\n\nFixes: efba12a78ddf (\"vhost: add user callbacks for socket open/close\")\nCc: stable@dpdk.org\n\nSigned-off-by: Ilya Maximets <i.maximets@samsung.com>\n---\n lib/librte_vhost/socket.c | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c\nindex 3da9de62c..43f091d10 100644\n--- a/lib/librte_vhost/socket.c\n+++ b/lib/librte_vhost/socket.c\n@@ -297,11 +297,12 @@ vhost_user_read_cb(int connfd, void *dat, int *remove)\n \tif (ret < 0) {\n \t\tclose(connfd);\n \t\t*remove = 1;\n-\t\tvhost_destroy_device(conn->vid);\n \n \t\tif (vsocket->notify_ops->destroy_connection)\n \t\t\tvsocket->notify_ops->destroy_connection(conn->vid);\n \n+\t\tvhost_destroy_device(conn->vid);\n+\n \t\tpthread_mutex_lock(&vsocket->conn_mutex);\n \t\tTAILQ_REMOVE(&vsocket->conn_list, conn, next);\n \t\tpthread_mutex_unlock(&vsocket->conn_mutex);\n",
    "prefixes": []
}