Show a cover letter.

GET /api/covers/817421/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 817421,
    "url": "http://patchwork.ozlabs.org/api/covers/817421/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170922093926.9723-1-pbutsykin@virtuozzo.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/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": "<20170922093926.9723-1-pbutsykin@virtuozzo.com>",
    "list_archive_url": null,
    "date": "2017-09-22T09:39:24",
    "name": "[v2,0/2] Truncate the tail of the image file in qcow2 shrinking",
    "submitter": {
        "id": 67271,
        "url": "http://patchwork.ozlabs.org/api/people/67271/?format=api",
        "name": "Pavel Butsykin",
        "email": "pbutsykin@virtuozzo.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170922093926.9723-1-pbutsykin@virtuozzo.com/mbox/",
    "series": [
        {
            "id": 4588,
            "url": "http://patchwork.ozlabs.org/api/series/4588/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=4588",
            "date": "2017-09-22T09:39:25",
            "name": "Truncate the tail of the image file in qcow2 shrinking",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/4588/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/817421/comments/",
    "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>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=virtuozzo.com header.i=@virtuozzo.com\n\theader.b=\"H1CpB2yy\"; dkim-atps=neutral",
            "spf=none (sender IP is )\n\tsmtp.mailfrom=pbutsykin@virtuozzo.com; "
        ],
        "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 3xz7l21pYcz9s9Y\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 19:40:46 +1000 (AEST)",
            "from localhost ([::1]:57568 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 1dvKRw-0000Ho-Ab\n\tfor incoming@patchwork.ozlabs.org; Fri, 22 Sep 2017 05:40:44 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:39597)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <pbutsykin@virtuozzo.com>) id 1dvKRQ-0000Fa-9h\n\tfor qemu-devel@nongnu.org; Fri, 22 Sep 2017 05:40:13 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <pbutsykin@virtuozzo.com>) id 1dvKRL-0004a2-Dv\n\tfor qemu-devel@nongnu.org; Fri, 22 Sep 2017 05:40:12 -0400",
            "from mail-eopbgr00133.outbound.protection.outlook.com\n\t([40.107.0.133]:5029\n\thelo=EUR02-AM5-obe.outbound.protection.outlook.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <pbutsykin@virtuozzo.com>)\n\tid 1dvKR9-00047J-Hu; Fri, 22 Sep 2017 05:39:56 -0400",
            "from pavelb-Z68P-DS3.sw.ru (195.214.232.6) by\n\tVI1PR0802MB2559.eurprd08.prod.outlook.com (2603:10a6:800:ae::9) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7;\n\tFri, 22 Sep 2017 09:39:52 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=6o+lkdxgw9Nu0Hpky1ptH3uJ//E0WiCuRMhK/zX0gaU=;\n\tb=H1CpB2yyI39SMqMrGICF+vh077x2QtHvUN6CoxjtebpsYYONcIKuretzUjiQThx0yDwz55eHyS7TB3u9muHT8LfM/Jt7WwvvW39TcbfMzAeU/4zo3wPoZi+NORd0lmBcSB22CHzAR3LIPXmUve3u7O7Y3XXeYkHcQ4jbU9/Ints=",
        "From": "Pavel Butsykin <pbutsykin@virtuozzo.com>",
        "To": "qemu-block@nongnu.org,\n\tqemu-devel@nongnu.org",
        "Date": "Fri, 22 Sep 2017 12:39:24 +0300",
        "Message-Id": "<20170922093926.9723-1-pbutsykin@virtuozzo.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[195.214.232.6]",
        "X-ClientProxiedBy": "HE1PR0401CA0046.eurprd04.prod.outlook.com\n\t(2603:10a6:3:19::14) To VI1PR0802MB2559.eurprd08.prod.outlook.com\n\t(2603:10a6:800:ae::9)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "0d133544-9baa-4990-cbd3-08d5019de080",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:VI1PR0802MB2559; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; VI1PR0802MB2559;\n\t3:YXX3epGeRCf6w5S8HDqDAkoWtewlirZ31I5jtwCS0UMYgbIjb2zS7+9QMwj84AsaVLtIejEjkF6c9WTUeZUuP2JDesCbT2ih+xdsD0bTppSY3rI1Oo8PEEbUn6wYU+xvKY+VE/mB10xm7oSVGyD16qWjR3B0jY+xcdRsL0ndQjiOmp0HBzCN5AMxYVDQeJ3t/Wym1fnRKspzSYaz4JkgSNX8q6gTDaDXW9Eewd9CyWW0lb/X6oGno1F5JZyh39NV;\n\t25:qENWuQR28b2Xe6v+r3AiqVIIMucpH/GvChT9imjBAeI8iR2O6CxVix8pMR7CJ+H0QngEe/6RuntcqWl3VNhCJJoyEqCz1NcPTJoi8Ba51UvqqmRZDp+sD2+Zkdkx7Yl9ZN2qEKiwrXvhVZGmaI1hcu76eyIkSHFw8JV9AUp9Ur521JpQeoFLO0m8GbbsYsLUGZqOGQKt4oBIhJoqryb0oEAOSkGGLBpJ6i3V70DK9lz6JG9lgEX9sT48on1iwwAqy0IsZyicezOWnGqH5md04gVum2HA9I+1kH3aqtYWJXXSWCtrTRxCz5OWGEZKYkOZuUvzdNk4qAnI4qYThZSgNQ==;\n\t31:eRuo1gSiCnCmPMBXMHfTZhQTAlTe3Amt6q61VKXafRZLnE7gTgvdolQOUbz33UBrIoofk8CP1fIizj6CeisuW1IPD10CdTVstwk/tri8RlYl+aPeXN50IdO9p/nVf7hgQaclCoSGbdUJfQ0X5RNpk/yKhkNSNDO527TQ7XHQH5Q3tfaxegdofdzGAkUAJfOLMVZIIdJeIfKeRyi80G2nBWvhvn2835kSwcHc8irAC30=",
            "1; VI1PR0802MB2559;\n\t20:b5yvdCCiNvLkZ7syc/G9zMgSXmwWfMe5T0PCM1lsDm7RelVbbFgxK0EfFKzAf4dhiNKY70j6Ix3wu7N61Z7KBWk8oSW0wo0my8hya6YjXAg5i/+W8PSsAWscuV1fBKnEte258HeXDqn92FZ4iQfbauh7o0mc5A3W9QMw5gJ9Lt13fvFIMjWSiI62qVDskyiO8js0IvsXSAd2T+lVmvPItIOIqmvhVhcOePFRtbaVMXxTVagMHg9FH5DfmyEfCC9Pnn74hkguYi77K2Il2mG0IyUvdeiRD8XQMoZgfg3ZhWfnS0rT9WGuT7W8d1382lqtdkOZktExxokEg++EER+7twwr6ItieJJrsW/s+5QF8OuuGrW4uXYQmgsqEoGvM43iv08elSYMjpnO5/QNE1Ew13xXcu8H2t1VNWvGKuSAlLg=;\n\t4:KwDz8rAfB0dw3b4vdwPJB4Xn2xnASm4KlBInpWN01FfpA6xsM57sYv9tz3vHZtNSm3zzG2hSWS5b3DFr7xaUmqOSi+z4VqHc57yWT2mfrBUdBHmvuwW0nsgx07W/IOKyL8lXHzIC0ZuPHdWmFMq8UMP5P5x5R/LS2CsPv910kWDQV4e0x/fjfvNbson7vDcT0ffysLb2KLrj38TuiEuy5kUY1HjjBbWZq6sJ0lDABw+Ue6VdDDJ7L1xzQAuIREv0",
            "=?us-ascii?Q?1; VI1PR0802MB2559;\n\t23:PnT9z6dwrVH5uBggjh+usxpCAmtTb1MKJgBn0Vz?=\n\t0ffXKswTmZclWNGzOmlZLk/bp9WjXC9z8WlP0XYAdHwzp3lAIWNwGZMafkl6SwPC/CIpuvQbrxVY6BTTCeRKz4XLdpnIVJhS5Oct/IoDLa72FtG5IPJi1BeQrErHRfRDSPY0cZ72MASOItAP2O0O+faXjSXMqm5cXHLXAueJhcmSVfcw/C7s3rctLeUAkj2InPVEr2arnq3aGtUdBqa8ulBAFgvpSqP/M5zBOFFbY4jQscB/ijUVYTwt2FT8wZErPqCT6VZkxr50zDjs442yorjkFzzxiCzgJHrTx+IhMKIUHRCXOX5WRN1sNCsga7tqkY6LnkXbf0kyI2nHSwsbPBfWYKTh3oXQuBU9OuU32EcMMqPU78Re+7wR7ZRHe4JwUC6AYe7m82VGPN3UQtKadiCbBxxXCj9uLcG100WccS1udzlLcAFC5ncXoJhVcVcDs9bLTbNBLoB1/BMw8UY4xwsrNA20qbC63+RHOHK6rCjteluD6vJ/JSS+y9DfR37IuQptcJWMTyHkyl8DoDsjDn16Ek0neor0lcfX3ZggBa5lBJcqohOLxIXjPDJBjKgNbO6IV7PTfNiKo145tdahHRlOBglLuLQv7I7qBPUJaHBYFEgr27tx9Ylmvh91JHCMOyZJoKL8wVp6Hu0ud+sMr7LwO5Q29bsf/0Xkfu2Edb4iiFb80JJmObmu0EXoPtOlblj9bKUcwgPqYc+E3L7Ck4GNQoRmvvQziYwKivWhmue7P2ae3MzPiFFel/U4IqWAE8AxXJitqDTc0WV5cYSFmlrsThgpo98s31iP7VAt7AiYRcjEWebIhtQQ3Hsc+6Ds3u/HBGKmD6bIX1RnuYn0AJUghvctrZBpF53hRsMup4WGWWXMdTxbi0IGHoc/zXHg8ukAV0RmKDtUIG6qxXf5evM3kayjTwGqHTF/vbQ78TXGhxF/9mW71rVT4KVXGwSeUw6a+eF/GR1IWtLd5IEF1aZ1ZLpbbBN4HeqfLfbbsZx4lPpsJdF7c9qj+G/flp+EcUzJPu3tQ3ZHmyO4VZVnHtZMI",
            "1; VI1PR0802MB2559;\n\t6:5PfW8WDZN3nsiMWTZxDFJtckCPd6xTMNqFxfQ+OzIK0Rei7CQGZ0vGOIdKcN2EwLPW8bMBlv6bEnTvK/U0XSvVTUwhz+Lsh+pcit82LYvPgX3pycbr1TdR78R/JqLXxrFqs4tRqF/X91rHCwkV+/KPHOAfVY+SkFqEG36HIpqXo0MKUPVt/RwfunwXUIXXxWPjIMaxbandV7HvjjtJTJOpJsDbL70dafCunJa9xmmVJk28qrKrh/xWU7V6g8MT6YX39dKv+/85xkXNVvK8gXoxQGP4oD3ZPPdQRJ0AWlgiiX3DhdELJyMfEICtYfoQjXBeYAHeTQ4ddrLmFnHOgiQw==;\n\t5:JctekM9k4bpJizOyBM6qjuWFNqSS/pWr1244NWn3ds7GtaVx9KPyiRT9b6zNQHmNJ6eNeNT6wroU/bVMly4ZFYwd6wrj+XEiNmrHR9dlezIPnctLmRanbwVigVzOQu3kMihzM9Qe46mq9ywWZVgzeA==;\n\t24:SGsA5srUtu5S0E+D+AvB8XMMi26pPgQSCEIlpKZ/5cbdJbDxogCWlChltACX43mwTMqFyMNCcXYcaEXdCePD6L8KdkP/PYpezYeLBP2Caww=;\n\t7:mZLiGEb6ptyUOGUoV9Hd99iLGthkM1uMak5VMnTi1WjUpI+MzXiif0DP3Ot+3OhHeDOqzDtPDZjYkwCHb9/baUeO4G9YQtrKgGtCGKZ6jiKnZp7qgidEeTlu4r8f5mWm0dVaJD2VfCoon+Vg4zihha7KT+Fg70g5Cc1LprBV2CX9bHVboWMjjjVbvr4+qIqISoZsSEr4Ko70Vjvb9sVe0tHMgSTBwoOwY9FH+F4IHO4=",
            "1; VI1PR0802MB2559;\n\t20:qZcWQhVNyBexFQdxjfkzSTLMO3xMGlHkj9jH1y9jtwTbrAxup5J6NCjmdAvE36jZiCCF/15hUtPcKzl2Mmx2+i2clUV1Pfh/mXot4JIKxxWsSMReMNEm5aW7JA1gghkxmASQj+deppGsECRnLbsEX9QM5QK18mnumpBBCWn9ZiQ="
        ],
        "X-MS-TrafficTypeDiagnostic": "VI1PR0802MB2559:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<VI1PR0802MB2559CDCD0F7E8581A30C70B1AC670@VI1PR0802MB2559.eurprd08.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:VI1PR0802MB2559; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:VI1PR0802MB2559; ",
        "X-Forefront-PRVS": "0438F90F17",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10019020)(6009001)(346002)(376002)(199003)(189002)(25786009)(106356001)(81156014)(3846002)(81166006)(66066001)(86362001)(8936002)(6116002)(105586002)(7736002)(5660300001)(8676002)(48376002)(69596002)(50466002)(107886003)(189998001)(4326008)(50986999)(6512007)(36756003)(2906002)(47776003)(5003940100001)(97736004)(305945005)(50226002)(16586007)(53416004)(16526017)(6506006)(101416001)(478600001)(53936002)(6666003)(1076002)(6486002)(33646002)(68736007)(316002);\n\tDIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0802MB2559;\n\tH:pavelb-Z68P-DS3.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1;\n\tMX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: virtuozzo.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "virtuozzo.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "22 Sep 2017 09:39:52.1917\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "0bc7f26d-0264-416e-a6fc-8352af79c58f",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR0802MB2559",
        "X-detected-operating-system": "by eggs.gnu.org: Windows 7 or 8 [fuzzy]",
        "X-Received-From": "40.107.0.133",
        "Subject": "[Qemu-devel] [PATCH v2 0/2] Truncate the tail of the image file in\n\tqcow2 shrinking",
        "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": "kwolf@redhat.com, pbutsykin@virtuozzo.com, mreitz@redhat.com,\n\tden@openvz.org, jsnow@redhat.com",
        "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": "Now after shrinking the qcow2 image, at the end of the image file, there might\nbe a tail that probably will never be used. Although it will not bring any\ntangible benefit, we can cut the tail if it is. Yes, it will not free up disk\nspace, but if the blocks were be allocated sequentially and the image is not\nheavily fragmented then the virtual size of the image file will be commensurate\nwith the real size. It also doesn't look like a great plus.. Well, at least we\ncan discuss it.\n\nChanges from v1:\n- rewrite qcow2_get_last_cluster() function according to Max's comments. (2)\n\nPavel Butsykin (2):\n  qcow2: fix return error code in qcow2_truncate()\n  qcow2: truncate the tail of the image file after shrinking the image\n\n block/qcow2-refcount.c | 22 ++++++++++++++++++++++\n block/qcow2.c          | 27 +++++++++++++++++++++++++--\n block/qcow2.h          |  1 +\n 3 files changed, 48 insertions(+), 2 deletions(-)"
}