get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 810995,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/810995/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170907115700.69911-1-pasic@linux.vnet.ibm.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170907115700.69911-1-pasic@linux.vnet.ibm.com>",
    "list_archive_url": null,
    "date": "2017-09-07T11:57:00",
    "name": "[1/1] s390x/css: drop data-check in interpretation",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "67d10a119c214b6c67195ad01f7c4b9f78d4776c",
    "submitter": {
        "id": 68297,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/68297/?format=api",
        "name": "Halil Pasic",
        "email": "pasic@linux.vnet.ibm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170907115700.69911-1-pasic@linux.vnet.ibm.com/mbox/",
    "series": [
        {
            "id": 1991,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/1991/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=1991",
            "date": "2017-09-07T11:57:00",
            "name": "[1/1] s390x/css: drop data-check in interpretation",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/1991/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/810995/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/810995/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xnzVF0qDlz9sPm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 21:57:55 +1000 (AEST)",
            "from localhost ([::1]:39941 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dpvRQ-0002Ov-Kk\n\tfor incoming@patchwork.ozlabs.org; Thu, 07 Sep 2017 07:57:52 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:54260)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <pasic@linux.vnet.ibm.com>) id 1dpvR3-0002OW-5f\n\tfor qemu-devel@nongnu.org; Thu, 07 Sep 2017 07:57:34 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <pasic@linux.vnet.ibm.com>) id 1dpvQy-0002p9-Gz\n\tfor qemu-devel@nongnu.org; Thu, 07 Sep 2017 07:57:29 -0400",
            "from mx0b-001b2d01.pphosted.com ([148.163.158.5]:47182\n\thelo=mx0a-001b2d01.pphosted.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <pasic@linux.vnet.ibm.com>)\n\tid 1dpvQy-0002nu-CY\n\tfor qemu-devel@nongnu.org; Thu, 07 Sep 2017 07:57:24 -0400",
            "from pps.filterd (m0098416.ppops.net [127.0.0.1])\n\tby mx0b-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv87BsEJe195801\n\tfor <qemu-devel@nongnu.org>; Thu, 7 Sep 2017 07:57:22 -0400",
            "from e06smtp13.uk.ibm.com (e06smtp13.uk.ibm.com [195.75.94.109])\n\tby mx0b-001b2d01.pphosted.com with ESMTP id 2cu32y08ge-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <qemu-devel@nongnu.org>; Thu, 07 Sep 2017 07:57:22 -0400",
            "from localhost\n\tby e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <qemu-devel@nongnu.org> from <pasic@linux.vnet.ibm.com>;\n\tThu, 7 Sep 2017 12:57:21 +0100",
            "from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194)\n\tby e06smtp13.uk.ibm.com (192.168.101.143) with IBM ESMTP SMTP\n\tGateway: Authorized Use Only! Violators will be prosecuted; \n\tThu, 7 Sep 2017 12:57:18 +0100",
            "from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com\n\t[9.149.105.61])\n\tby b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with\n\tESMTP id v87BvH4Q24969426; Thu, 7 Sep 2017 11:57:17 GMT",
            "from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id EAC1111C04A;\n\tThu,  7 Sep 2017 12:53:37 +0100 (BST)",
            "from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id B619711C052;\n\tThu,  7 Sep 2017 12:53:37 +0100 (BST)",
            "from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9])\n\tby d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTPS;\n\tThu,  7 Sep 2017 12:53:37 +0100 (BST)"
        ],
        "From": "Halil Pasic <pasic@linux.vnet.ibm.com>",
        "To": "Christian Borntraeger <borntraeger@de.ibm.com>,\n\tCornelia Huck <cohuck@redhat.com>",
        "Date": "Thu,  7 Sep 2017 13:57:00 +0200",
        "X-Mailer": "git-send-email 2.13.5",
        "X-TM-AS-GCONF": "00",
        "x-cbid": "17090711-0012-0000-0000-00000577465F",
        "X-IBM-AV-DETECTION": "SAVI=unused REMOTE=unused XFE=unused",
        "x-cbparentid": "17090711-0013-0000-0000-000018F0490B",
        "Message-Id": "<20170907115700.69911-1-pasic@linux.vnet.ibm.com>",
        "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-09-07_08:, , signatures=0",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=0\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1709070176",
        "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy]",
        "X-Received-From": "148.163.158.5",
        "Subject": "[Qemu-devel] [PATCH 1/1] s390x/css: drop data-check in\n\tinterpretation",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Cc": "Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>,\n\tHalil Pasic <pasic@linux.vnet.ibm.com>,\n\tPierre Morel <pmorel@linux.vnet.ibm.com>, qemu-devel@nongnu.org",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "The architecture says that channel-data check is indicating that\nan uncorrected storage (memory) error has been detected in regard\nto the data residing in main storage (memory) that is currently\nused for an I/O operation. The described detection is done using\nthe CBC technology.\n\nThe ccw interpretation code is however generating a channel-data check\neffectively when the (device specific) ccw_cb returns -EFAULT.  In case\nof virtio-ccw devices this happens when mapping memory fails, or when a\nNULL pointer is encountered. So this behavior is not architecture\nconform.\n\nFurthermore the best fit for these situations (null pointer, mapping a\npiece of guest memory fails) from architectural perspective the condition\ndescribed as the channel subsystem refers to a location that is not\navailable, which when encountered shall result in a channel-program\ncheck.\n\nTo fix this, all we have to do is to get rid of the switch case matching\n-EFAULT: the default is generating a channel-program check.\n\nSigned-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>\n---\n\nReferences\n-----------\n\n1. paragraph: PoP page 16-42 \"Channel-Data Check\".\n3. paragraph: PoP page 15-59 \"Designation of Storage Area\"\n\nSide note on usage of error codes\n----------------------------------\n\nI'm currently having a patch set under discussion which aims to move away\nfrom mapping CSS conditions to error codes and back for the IO\ninstruction handlers. IMHO as of today the given usage of the error codes\nis rather obfuscating the source code than contributing to clarity. I've\nexperimented with a bunch of changes to improve on the readability of the\ncode, but did not settle about if and what to do yet (the main problem is\nthe gains not solid and quite limited -- it's hard to justify churn).\n\nIf there is interest I would be happy to write up an RFC and start a\ndiscussion on what makes sense and what does not.\n---\n hw/s390x/css.c | 9 ---------\n 1 file changed, 9 deletions(-)",
    "diff": "diff --git a/hw/s390x/css.c b/hw/s390x/css.c\nindex 1880b1a0ff..72fb193676 100644\n--- a/hw/s390x/css.c\n+++ b/hw/s390x/css.c\n@@ -980,15 +980,6 @@ static void sch_handle_start_func_virtual(SubchDev *sch)\n                     SCSW_STCTL_ALERT | SCSW_STCTL_STATUS_PEND;\n             s->cpa = sch->channel_prog + 8;\n             break;\n-        case -EFAULT:\n-            /* memory problem, generate channel data check */\n-            s->ctrl &= ~SCSW_ACTL_START_PEND;\n-            s->cstat = SCSW_CSTAT_DATA_CHECK;\n-            s->ctrl &= ~SCSW_CTRL_MASK_STCTL;\n-            s->ctrl |= SCSW_STCTL_PRIMARY | SCSW_STCTL_SECONDARY |\n-                    SCSW_STCTL_ALERT | SCSW_STCTL_STATUS_PEND;\n-            s->cpa = sch->channel_prog + 8;\n-            break;\n         case -EBUSY:\n             /* subchannel busy, generate deferred cc 1 */\n             s->flags &= ~SCSW_FLAGS_MASK_CC;\n",
    "prefixes": [
        "1/1"
    ]
}