get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 833246,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/833246/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20171102075917.2780-4-bhole_prashant_q7@lab.ntt.co.jp/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20171102075917.2780-4-bhole_prashant_q7@lab.ntt.co.jp>",
    "list_archive_url": null,
    "date": "2017-11-02T07:59:17",
    "name": "[net-next,V2,3/3] tools: bpftool: optionally show filenames of pinned objects",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "8fdb6301a2d508c216bb5e1d01fa5ac63d68d700",
    "submitter": {
        "id": 72702,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/72702/?format=api",
        "name": "Prashant Bhole",
        "email": "bhole_prashant_q7@lab.ntt.co.jp"
    },
    "delegate": {
        "id": 34,
        "url": "http://patchwork.ozlabs.org/api/1.2/users/34/?format=api",
        "username": "davem",
        "first_name": "David",
        "last_name": "Miller",
        "email": "davem@davemloft.net"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20171102075917.2780-4-bhole_prashant_q7@lab.ntt.co.jp/mbox/",
    "series": [
        {
            "id": 11451,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/11451/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=11451",
            "date": "2017-11-02T07:59:15",
            "name": "tools: bpftool: show filenames of pinned objects",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/11451/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/833246/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/833246/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySHcB2yvWz9t2f\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu,  2 Nov 2017 19:02:02 +1100 (AEDT)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1755690AbdKBICA (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 2 Nov 2017 04:02:00 -0400",
            "from tama50.ecl.ntt.co.jp ([129.60.39.147]:43420 \"EHLO\n\ttama50.ecl.ntt.co.jp\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1755657AbdKBIBo (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 2 Nov 2017 04:01:44 -0400",
            "from vc2.ecl.ntt.co.jp (vc2.ecl.ntt.co.jp [129.60.86.154])\n\tby tama50.ecl.ntt.co.jp (8.13.8/8.13.8) with ESMTP id vA281ReA017510; \n\tThu, 2 Nov 2017 17:01:27 +0900",
            "from vc2.ecl.ntt.co.jp (localhost [127.0.0.1])\n\tby vc2.ecl.ntt.co.jp (Postfix) with ESMTP id 069E75F69F;\n\tThu,  2 Nov 2017 17:01:27 +0900 (JST)",
            "from jcms-pop21.ecl.ntt.co.jp (jcms-pop21.ecl.ntt.co.jp\n\t[129.60.87.134])\n\tby vc2.ecl.ntt.co.jp (Postfix) with ESMTP id EB6B960292;\n\tThu,  2 Nov 2017 17:01:26 +0900 (JST)",
            "from jcms-pop21.ecl.ntt.co.jp (unknown [129.60.241.220])\n\tby jcms-pop21.ecl.ntt.co.jp (Postfix) with ESMTPSA id E4EDB400A80;\n\tThu,  2 Nov 2017 17:01:26 +0900 (JST)"
        ],
        "From": "Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>",
        "Subject": "[PATCH net-next V2 3/3] tools: bpftool: optionally show filenames\n\tof pinned objects",
        "Date": "Thu,  2 Nov 2017 16:59:17 +0900",
        "Message-Id": "<20171102075917.2780-4-bhole_prashant_q7@lab.ntt.co.jp>",
        "X-Mailer": "git-send-email 2.14.2",
        "In-Reply-To": "<20171102075917.2780-1-bhole_prashant_q7@lab.ntt.co.jp>",
        "References": "<20171102075917.2780-1-bhole_prashant_q7@lab.ntt.co.jp>",
        "To": "\"David S . Miller\" <davem@davemloft.net>",
        "Cc": "Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>,\n\tnetdev@vger.kernel.org, Alexei Starovoitov <ast@kernel.org>,\n\tDaniel Borkmann <daniel@iogearbox.net>,\n\tQuentin Monnet <quentin.monnet@netronome.com>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>",
        "X-TM-AS-MML": "disable",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "Making it optional to show file names of pinned objects because\nit scans complete bpf-fs filesystem which is costly.\nAdded option -f|--bpffs. Documentation updated.\n\nSigned-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>\n---\nv2:\n - Change command line option from {-l|--pinned} to {-f|--bpffs}\n - Updated documentation\n\n tools/bpf/bpftool/Documentation/bpftool-map.rst  |  5 ++++-\n tools/bpf/bpftool/Documentation/bpftool-prog.rst |  5 ++++-\n tools/bpf/bpftool/main.c                         | 14 +++++++++++---\n tools/bpf/bpftool/main.h                         |  3 ++-\n tools/bpf/bpftool/map.c                          |  3 ++-\n tools/bpf/bpftool/prog.c                         |  3 ++-\n 6 files changed, 25 insertions(+), 8 deletions(-)",
    "diff": "diff --git a/tools/bpf/bpftool/Documentation/bpftool-map.rst b/tools/bpf/bpftool/Documentation/bpftool-map.rst\nindex abb9ee940b15..543e82660a01 100644\n--- a/tools/bpf/bpftool/Documentation/bpftool-map.rst\n+++ b/tools/bpf/bpftool/Documentation/bpftool-map.rst\n@@ -12,7 +12,7 @@ SYNOPSIS\n \n \t**bpftool** [*OPTIONS*] **map** *COMMAND*\n \n-\t*OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }\n+\t*OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] | { **-f** | **--bpffs** } }\n \n \t*COMMANDS* :=\n \t{ **show** | **dump** | **update** | **lookup** | **getnext** | **delete**\n@@ -86,6 +86,9 @@ OPTIONS\n \t-p, --pretty\n \t\t  Generate human-readable JSON output. Implies **-j**.\n \n+\t-f, --bpffs\n+\t\t  Show file names of pinned maps.\n+\n EXAMPLES\n ========\n **# bpftool map show**\ndiff --git a/tools/bpf/bpftool/Documentation/bpftool-prog.rst b/tools/bpf/bpftool/Documentation/bpftool-prog.rst\nindex 0f25d3c39e05..0b9ab9ca37d6 100644\n--- a/tools/bpf/bpftool/Documentation/bpftool-prog.rst\n+++ b/tools/bpf/bpftool/Documentation/bpftool-prog.rst\n@@ -12,7 +12,7 @@ SYNOPSIS\n \n \t**bpftool** [*OPTIONS*] **prog** *COMMAND*\n \n-\t*OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }\n+\t*OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] | { **-f** | **--bpffs** } }\n \n \t*COMMANDS* :=\n \t{ **show** | **dump xlated** | **dump jited** | **pin** | **help** }\n@@ -75,6 +75,9 @@ OPTIONS\n \t-p, --pretty\n \t\t  Generate human-readable JSON output. Implies **-j**.\n \n+\t-f, --bpffs\n+\t\t  Show file names of pinned programs.\n+\n EXAMPLES\n ========\n **# bpftool prog show**\ndiff --git a/tools/bpf/bpftool/main.c b/tools/bpf/bpftool/main.c\nindex 6ad53f1797fa..d6e4762170a4 100644\n--- a/tools/bpf/bpftool/main.c\n+++ b/tools/bpf/bpftool/main.c\n@@ -54,6 +54,7 @@ static int (*last_do_help)(int argc, char **argv);\n json_writer_t *json_wtr;\n bool pretty_output;\n bool json_output;\n+bool show_pinned;\n struct pinned_obj_table prog_table;\n struct pinned_obj_table map_table;\n \n@@ -265,6 +266,7 @@ int main(int argc, char **argv)\n \t\t{ \"help\",\tno_argument,\tNULL,\t'h' },\n \t\t{ \"pretty\",\tno_argument,\tNULL,\t'p' },\n \t\t{ \"version\",\tno_argument,\tNULL,\t'V' },\n+\t\t{ \"bpffs\",\tno_argument,\tNULL,\t'f' },\n \t\t{ 0 }\n \t};\n \tint opt, ret;\n@@ -272,12 +274,13 @@ int main(int argc, char **argv)\n \tlast_do_help = do_help;\n \tpretty_output = false;\n \tjson_output = false;\n+\tshow_pinned = false;\n \tbin_name = argv[0];\n \n \thash_init(prog_table.table);\n \thash_init(map_table.table);\n \n-\twhile ((opt = getopt_long(argc, argv, \"Vhpj\",\n+\twhile ((opt = getopt_long(argc, argv, \"Vhpjf\",\n \t\t\t\t  options, NULL)) >= 0) {\n \t\tswitch (opt) {\n \t\tcase 'V':\n@@ -290,6 +293,9 @@ int main(int argc, char **argv)\n \t\tcase 'j':\n \t\t\tjson_output = true;\n \t\t\tbreak;\n+\t\tcase 'f':\n+\t\t\tshow_pinned = true;\n+\t\t\tbreak;\n \t\tdefault:\n \t\t\tusage();\n \t\t}\n@@ -316,8 +322,10 @@ int main(int argc, char **argv)\n \tif (json_output)\n \t\tjsonw_destroy(&json_wtr);\n \n-\tdelete_pinned_obj_table(&prog_table);\n-\tdelete_pinned_obj_table(&map_table);\n+\tif (show_pinned) {\n+\t\tdelete_pinned_obj_table(&prog_table);\n+\t\tdelete_pinned_obj_table(&map_table);\n+\t}\n \n \treturn ret;\n }\ndiff --git a/tools/bpf/bpftool/main.h b/tools/bpf/bpftool/main.h\nindex bd6d0663228b..10bc00758246 100644\n--- a/tools/bpf/bpftool/main.h\n+++ b/tools/bpf/bpftool/main.h\n@@ -59,7 +59,7 @@\n #define HELP_SPEC_PROGRAM\t\t\t\t\t\t\\\n \t\"PROG := { id PROG_ID | pinned FILE | tag PROG_TAG }\"\n #define HELP_SPEC_OPTIONS\t\t\t\t\t\t\\\n-\t\"OPTIONS := { {-j|--json} [{-p|--pretty}] }\"\n+\t\"OPTIONS := { {-j|--json} [{-p|--pretty}] | {-f|--bpffs} }\"\n \n enum bpf_obj_type {\n \tBPF_OBJ_UNKNOWN,\n@@ -71,6 +71,7 @@ extern const char *bin_name;\n \n extern json_writer_t *json_wtr;\n extern bool json_output;\n+extern bool show_pinned;\n extern struct pinned_obj_table prog_table;\n extern struct pinned_obj_table map_table;\n \ndiff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c\nindex de0980657cef..e2450c8e88e6 100644\n--- a/tools/bpf/bpftool/map.c\n+++ b/tools/bpf/bpftool/map.c\n@@ -497,7 +497,8 @@ static int do_show(int argc, char **argv)\n \tint err;\n \tint fd;\n \n-\tbuild_pinned_obj_table(&map_table, BPF_OBJ_MAP);\n+\tif (show_pinned)\n+\t\tbuild_pinned_obj_table(&map_table, BPF_OBJ_MAP);\n \n \tif (argc == 2) {\n \t\tfd = map_parse_fd_and_info(&argc, &argv, &info, &len);\ndiff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c\nindex 11375f669fc0..ad619b96c276 100644\n--- a/tools/bpf/bpftool/prog.c\n+++ b/tools/bpf/bpftool/prog.c\n@@ -351,7 +351,8 @@ static int do_show(int argc, char **argv)\n \tint err;\n \tint fd;\n \n-\tbuild_pinned_obj_table(&prog_table, BPF_OBJ_PROG);\n+\tif (show_pinned)\n+\t\tbuild_pinned_obj_table(&prog_table, BPF_OBJ_PROG);\n \n \tif (argc == 2) {\n \t\tfd = prog_parse_fd(&argc, &argv);\n",
    "prefixes": [
        "net-next",
        "V2",
        "3/3"
    ]
}