From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 479DC8017D for ; Thu, 22 Oct 2026 12:30:56 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69MCTctf008307; Thu, 22 Oct 2026 15:29:39 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69MCTctf008307 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=sashiko.virtuozzo.com header.i=@sashiko.virtuozzo.com header.b="ZvY3fYec"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="TdRWrIyr" Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69MCTb9s008303 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 22 Oct 2026 15:29:37 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69MCTb9s008303 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-48dfa054f26so1361630f8f.2 for ; Thu, 22 Oct 2026 05:29:37 -0700 (PDT) X-Gm-Message-State: AFq9FYIeHTinqU4cOzMNeK5Mc5luJY+uBTIKKix0ikRCzvH+zgIsU8Ie vQLcJLCKgvbvmWXT3PypbG5XFe2p0ssez7t0t+3p4Fr2gEq1vydy6EEGoNo6J2Vcaeg4ooZM3ev Ag5inxzPlq6cgGWdyW0OrsCEmh+e02kIFrmPLW+VUNvRjHBDPljkatA== X-Gm-Gg: AYBFou0znB0LXFoXBK3duAKbF3OxxYbJu782gl6UYrszFG4gYec1AjXTn8klUsJROQI vfRbh9OCYDk7Nqc7ebrQF0O/TFJTbUvf1pj9gJZGMYeXOT9Pwz1eAsLq+kK2mZLs2z7dFeqkn+7 +E7XA0BFijUthiWQEBSSmaTr38GKlW+2jmGTLSSysPNW5Rhknkpkk0aXhmrCMfJBu/mOGGs3zHw sIujzv96LV8IVvD4N2t9zuqTrhGF8sf+StXNv91oqxTqD1/Ip27ECLnTVqdxexf21OWx+ETGBIn VvBnC4xMxY5dy0ZHHRO+UHzckT5MX5utAp3OlnoxF9O5KXla88iQthYUpG69z6GPBZyx3uwZqjT 5NS8DGhBgG+wAlksurJ4Rw55ZP8fqVlXE7a/XLyJZRQBoRSkIMVyu4djyeI3PSEWPPtoQiBemQI fzsWjrD3Il9i4miFZXU38ngJZ83AmqtkzD8tTi4aaytEUkRa0xbblQTNSOJ4ZX/yiR8u5QoXSCi IzxY1Djs1p0i5dShvY2 X-Received: by 2002:adf:e00e:0:10b0:48c:43a4:37f2 with SMTP id ffacd0b85a97d-48e264a3c46mr7971270f8f.17.1792672176929; Thu, 22 Oct 2026 05:29:36 -0700 (PDT) X-Received: by 2002:adf:e00e:0:10b0:48c:43a4:37f2 with SMTP id ffacd0b85a97d-48e264a3c46mr7971221f8f.17.1792672176220; Thu, 22 Oct 2026 05:29:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1792672176; cv=none; d=google.com; s=arc-20260327; b=ij9CXOFqim28QVOHyA+EaVRZuv1cmVVI+i5lyyJJKDPi1QETHWtuBpqIBv5M0VEf2j f0tLSpZS7w08C8EstnhLOWXhLc3nbT6EHQVz3mwAhbkAUTBASaytIa677m3cOswMsMFA FwaDCHXnwZ0bETR19UgPu/ph/lMnlCgZNWUNP1ezihtqgeNY+g4JJIbMuJjdAl9r0xja EPa+n2lFHVyO2gkswBNWSn8vgJqR5ZCwO7YNUtsfXkf+nd6YdSi5QK8PR5ur5d/to+kg Y89qaGwVBBM9pG3cwsWeXKqkIMAzWmWM0KhlMl4/K+n8mbq/cKtPdBc/kpo858jE3rkt uWAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:date:content-transfer-encoding:references:in-reply-to :cc:to:subject:from:message-id:dkim-signature:dkim-signature; bh=+UP8MHjMRBOa3yQjMl0oH8yQzN1alI2aKkSOpoNK6kg=; fh=yNBCt7Hmrb0fLD/Y5qEAmoyVV+XR7ugRp0zzKwiXEFA=; b=F/qOdPWPx8RW+8uR3OnVu1HVldClGZa7sLKsskjyhpof6MUHS/YowwciIHo5Td7mPs 8nUlRRz83ntdCrrsIXIo96Oh+kBRIWlTv430BOGKTFg0j/jkQ7bZyI/k9QgZiD5qu2lD 7fn/P3cTc2M5NNryWEnbG7j3ezaUIO7YvmQK90p5rWA0IuTQYgd1REj5PGhl3unc9zy7 idcAwmjX1z9754RPAmivvP320AeposSmTTDDotjNLKDxfh1Jrvt77zFWaE+xpMFGGijn hFS+cJxKeTrnoT/20GsHfveK+WnLco7q4A5zn6wtqlvlc11qLYKSOJJNGGiQetwTRAEA RC5A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=ZvY3fYec; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=TdRWrIyr; spf=pass (google.com: domain of 010701a16396969c-15e1ad1c-bcda-4be0-9724-879749c1dd00-000000@eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) smtp.mailfrom=010701a16396969c-15e1ad1c-bcda-4be0-9724-879749c1dd00-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-6.smtp-out.eu-central-1.amazonses.com (b224-6.smtp-out.eu-central-1.amazonses.com. [69.169.224.6]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e25855143si10989139f8f.172.2026.10.22.05.29.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 22 Oct 2026 05:29:36 -0700 (PDT) Received-SPF: pass (google.com: domain of 010701a16396969c-15e1ad1c-bcda-4be0-9724-879749c1dd00-000000@eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) client-ip=69.169.224.6; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=ZvY3fYec; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=TdRWrIyr; spf=pass (google.com: domain of 010701a16396969c-15e1ad1c-bcda-4be0-9724-879749c1dd00-000000@eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) smtp.mailfrom=010701a16396969c-15e1ad1c-bcda-4be0-9724-879749c1dd00-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1792672175; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=/GuKOhCpE5n2NvtxjUUykGEI259JL0/NHXlqDkp9qcY=; b=ZvY3fYecgkRHIpQa1Wytz/pPGmjtW1ZpK15k96pQnX0tQDnjUEFZ10wctbFWp2Gl hpjrb+r1HMPSU89Y2+6poPLQrADBwtfwZJOtD+jhg5nJq9o/FwFnvNlwao+UA49R/h0 vkm4oY4+nLkNt3n7dISkeGmOfIZ5FWrj1V1B4T/5OTen19CRuhrjvFW1YXhepld+NoF 98ih89dOsQbl0pGdWF4KZuTSyoJUYiSgdeKIPAAieW+bNVUVNibQQv+5DJtWriD+xna OrWDQQBSCht5JojagET/BCtDqX/y8UMKrgBxLoZ0/Ijx4naC+65k4lc9Ya8isfQZEBv fSJXTJSW7Q== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1792672175; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=/GuKOhCpE5n2NvtxjUUykGEI259JL0/NHXlqDkp9qcY=; b=TdRWrIyrpBna6xuNLTTeKfjTjTn1ur3dENaNu0wv6tPVDOSwUuyT9GF3P2sZaxme qYqY6ymNuPSilhNqqeKGwnjwJs31/qhMO9TTV47N6DOvyDyW9eUQQP0UW6ouNZJ43bz MB+Q62uWUxjasOZ0Qc+R4534dO9heGhQE4JdFjxk= Message-ID: <010701a16396969c-15e1ad1c-bcda-4be0-9724-879749c1dd00-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: andrey.zhadchenko@virtuozzo.com, Alexander Ivanov In-Reply-To: <20261022121706.1890593-7-alexander.ivanov@virtuozzo.com> References: <20261022121706.1890593-1-alexander.ivanov@virtuozzo.com> <20261022121706.1890593-7-alexander.ivanov@virtuozzo.com> Date: Thu, 22 Oct 2026 12:29:35 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.22-69.169.224.6 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 69MCTb9s008303 Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v6 6/6] dm-qcow2: truncate unused tail of image on suspend X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gZG0tcWNvdzI6IHNo cmluay10by11c2VkLWVuZCB0cnVzdHMgc3RhbGUgcmVmY291bnRzIG9mIGNyYXNoLWRpcnR5IG9y IHYyIGltYWdlcwotIFtNZWRpdW1dIGRtLXFjb3cyOiBzdGlja3kgbHhfd3JpdGViYWNrX2Vycm9y IHNldCBmcm9tIGEgZGlzY2FyZGVkIGltYWdlIGJsb2NrcyByZXN1bWUKLSBbTWVkaXVtXSBkbS1x Y293MjogcmV2ZXJ0X2xfZW50cmllc191cGRhdGUoKSBza2lwcyBzcGluX2xvY2soKSBvbiBXQVJO X09OX09OQ0UgY29udGludWUgcGF0aAotIFtNZWRpdW1dIGRtLXFjb3cyOiByZWxvY2F0ZV9yZWZj b3VudF90YWJsZSgpIGZyZWVzIGRpcnR5IFIyIG1kIHBhZ2VzIHN0aWxsIGxpbmtlZCBvbiBzbG93 X3diX2JhdGNoX2xpc3QKLS0KCmNvbW1pdCA3ODI2NTAxNjFiZjgwODEyYmI2ODZkZjZkMzQyMTM2 Nzk4ZDYyNzI2CkF1dGhvcjogQWxleGFuZGVyIEl2YW5vdiA8YWxleGFuZGVyLml2YW5vdkB2aXJ0 dW96em8uY29tPgoKZG0tcWNvdzI6IHRydW5jYXRlIHVudXNlZCB0YWlsIG9mIGltYWdlIG9uIHN1 c3BlbmQKClRoaXMgcGF0Y2ggYWRkcyBxY293Ml9jYWxjX3VzZWRfZW5kKCksIHdoaWNoIHNjYW5z IHRoZSByZWZjb3VudCBibG9ja3MKYmFja3dhcmQgZnJvbSBmaWxlX3ByZWFsbG9jYXRlZF9hcmVh X3N0YXJ0IGFuZCBmaW5kcyB0aGUgZW5kIG9mIHRoZSBsYXN0CmNsdXN0ZXIgd2l0aCBhIG5vbi16 ZXJvIHJlZmNvdW50LiBxY293Ml90cnVuY2F0ZV9wcmVhbGxvY2F0aW9ucygpIHRoZW4KdHJ1bmNh dGVzIHRoZSBpbWFnZSBmaWxlIHRvIHRoYXQgZW5kLiBUaGUgc2NhbiBpcyBza2lwcGVkIGFmdGVy IG1kCndyaXRlYmFjayBlcnJvcnMsIGFmdGVyIGEgcmV2ZXJ0ZWQgTDEvTDIgd3JpdGViYWNrIChu ZXcgTURfTFhfUkVWRVJURUQKYW5kIGx4X3dyaXRlYmFja19lcnJvciksIGFuZCBmb3IgZGlydHkg aW1hZ2VzIHdoZW4ga2VybmVsX3NldHNfZGlydHlfYml0CmlzIHNldC4KCkxpbms6IGh0dHBzOi8v dmlydHVvenpvLmF0bGFzc2lhbi5uZXQvYnJvd3NlL1ZTVE9SLTE0ODE3MQoKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZC9kbS1xY293Mi1tYXAuYyBiL2RyaXZlcnMvbWQvZG0tcWNvdzItbWFwLmMK PiAtLS0gYS9kcml2ZXJzL21kL2RtLXFjb3cyLW1hcC5jCj4gKysrIGIvZHJpdmVycy9tZC9kbS1x Y293Mi1tYXAuYwoKWyAuLi4gXQoKPiBAQCAtMTM2Myw2ICsxMzY3LDggQEAgc3RhdGljIHZvaWQg cmV2ZXJ0X2xfZW50cmllc191cGRhdGUoc3RydWN0IHFjb3cyICpxY293Miwgc3RydWN0IHdiX2Rl c2MgKndiZCkKPiAgCQlpZiAoY2xlYXJlZCkKPiAgCQkJY29udGludWU7IC8qIG5vIGNsdXN0ZXIg d2FzIGFsbG9jYXRlZCAqLwo+ICAKPiArCQkvKiBMMS9MMiBvbiBkaXNrIG1heSBwb2ludCB0byB0 aGUgY2x1c3RlciAqLwo+ICsJCXdiZC0+bWQtPnN0YXR1cyB8PSBNRF9MWF9SRVZFUlRFRDsKPiAg CQlzcGluX3VubG9jaygmcWNvdzItPm1kX3BhZ2VzX2xvY2spOwo+ICAJCXBvcyAmPSB+TFhfUkVG Q09VTlRfRVhBQ1RMWV9PTkU7Cj4gIAo+ICAJCS8qCj4gIAkJICogUjEvUjIgc2hvdWxkIGJlIGNh Y2hlZCwgc2luY2Ugd2Ugd2FzIGFibGUKPiAgCQkgKiB0byBzdWJtaXQgY2x1c3RlciBhbGxvY2F0 aW9uLgo+ICAJCSAqLwo+ICAJCXJldCA9IHFjb3cyX2hhbmRsZV9yMXIyX21hcHMocWNvdzIsIHBv cywgTlVMTCwgJnIxLCAmcjIsIGZhbHNlKTsKPiAgCQlpZiAoV0FSTl9PTl9PTkNFKHJldCA8PSAw KSkKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCW1hcmtfY2x1c3Rlcl91bnVzZWQocWNvdzIsIHIy Lm1kLCByMi5pbmRleF9pbl9wYWdlLCBwb3MpOwo+ICAJCXNwaW5fbG9jaygmcWNvdzItPm1kX3Bh Z2VzX2xvY2spOwoKW1NldmVyaXR5OiBNZWRpdW1dCkNhbiB0aGUgY29udGludWUgdGFrZW4gb24g V0FSTl9PTl9PTkNFKHJldCA8PSAwKSBsZWF2ZSB0aGlzIGxvb3AgcnVubmluZwp3aXRob3V0IG1k X3BhZ2VzX2xvY2s/CgpUaGUgbG9jayBpcyBkcm9wcGVkIGp1c3QgYWJvdmUgd2l0aCBzcGluX3Vu bG9jaygpLCBhbmQgaXQgaXMgb25seSByZXRha2VuCmJ5IHRoZSBzcGluX2xvY2soKSBhdCB0aGUg Ym90dG9tIG9mIHRoZSBsb29wIGJvZHksIHdoaWNoIHRoZSBjb250aW51ZQpza2lwcy4gcWNvdzJf aGFuZGxlX3IxcjJfbWFwcygpIGNhbiByZXR1cm4gYSB2YWx1ZSA8PSAwIGluIHNldmVyYWwgY2Fz ZXM6CgogIHFjb3cyX2hhbmRsZV9yMXIyX21hcHMoKQogICAgX19oYW5kbGVfcjFyMl9tYXBzKCkK ICAgICAgY2FsY19yZWZjb3VudGVyc19tYXAoKSBmYWlscyB3aXRoIC1FSU8KICAgICAgY2FsY19y Ml9wYWdlX2lkKCkgcmV0dXJucyAtRUlPIG9yIC1FTk9FTlQKICAgICAgX19oYW5kbGVfbWRfcGFn ZSgpIHJldHVybnMgMCB3aGVuIHRoZSBwYWdlIGlzIG5vdCBjYWNoZWQgYW5kCiAgICAgICAgcWlv IGlzIE5VTEwKICAgICJyZWZibG9jaz0lbGx1LCB3aGlsZSBubyBzbmFwc2hvdHMiIHJldHVybnMg LUVJTwoKQWZ0ZXIgdGhlIGNvbnRpbnVlLCB0aGUgbmV4dCBpdGVyYXRpb24gY2FsbHMgZ2V0X3U2 NF9mcm9tX2JlX3BhZ2UoKSBhbmQKc2V0X3U2NF90b19iZV9wYWdlKCkgb24gd2JkLT5tZC0+cGFn ZSB3aXRob3V0IHRoZSBsb2NrLiBUaGUgY2FsbGVyCmNvbXBsZXRlX3diZCgpIHRoZW4gZG9lczoK CiAgc3Bpbl9sb2NrX2lycXNhdmUoJnFjb3cyLT5tZF9wYWdlc19sb2NrLCBmbGFncyk7CiAgcmV2 ZXJ0X2xfZW50cmllc191cGRhdGUocWNvdzIsIHdiZCk7CiAgY2xlYXJfd3JpdGViYWNrX3N0YXR1 cyhxY293Miwgd2JkLT5tZCwgd2JkLT5yZXQsICZ3YWl0X2xpc3QsICZlbmRfbGlzdCk7CiAgc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmcWNvdzItPm1kX3BhZ2VzX2xvY2ssIGZsYWdzKTsKClNvIGNs ZWFyX3dyaXRlYmFja19zdGF0dXMoKSBhbHNvIHJ1bnMgdW5sb2NrZWQsIGFuZCB0aGUgZmluYWwg dW5sb2NrIGlzCnVuYmFsYW5jZWQuIFRoZSBjb21tZW50IHNheXMgUjEvUjIgc2hvdWxkIGJlIGNh Y2hlZCwgYnV0IG5vdGhpbmcgZW5mb3JjZXMKdGhhdC4gVGhpcyBwYXRjaCBhZGRzIHRoZSBNRF9M WF9SRVZFUlRFRCBhc3NpZ25tZW50IGluIHRoaXMgc2FtZQp1bmxvY2sgd2luZG93IGFuZCByZWxp ZXMgb24gdGhpcyBlcnJvciBwYXRoLiBTaG91bGQgdGhlIGxvY2sgYmUgcmV0YWtlbgpiZWZvcmUg dGhlIGNvbnRpbnVlPwoKPiBAQCAtMjM4NywyMSArMjQ2MywyMSBAQCBzdGF0aWMgaW50IHJlbG9j YXRlX3JlZmNvdW50X3RhYmxlKHN0cnVjdCBxY293MiAqcWNvdzIsIHN0cnVjdCBxaW8gKipxaW8p CgpbIC4uLiBdCgo+IEBAIC0yNDEyLDcgKzI0ODgsNyBAQCBzdGF0aWMgaW50IHJlbG9jYXRlX3Jl ZmNvdW50X3RhYmxlKHN0cnVjdCBxY293MiAqcWNvdzIsIHN0cnVjdCBxaW8gKipxaW8pCj4gIAlm b3IgKGkgPSBwb3M7IGkgPCByMl9lbmQ7IGkgKz0gY2x1X3NpemUpIHsKPiAgCQlyZXQgPSBxY293 Ml9oYW5kbGVfcjFyMl9tYXBzKHFjb3cyLCBpLCBOVUxMLCAmcjEsICZyMiwgZmFsc2UpOwo+ICAJ CWlmIChXQVJOX09OX09OQ0UocmV0IDw9IDApKQo+IC0JCQlnb3RvIGVycl9mcmVlX3IyX3BhZ2Vz Owo+ICsJCQlnb3RvIGVycl9oZHJfd3JpdHRlbjsKPiAgCQltYXJrX2NsdXN0ZXJfdXNlZChxY293 MiwgcjIubWQsIHIyLmluZGV4X2luX3BhZ2UpOwo+ICAJfQoKWyAuLi4gXQoKPiArZXJyX2hkcl93 cml0dGVuOgo+ICsJLyogSGVhZGVyIG9uIGRpc2sgcG9pbnRzIHRvIG5ldyBSMSwgcmVmY291bnRz IG1heSBiZSBpbmNvbnNpc3RlbnQgKi8KPiArCVFDX0VSUihxY293Mi0+dGd0LT50aSwgImZhaWxl ZCB0byByZWxvY2F0ZSByZWZjb3VudCB0YWJsZSIpOwo+ICsJcWNvdzItPnRndC0+bWRfd3JpdGVi YWNrX2Vycm9yID0gdHJ1ZTsKPiAgZXJyX2ZyZWVfcjJfcGFnZXM6Cj4gIAlmb3IgKGkgPSBlbmQ7 IGkgPCByMl9lbmQ7IGkgKz0gY2x1X3NpemUpIHsKPiAgCQlyZXQgPSBoYW5kbGVfbWRfcGFnZShx Y293MiwgaSA+PiBQQUdFX1NISUZULCBOVUxMLCAmbWQpOwo+ICAJCWlmIChyZXQgPD0gMCkKPiAg CQkJYnJlYWs7Cj4gIAkJc3Bpbl9sb2NrX2lycSgmcWNvdzItPm1kX3BhZ2VzX2xvY2spOwo+ICAJ CXFjb3cyX21kX3BhZ2VfZXJhc2UocWNvdzIsIG1kKTsKPiAgCQlzcGluX3VubG9ja19pcnEoJnFj b3cyLT5tZF9wYWdlc19sb2NrKTsKPiAgCQlxY293Ml9mcmVlX21kX3BhZ2UobWQpOwo+ICAJfQoK W1NldmVyaXR5OiBNZWRpdW1dCkNhbiB0aGlzIGNsZWFudXAgZnJlZSBSMiBtZCBwYWdlcyB0aGF0 IGFyZSBzdGlsbCBsaW5rZWQgb24Kc2xvd193Yl9iYXRjaF9saXN0PwoKRWFybGllciBpbiB0aGUg ZnVuY3Rpb24sIG1hcmtfY2x1c3Rlcl91c2VkKCkgY2FsbHMKcWNvdzJfbWRfbWFrZV9kaXJ0eShx Y293MiwgcjJfbWQsIHRydWUpLiBUaGF0IHNldHMgTURfRElSVFksIGRvZXMKbGlzdF9hZGRfdGFp bCgmbWQtPndiX2xpbmssICZxY293Mi0+c2xvd193Yl9iYXRjaF9saXN0KSwgYW5kIG1heSBhcm0K c2xvd193Yl90aW1lci4gVGhlIFIyIHBhZ2VzIGZvciB0aGUgY2x1c3RlcnMgaW4gW2VuZCwgcjJf ZW5kKSBhcmUgdGhlCm9uZXMgdGhlIGNsZWFudXAgbG9vcCBmcmVlcy4KCklmIGEgbGF0ZXIgV0FS Tl9PTl9PTkNFKHJldCA8PSAwKSBjaGVjayBmYWlscywgdGhlIGNvZGUgcmVhY2hlcwplcnJfaGRy X3dyaXR0ZW4gYW5kIGZhbGxzIGludG8gZXJyX2ZyZWVfcjJfcGFnZXMuIFRoZXJlLApxY293Ml9t ZF9wYWdlX2VyYXNlKCkgb25seSBkb2VzIHJiX2VyYXNlKCZtZC0+bm9kZSwgJnFjb3cyLT5tZF9w YWdlcykuCnFjb3cyX2ZyZWVfbWRfcGFnZSgpIHRoZW4gZnJlZXMgdGhlIHBhZ2UuIE5laXRoZXIg b25lIGRvZXMKbGlzdF9kZWwoJm1kLT53Yl9saW5rKSBvciBjbGVhcnMgTURfRElSVFkuCgpUaGUg ZnJlZWQgbWRfcGFnZSBzdGF5cyBvbiBzbG93X3diX2JhdGNoX2xpc3QuIFRoZSB0aW1lciBjYWxs YmFjayBvciB0aGUKd29ya2VyIGNhbiBsYXRlciBzcGxpY2UgdGhhdCBsaXN0IGFuZCByZWFkIG1k LT5zdGF0dXMgYW5kIG1kLT53YmQgb2YgdGhlCmZyZWVkIG1kLiBDb3VsZCB0aGUgZGlydHkgcGFn ZXMgYmUgdW5saW5rZWQgZnJvbSB0aGUgd3JpdGViYWNrIGxpc3QKYmVmb3JlIHRoZXkgYXJlIGZy ZWVkIGhlcmU/IFRoaXMgcGF0Y2ggcm91dGVzIG1vcmUgZmFpbHVyZSBwYXRocyBpbnRvCnRoaXMg c2hhcmVkIGNsZWFudXAuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21kL2RtLXFjb3cyLXRhcmdl dC5jIGIvZHJpdmVycy9tZC9kbS1xY293Mi10YXJnZXQuYwo+IC0tLSBhL2RyaXZlcnMvbWQvZG0t cWNvdzItdGFyZ2V0LmMKPiArKysgYi9kcml2ZXJzL21kL2RtLXFjb3cyLXRhcmdldC5jCj4gQEAg LTE3MCw2ICsxNzAsNyBAQCBzdGF0aWMgdm9pZCBxY293Ml9mcmVlX21kX3BhZ2VzX3RyZWUoc3Ry dWN0IHJiX3Jvb3QgKnJvb3QpCj4gIHZvaWQgcWNvdzJfZmx1c2hfZGVmZXJyZWRfYWN0aXZpdHko c3RydWN0IHFjb3cyX3RhcmdldCAqdGd0LCBzdHJ1Y3QgcWNvdzIgKnFjb3cyKQoKWyAuLi4gXQoK PiBAQCAtMTkxLDEzICsxOTIsMTcgQEAgdm9pZCBxY293Ml9mbHVzaF9kZWZlcnJlZF9hY3Rpdml0 eShzdHJ1Y3QgcWNvdzJfdGFyZ2V0ICp0Z3QsIHN0cnVjdCBxY293MiAqcWNvdzIKPiAgCSAgICAg bm9kZTsgbm9kZSA9IHJiX25leHQobm9kZSkpIHsKPiAgCQltZCA9IHJiX2VudHJ5KG5vZGUsIHN0 cnVjdCBtZF9wYWdlLCBub2RlKTsKPiAgCQkvKiBGSVhNRTogY2FsbCBtZF9tYWtlX2RpcnR5KCkg YW5kIHRyeSBvbmNlIGFnYWluPyAqLwo+IC0JCWlmIChtZC0+c3RhdHVzICYgTURfV1JJVEVCQUNL X0VSUk9SKSB7Cj4gLQkJCVFDX0VSUih0Z3QtPnRpLCAiRmFpbGVkIHRvIHdyaXRlIGRpcnR5IHBh Z2VzIik7Cj4gLQkJCXRndC0+bWRfd3JpdGViYWNrX2Vycm9yID0gdHJ1ZTsKPiAtCQkJYnJlYWs7 Cj4gLQkJfQo+ICsJCWlmIChtZC0+c3RhdHVzICYgTURfV1JJVEVCQUNLX0VSUk9SKQo+ICsJCQl3 Yl9lcnJvciA9IHRydWU7Cj4gKwkJaWYgKG1kLT5zdGF0dXMgJiBNRF9MWF9SRVZFUlRFRCkKPiAr CQkJdGd0LT5seF93cml0ZWJhY2tfZXJyb3IgPSB0cnVlOwo+ICAJfQoKW1NldmVyaXR5OiBNZWRp dW1dCkNhbiB0aGlzIHNldCB0aGUgc3RpY2t5IHRndC0+bHhfd3JpdGViYWNrX2Vycm9yIGZyb20g YW4gaW1hZ2UgdGhhdCBpcwphYm91dCB0byBiZSBkZXN0cm95ZWQ/CgpxY293Ml9mbHVzaF9kZWZl cnJlZF9hY3Rpdml0eSgpIGlzIGFsc28gY2FsbGVkIGZyb20gYSBub24tc3VzcGVuZCBwYXRoOgoK ICBxY293Ml9tZXJnZV9iYWNrd2FyZF9jb21wbGV0ZSgpCiAgICBxY293Ml9mbHVzaF9kZWZlcnJl ZF9hY3Rpdml0eSh0Z3QsIHFjb3cyKTsgLyogRGVsYXllZCBtZCBwYWdlcyAqLwogICAgcWNvdzIt Pmxvd2VyID0gTlVMTDsKICAgIC4uLgogICAgcWNvdzJfZGVzdHJveShxY293Mik7CgpJZiBhIHBh Z2Ugb2YgdGhlIGltYWdlIGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgY2hhaW4gaXMgc3RpbGwgbWFy a2VkCk1EX0xYX1JFVkVSVEVELCB0aGUgdGFyZ2V0LXdpZGUgZmxhZyBpcyBzZXQuIFRoZSBpbWFn ZSBhbmQgaXRzIG1kIHBhZ2VzCmFyZSB0aGVuIGZyZWVkLCBidXQgdGhlIGZsYWcgc3RheXMgc2V0 LiBOb3RoaW5nIGNsZWFycyBpdC4KCnFjb3cyX3dhbnRzX2NoZWNrKCkgbm93IGluY2x1ZGVzIHRo ZSBmbGFnLCBzbyBxY293Ml9wcmVyZXN1bWUoKSBmYWlscwp3aXRoOgoKICBpZiAocWNvdzJfd2Fu dHNfY2hlY2sodGd0KSkgewogICAgICAgICAgUUNfRVJSKHRpLCAiaW1hZ2UgY2hlY2sgYW5kIHRh cmdldCByZWxvYWQgYXJlIHJlcXVpcmVkIik7CiAgICAgICAgICByZXR1cm4gLUVJTzsKICB9CgpU aGUgc3Vydml2aW5nIGltYWdlIGlzIHRoZW4gcmVmdXNlZCByZXN1bWUsIGFuZApxY293Ml90cnVu Y2F0ZV9wcmVhbGxvY2F0aW9ucygpIHNraXBzIHRoZSBzaHJpbmssIGV2ZW4gdGhvdWdoIHRoZSBz dGFsZQpwYWdlIG5vIGxvbmdlciBleGlzdHMuIFRoZSBleGlzdGluZyBtZF93cml0ZWJhY2tfZXJy b3IgaGFzIHRoZSBzYW1lCmltcHJlY2lzaW9uIG9uIHRoaXMgcGF0aCwgYnV0IGlzIHRoYXQgaW50 ZW5kZWQgZm9yIHRoZSBuZXcgZmxhZyBhcyB3ZWxsPwoKPiBAQCAtMTA0OCwxMSArMTA1MywzNCBA QCBzdGF0aWMgdm9pZCBxY293Ml90cnVuY2F0ZV9wcmVhbGxvY2F0aW9ucyhzdHJ1Y3QgZG1fdGFy Z2V0ICp0aSkKClsgLi4uIF0KCj4gKwlpZiAodGd0LT5tZF93cml0ZWJhY2tfZXJyb3IpIHsKPiAr CQlRQ19JTkZPKHRpLCAiU2tpcCBzaHJpbmtpbmcgdG8gdXNlZCBlbmQgYWZ0ZXIgbWQgd3JpdGVi YWNrIGVycm9yIik7Cj4gKwl9IGVsc2UgaWYgKHRndC0+bHhfd3JpdGViYWNrX2Vycm9yKSB7Cj4g KwkJUUNfSU5GTyh0aSwgIlNraXAgc2hyaW5raW5nIHRvIHVzZWQgZW5kIGFmdGVyIHJldmVydGVk IEwxL0wyIHdyaXRlYmFjayIpOwo+ICsJfSBlbHNlIGlmIChrZXJuZWxfc2V0c19kaXJ0eV9iaXQg JiYKPiArCQkgICAocWNvdzItPmhkci5pbmNvbXBhdGlibGVfZmVhdHVyZXMgJgo+ICsJCSAgICBJ TkNPTVBBVElCTEVfRkVBVFVSRVNfRElSVFlfQklUKSkgewo+ICsJCVFDX0lORk8odGksICJTa2lw IHNocmlua2luZyB0byB1c2VkIGVuZCBvZiBkaXJ0eSBpbWFnZSIpOwo+ICsJfSBlbHNlIHsKPiAr CQl1c2VkX2VuZCA9IHFjb3cyX2NhbGNfdXNlZF9lbmQocWNvdzIpOwo+ICsJCWlmICh1c2VkX2Vu ZCA8IDApCj4gKwkJCVFDX0VSUih0aSwgIkNhbid0IGZpbmQgdXNlZCBlbmQ6ICVwZSIsIEVSUl9Q VFIodXNlZF9lbmQpKTsKPiArCQllbHNlCj4gKwkJCWVuZCA9IHVzZWRfZW5kOwo+ICsJfQoKW1Nl dmVyaXR5OiBNZWRpdW1dCklzIHRoaXMgZ3VhcmQgZW5vdWdoIHRvIHByb3RlY3QgYWdhaW5zdCB0 cnVuY2F0aW5nIGJlbG93IGNsdXN0ZXJzIHRoYXQKTDEvTDIgc3RpbGwgcmVmZXJlbmNlIGFmdGVy IGEgY3Jhc2g/CgpUaGUgb25seSBwcm90ZWN0aW9uIGFnYWluc3Qgc3RhbGUgcmVmY291bnRzIGlz OgoKICBrZXJuZWxfc2V0c19kaXJ0eV9iaXQgJiYgKHFjb3cyLT5oZHIuaW5jb21wYXRpYmxlX2Zl YXR1cmVzICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOQ09NUEFUSUJMRV9GRUFUVVJF U19ESVJUWV9CSVQpCgprZXJuZWxfc2V0c19kaXJ0eV9iaXQgaXMgYSBzdGF0aWMgYm9vbCB0aGF0 IGRlZmF1bHRzIHRvIGZhbHNlLCBzbyB0aGlzCmJyYW5jaCBpcyBpbmFjdGl2ZSBieSBkZWZhdWx0 LiBJbiBxY293Ml9jaGVja19jb252ZXJ0X2hkcigpLCB2MiBpbWFnZXMKcmV0dXJuIGVhcmx5OgoK ICBpZiAoaGRyLT52ZXJzaW9uID09IDIpCiAgICAgICAgICByZXR1cm4gMDsKCiAgaGRyLT5pbmNv bXBhdGlibGVfZmVhdHVyZXMgPSBiZTY0X3RvX2NwdShyYXdfaGRyLT5pbmNvbXBhdGlibGVfZmVh dHVyZXMpOwoKVGhhdCByZXR1cm4gY29tZXMgYmVmb3JlIGluY29tcGF0aWJsZV9mZWF0dXJlcyBp cyByZWFkLCBzbyB0aGUgZmllbGQKc3RheXMgMCBhbmQgdGhlIGd1YXJkIGNhbiBuZXZlciBmaXJl IGZvciB2MiBpbWFnZXMuIFRoZSBvcGVuLXRpbWUKZGlydHktYml0IGNoZWNrIGluIHFjb3cyX2No ZWNrX2NvbnZlcnRfaGRyKCkgaXMgY29tbWVudGVkIG91dDoKCiAgLy8JaWYgKCFpc19ybyAmJiBr ZXJuZWxfc2V0c19kaXJ0eV9iaXQgIT0KICAvLwkgICAgIShoZHItPmluY29tcGF0aWJsZV9mZWF0 dXJlcyAmIElOQ09NUEFUSUJMRV9GRUFUVVJFU19ESVJUWV9CSVQpKQogIC8vCQlyZXR1cm4ga2Vy bmVsX3NldHNfZGlydHlfYml0ID8gLUVVQ0xFQU4gOiAtRU5PTENLOwoKU28gdGhlIGtlcm5lbCBk b2VzIG5vdCBlbmZvcmNlIHRoYXQgdGhlIGltYWdlIHdhcyBjaGVja2VkIGJlZm9yZSBhbiBSVwpv cGVuLgoKSWYgcmVmY291bnRzIGFyZSBiZWxvdyByZWFsIHVzYWdlIGFmdGVyIGEgY3Jhc2gsIHFj b3cyX2NhbGNfdXNlZF9lbmQoKQpyZXR1cm5zIGFuIGVuZCBiZWxvdyBjbHVzdGVycyB0aGF0IEwy IHN0aWxsIHBvaW50cyB0by4gSXQgaXMgY29tcHV0ZWQKcHVyZWx5IGZyb20gb24tZGlzayBSMiBl bnRyaWVzLiBxY293Ml90cnVuY2F0ZV9zYWZlKCkgdGhlbiBjdXRzIHRob3NlCmNsdXN0ZXJzIG9m ZiwgZXZlbiBvbiBhIHBsYWluIHN1c3BlbmQsIHJlbW92ZSBvciB0YWJsZSBzd2FwIHdpdGggbm8g Z3Vlc3QKd3JpdGVzIGluIHRoZSBzZXNzaW9uLgoKVGhlIGNvbW1pdCBtZXNzYWdlIHNheXMgZmlu ZF91bnVzZWRfY2x1c3RlcigpIGFscmVhZHkgcmVsaWVzIG9uIHRoZSBzYW1lCnVzZXJzcGFjZSBj b250cmFjdC4gVGhhdCBwYXRoIGlzIG9ubHkgcmVhY2hlZCBvbmNlIGEgZ3Vlc3Qgd3JpdGUgbmVl ZHMgYQpuZXcgY2x1c3Rlciwgd2hpbGUgdGhpcyB0cnVuY2F0aW9uIHJ1bnMgb24gZXZlcnkgUlcg c3VzcGVuZCwgcmVtb3ZlIGFuZApyZWxvYWQuCgpTaG91bGQgdGhlIHNocmluayBiZSBza2lwcGVk IG9yIGVuZm9yY2VkIGluLWtlcm5lbCBmb3IgdjIgaW1hZ2VzIGFuZCBmb3IKdGhlIGRlZmF1bHQg a2VybmVsX3NldHNfZGlydHlfYml0IHNldHVwPwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0 dHBzOi8vc2FzaGlrby52emludC5kZXYvIy9wYXRjaHNldC8yMDI2MTAyMjEyMTcwNi4xODkwNTkz LTEtYWxleGFuZGVyLml2YW5vdkB2aXJ0dW96em8uY29tP3BhcnQ9NgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGV2ZWwgbWFpbGluZyBsaXN0CkRldmVs QG9wZW52ei5vcmcKaHR0cHM6Ly9saXN0cy5vcGVudnoub3JnL21haWxtYW4vbGlzdGluZm8vZGV2 ZWwK