From nobody Thu Apr 25 03:50:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1515748018320386.4118475067213; Fri, 12 Jan 2018 01:06:58 -0800 (PST) Received: from localhost ([::1]:55139 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvIf-000710-A1 for importer@patchew.org; Fri, 12 Jan 2018 04:06:57 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43191) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvDd-0003Dq-FT for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZvDZ-0000I7-3x for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:45 -0500 Received: from mail-eopbgr60112.outbound.protection.outlook.com ([40.107.6.112]:3712 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eZvDY-0000F6-RF; Fri, 12 Jan 2018 04:01:41 -0500 Received: from localhost.sw.ru (195.214.232.6) by DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 09:01:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=4PSk5RLbX+YFGMmcjui8HtfP5PJiLV4ZN4yb1wfRdt0=; b=LHJZzI9/IvtRKHmVumJiO03Vja/qSJ/gOV3JCRXJzmb26KUZvxNJUz9I8wnFAHYbLPGYyZ/PlSUnBTZnshFggz+gy+l9j58bm8QQ5wZf1hrl/eZd5pjvLXPTOpDn/umXW3a90NGhxlZWI66oXqQc7nAERK9hMVYleLb5Nf590ZY= From: Klim Kireev To: qemu-devel@nongnu.org Date: Fri, 12 Jan 2018 12:01:18 +0300 Message-Id: <20180112090122.1702-2-klim.kireev@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180112090122.1702-1-klim.kireev@virtuozzo.com> References: <20180112090122.1702-1-klim.kireev@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR05CA0269.eurprd05.prod.outlook.com (2603:10a6:3:fc::21) To DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 93bae4d5-4beb-4299-4d1c-08d5599b166e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020079)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0801MB2070; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 3:EIukBRqcz5DTiCfNuvkUsIUdz6aASpnnzbbBbKVCblcgJv+gX1h19D66Ulbw+JR9XEnseeGlnz46KdB5k/qX1SIWoF68cXShUGDNMOQ8mdVm1gTqMBsrpw7fl6ryoA0/+WAs4HcVcghfjMbpOGdt6PNqtgrQdAbKYmmmFHVfXT+nw960/6LxFC8ve53eR7pcD6D811ieJO8Jwjm7Jrm/M2AG6mui3nFL7xfeA1shS7c9OGpTgCLhA42fJ4BEUB3d; 25:FxALj5DAV5yRQo2uy2x3MZtkiaR4unlFh8C/Z8ewT+NKXZ09VpVQMF3I3FZmjhZOfcmyCeVluH0uGSwLJKse83b/Dn9jqvkTUkyDImGRRULYUUnF4jAJQf2cBopmpzjhSFqJfsXl3KN8cF9baPRONEF/uchSttYbU6bqA2t30mj95hLz7PwOCEbd3iOeHJxAPe0fThUO6FZFtYPcnwrR4Z6GZ8BA6goolIh+GhutCUAP4fpnf6MdyQ9Wn63poNxmzbBCqrt5Wii8pnPTwzy15FxKIz5dXy9hzVHDyh2iYmLtwpIk2MnvXkcg7+QztCEEhxCEAaSm9fq1XesJqvxnIQ==; 31:4gk43YPv2UR0Y92Bz5HYSWFkkkJQ65LAtl0+zQLL9wGviPRJcEEbBIjGThbMtS37+NOW+evOg3U3wvpEM+/BdzM5ehDjq58TIzEIZGn8OEgx/WrYfvL4HVsgWxdbfC9cmuCWVhVG+HU/vPHXHCZYbQromj2FukhLfoGCrBjQCKoLWGiswDP3z1oeZ5XaIbp6eCpGU0YYREbneF394UJyptxBmpNeltwQJNcnYWLZPiY= X-MS-TrafficTypeDiagnostic: DB6PR0801MB2070: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=klim.kireev@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:hNoLP1a/5eCuNUmchowldL5qeyaxqj9mFmYtLgPk5WRWviLsD/bgf0E1pB+GtEwDnQXD7ei/k4krH6KlT2W77GMg5Pv6Sj/kucAWETzrYXUT57N4T09CWhylMRsiNwPxmLgYMk0Z1MZKk5H30ffGt/z6u2Uy+j1WH0gdLSLtjZcviGGENgtIXHC+8phpv5a4I9sDexFXZftWjI+lSBU3eLc/R10HUxnzT04UOBglt9veRjTYVgQyiPO7UsgCoWZgl+jndZLeN8WCJENPIvkGgDs/nKBhHLt49MxpfuGuHJJ+Q2YPvqIrY1r9STaEMV+jGh9JXT7SWCOhbWFEu9uG5RG0zIDHNJtiH1+ii6N/0ISdDcA/jQkIZLwvk8OFCVUw3YqIaQKB3pOcq3l5xFoGUYg1oV6kMH7p2i2LZo/GTtY=; 4:DLYQGZnaZrW1riiEsSXAheEPKEb17Q1XBhrWVgSN+KU43eNNJwlPTax/dMnTYCv1T792t7Z76f1pMb+BrQzVLsm58fCLF4QfLNxSpUbAFz8oRQSRXD8SWZ5ED7sz5WGv5VzHc/LW92vmy7Cf2T62zBOYRMmnPqKBRb0dl+AVPXrBm5O79DH4iGgX9WQZBvFJefGG2C9uGO+Yj4KDFutpUv/TWNXZSCIf4sx0LSiHsAyLcI/+xypOS7xHTm++uI3JYZLIfl8wJ5hvNRo7xQnRoR6VZmhpKOfZ47MEjpanT6yzaxvYYg0xsktuwQk2N4aajuwH/uYd3kL81eCkhwgp1fBUfOkgv/cGfpMQsAOchuw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(131327999870524); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501141)(10201501046)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DB6PR0801MB2070; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB2070; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(376002)(396003)(39850400004)(39380400002)(346002)(199004)(189003)(1076002)(386003)(69596002)(2351001)(66066001)(7736002)(6486002)(305945005)(2361001)(76176011)(51416003)(25786009)(36756003)(59450400001)(2906002)(52116002)(6506007)(47776003)(4326008)(6666003)(2950100002)(97736004)(5660300001)(6916009)(16586007)(50466002)(8936002)(81166006)(16526018)(81156014)(8676002)(48376002)(50226002)(316002)(76506005)(106356001)(6512007)(575784001)(86362001)(53416004)(6116002)(53936002)(3846002)(68736007)(478600001)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB2070; H:localhost.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB2070; 23:1tbUb33Q/0euE4L2Hq2sQ0OOtQYMMJhNVgtE6cz?= =?us-ascii?Q?hnXPp/jBTUGu+2eqUdkA3v+pX4/uhl824R50rxftHQujQQ2ZE0rxH1DMR5qt?= =?us-ascii?Q?RZDpW6ZpwLK5/q4PA6EOGEsjK5pTip8zJojiK1U2M3S8IjT44NJZLiW4tOgZ?= =?us-ascii?Q?cAI+jGLepmRZkeuBai/7sPgYk5D51h7jxfN/M8363GTqZzp8TpvMnaWHtPck?= =?us-ascii?Q?APJBxDRS4gcKqOtIWDpNewd86HyjguvwbrffbosOAQ3gb87ZQ18ebVvVTV+r?= =?us-ascii?Q?NokallOrwCPvOpVUM2jgxpaClTUr0j3zSKJlpyRYZkVhB3fvYvIOgk18kSYF?= =?us-ascii?Q?SToJZdQ/twNMyQ/fy/dfRUOzSLY0IXhZpWO8qs6AA+Dwm5fT+yJS3GEgBzta?= =?us-ascii?Q?m6PeIQ1eJoobt0O9hGss5o4RgNo3kpVq4nPKM1ewxkBvy5pGaSHEIXjQCwWp?= =?us-ascii?Q?bUorUrWp0g8DwM/vC5DPWbQ4tOgpn6lBlY0YQf7TjHh/1jxiD6PCE7wewPgl?= =?us-ascii?Q?kkUfKoScxnuJQj2AmkcVqRSg50OgpIBKkwCC//jnBRpRNb7EbHlQ71psc8XJ?= =?us-ascii?Q?CpGpgVXjV3aWG0vgLgpNcP5aPVrym0zGI++1GH7keOrovx/LdGGuZO8tBcLz?= =?us-ascii?Q?XCu9hwxH5P2w5DDeY766tQitxJIuEi5Qa4Pa4xCGkpcLQZHYlM6No6VAF+28?= =?us-ascii?Q?NTvlKDCQ1AdpuvXrjvU72GY70rb8fdlmQnDPUgK+36kXR3msA6Nos42HQ1qU?= =?us-ascii?Q?AehYCw5hSyahqpjAbgXL1ZDAeoFfTTe7aSkFNImKVLVb8VYLcU0GDFoxj11q?= =?us-ascii?Q?9oVUiAcZI3ii0ofqyMp2fqy4saPD9b55jRkXg9rZ1qcJz7meQTQB/lGDcTky?= =?us-ascii?Q?MKJZ+d0V73tIwJt7WidTikIuveJfPSXqk66UdtW+cHXgIEbxg5n9k3Hwam1p?= =?us-ascii?Q?5bd1OWApmg4CttU/KGMOUo4zsWE9RENlJAVNoan9dKqEKpu7yIb2XRBXe3QT?= =?us-ascii?Q?pnWkwdo4xNRCSqKUUbA+BXxUX4+in+XfNvurboxuAuKDTfw3Z+lohKHOdLdp?= =?us-ascii?Q?lV7NfZbpSdj3uglI6bCNvMINOS1l0Ju1ExaUi72D83MEajtBQQ6CCLAOdyx8?= =?us-ascii?Q?7dc9cka5oASrRwKQVAcSgCViVa/hrsnLw/MUtnnhXi0TefPuIwwN2xzsPr3n?= =?us-ascii?Q?fh6b+RL5KH3lEfpQ1/kVuWzaiiWu59BYk9UDF3QxgbHdHaKoHMYyKq9YspIw?= =?us-ascii?Q?0NHZHJZm5zi5Gm5VOKltzyB8Tq+7QaA/RsbpYefso?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 6:AV/a/X+FWji8AO3Oux0q5pz0F9DE4v29iz/IOmSeB5yBiEdwvc4dOHOZsu5yZfyyoqOE4If5Fx1wWewy7o6IflYJL87ukgLreqhqK4Xe9oQI4uLq3xhNzkP0IMiWiOgB8UNMw2uXxOwQNMQ17IYFoquN2ReqPyNEhrYS/ZfjBLX27HYj8MwbggAZkwhzOW2o1m/om4+P6nhgoTffcQHtq9uhiCkCUkHPOEM0+iisELxZHunQT6I2JcU46vmNBC3evYz+JGStFEing2L8QXwu5bHVm6n/iqjmmJlVc1I0MpKvLtHzKOAFryiZXX9DjfeQuJFHzlQOXl4MIiDebJ6MeMKFVmk0W473PoeiknjvyRo=; 5:HTf3mXg7bRITE4O8jp5kthyGsJO1oe/S6e82pH7R6lgJcq6P2nj/Ke7ijTalHZlRzv9Am/ql9NJS1NduZ4OpOJZJIRnovbFzxKa10YCLgFWMnvJdSTINUJx4y8pA6+bOjlhkCt2Xmz6xAN/VguPlH8/LS/S4hNqZk3/G/htDNeo=; 24:XT+vGRPeu4AcZ0LMeBrFi+S1l1fMxHZXJKbfbe/LBeh3OUU6fw9bKnIcMMje+Nx1eTJ7d5PrtrzXeSdUCdGEl67gXkUT1cNwtcFMYDByvFA=; 7:SiJOWR23yeibUjB3Hnt0VML1Zab8mcM+qtzhK6f1/XE4Aa3zJykEXcVi6YGNWPdmTWMuWK9PLysO449tDx6Gppv28f/XQkm79VDcBaOJLHSSGySUM+CEEyTCwThL8qiDfWJTXReVz6FjI+cfx8UT9P8Xy4AojCsLTbRqFEzfnj1dKXhoOEkpvVUbh+THTpJubmLSkbS4dnIp+Waf7f2uq8CF52Ths7a3qmfClCAHQ1D59DAeRa87y6SZ1ybtq5M6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:OyPlIQpeOvqvJdStbartFHD5Rcjf3zEQ4P/HHmHLCRXXiIT21DDu5uBR/JIShMAyCdEfkwtS4xbVqelnyw07wpprVSRxic9mWuoPhgpttnNx+dTTW86cz4lAihYeDxiUMpY2V5X7ImV9BlQ1KkL3OkxItDPnabRfEz4TiwuMpJg= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 09:01:36.7829 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93bae4d5-4beb-4299-4d1c-08d5599b166e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2070 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.6.112 Subject: [Qemu-devel] [PATCH 1/5] docs/interop/prl-xml: description of Parallels Disk format X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, den@openvz.org, stefanha@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This patch adds main information about Parallels Disk format, which consists of DiskDescriptor.xml and other files. Signed-off-by: Edgar Kaziakhmedov Signed-off-by: Klim Kireev Signed-off-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Denis V. Lunev CC: Stefan Hajnoczi --- docs/interop/prl-xml.txt | 158 +++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 158 insertions(+) create mode 100644 docs/interop/prl-xml.txt diff --git a/docs/interop/prl-xml.txt b/docs/interop/prl-xml.txt new file mode 100644 index 0000000000..7031f8752c --- /dev/null +++ b/docs/interop/prl-xml.txt @@ -0,0 +1,158 @@ +=3D License =3D + +Copyright (c) 2015-2017, Virtuozzo, Inc. +Authors: + 2015 Denis Lunev + 2015 Vladimir Sementsov-Ogievskiy + 2016-2017 Klim Kireev + 2016-2017 Edgar Kaziakhmedov + +This work is licensed under the terms of the GNU GPL, version 2 or later. +See the COPYING file in the top-level directory. + +This specification contains minimal information about Parallels Disk Forma= t, +which is enough to proper work with QEMU. Nevertheless, Parallels Cloud Se= rver +and Parallels Desktop are able to add some unspecified nodes to xml and use +them, but they are for internal work and don't affect functionality. Also = it +uses auxiliary xml "Snapshot.xml", which allows to store optional snapshot +information, but it doesn't influence open/read/write functionality. QEMU = and +other software should not use fields not covered in this document and +Snapshot.xml file and must leave them as is. + +=3D Parallels Disk Format =3D + +Parallels disk consists of two parts: the set of snapshots and the disk +descriptor file, which stores information about all files and snapshots. + +=3D=3D Definitions =3D=3D + Snapshot a record of the contents captured at a particular time, + capable of storing current state. A snapshot has UUID a= nd + parent UUID. + + Snapshot image an overlay representing the difference between this + snapshot and some earlier snapshot. + + Overlay an image storing the different sectors between two capt= ured + states. + + Root image snapshot image with no parent, the root of snapshot tre= e. + + Storage the backing storage for a subset of the virtual disk. W= hen + there is more than one storage in a Parallels disk then= that + is referred to as a split image. In this case every sto= rage + covers specific address space area of the disk and has = its + particular root image. Split images are not considered = here + and are not supported. Each storage consists of disk + parameters and a list of images. The list of images alw= ays + contains a root image and may also contain overlays. The + root image can be an expandable Parallels image file or + plain. Overlays must be expandable. + + Description DiskDescriptor.xml stores information about disk parame= ters, + file snapshots, storages. + + Top The overlay between actual state and some previous snap= shot. + Snapshot It is not a snapshot in the classical sense because it + serves as the active image that the guest writes to. + + Sector a 512-byte data chunk. + +=3D=3D Description file =3D=3D +All information is placed in a single XML element Parallels_disk_image. +The element has only one attribute "Version", that must be 1.0. +Schema of DiskDescriptor.xml: + + + + ... + + + ... + + + ... + + + +=3D=3D Disk_Parameters element =3D=3D +The Disk_Parameters element describes the physical layout of the virtual d= isk +and some general settings. + +The Disk_Parameters element MUST contain the following child elements: + * Disk_size - number of sectors in the disk, + desired size of the disk. + * Cylinders - number of the disk cylinders. + * Heads - number of the disk heads. + * Sectors - number of the disk sectors per cylinder + (sector size is 512 bytes) + Limitation: Product of the Heads, Sectors and Cylinders + values MUST be equal to the value of the Disk_size param= eter. + * Padding - must be 0. Parallels Cloud Server and Parallels Desktop = may + use padding set to 1, however this case is not covered + by this spec, QEMU and other software should not open + such disks and should not create them. + +=3D=3D StorageData element =3D=3D +This element of the file describes the root image and all snapshot images. + +The StorageData element consists of the Storage child element, as shown be= low: + + + ... + + + +A Storage element has following child elements: + * Start - start sector of the storage, in case of non split storage + equals to 0. + * End - number of sector following the last sector, in case of n= on + split storage equals to Disk_size. + * Blocksize - storage cluster size, number of sectors per one cluster. + Cluster size for each "Compressed" (see below) image in + parallels disk must be equal to this field. Note: cluster + size for Parallels Expandable Image is in 'tracks' field= of + its header (see docs/interop/parallels.txt). + * Several Image child elements. + +Each Image element has following child elements: + * GUID - image identifier, UUID in curly brackets. + For instance, {12345678-9abc-def1-2345-6789abcdef12}. + The GUID is used by the Snapshots element to reference images + (see below) + * Type - image type of the element. It can be: + "Plain" for raw files. + "Compressed" for expanding disks. + * File - path to image file. Path can be relative to DiskDecriptor.xml= or + absolute. + +=3D=3D Snapshots element =3D=3D +The Snapshots element describes the snapshot relations with the snapshot t= ree. + +The element contains the set of Shot child elements, as shown below: + + ... /* Optional child element */ + + ... + + + ... + + ... + + +Each Shot element contains the following child elements: + * GUID - an image GUID. + * ParentGUID - GUID of the image of the parent snapshot. + +The software may traverse snapshots from child to parent using +field as reference. ParentGUID of root snapshot is +{00000000-0000-0000-0000-000000000000}. There should be only one root +snapshot. Top snapshot could be described via two ways: via TopGUID child +element of the Snapshots element or via predefined GUID +{5fbaabe3-6958-40ff-92a7-860e329aab41}. If TopGUID is defined, predefined = GUID is +interpreted as usual GUID. All snapshot images (except Top Snapshot) shoul= d be +opened read-only. There is another predefined GUID, +BackupID =3D {704718e1-2314-44c8-9087-d78ed36b0f4e}, which is used by orig= inal and +some third-party software for backup, QEMU and other software may operate = with +images with GUID =3D BackupID as usual, however, it is not recommended to = use this +GUID for new disks. Top snapshot cannot have this GUID. --=20 2.14.3 From nobody Thu Apr 25 03:50:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1515748203082794.5469296901919; Fri, 12 Jan 2018 01:10:03 -0800 (PST) Received: from localhost ([::1]:55240 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvLb-0001Cp-QA for importer@patchew.org; Fri, 12 Jan 2018 04:09:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43190) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvDd-0003Dp-FM for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZvDZ-0000IX-Ed for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:45 -0500 Received: from mail-eopbgr60112.outbound.protection.outlook.com ([40.107.6.112]:3712 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eZvDZ-0000F6-8h; Fri, 12 Jan 2018 04:01:41 -0500 Received: from localhost.sw.ru (195.214.232.6) by DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 09:01:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Ee/m45CBvsRSIXqIrtRwfxuPYG1FQu4hyrBuhhMaC30=; b=gAppMb8LXLsyoSFjTeBq74y5gIgKmZArh0UDwj8ZZky0y4ke2sHiINHnKqZNPW+hd7AOBUKoyuGVzS1zF7D1owgVyhjAzmYG3snPipaAsXiEmZKRbPr4PybpUDRheTUfArMlqIiWQVYlFfYo7CLZ5LlpHu550Ou1JvvtII90TLU= From: Klim Kireev To: qemu-devel@nongnu.org Date: Fri, 12 Jan 2018 12:01:19 +0300 Message-Id: <20180112090122.1702-3-klim.kireev@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180112090122.1702-1-klim.kireev@virtuozzo.com> References: <20180112090122.1702-1-klim.kireev@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR05CA0269.eurprd05.prod.outlook.com (2603:10a6:3:fc::21) To DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5aaeac6d-35b4-484b-1f26-08d5599b1702 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020079)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0801MB2070; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 3:nCB23cias7LPnwXSOIkqKO+r1pt4ArF1G7oWKaMgWiACWJ6GsvA/iS83b22Pg/jFfYRTSvXemc5PgisBIvA0kX4XvLUIHB83LbNdidsgI20M3lX1jTel61BoL+7X7UbdEc6xVt5pTRd9ZrpqfVYPiW0ZnPwGU6Ybz10a+1nji0x82APicpRP9HDCD/d5VHzv7OBG4hZxZvpngKheEMBetaGyaXN6928G+CIDceS0mUGYlyeCbnFFhMtL8lHir0b3; 25:4dysLvUeV7zysIbxc/l65KEc/Zh7ihBcoL8YuGJADYXYZOeRDmfALe8n0odXnlP/if61HpIuI5ZUEsRfYfET1fl5SDo9uar8NK9Fz4xT79BHdUL/JrO4TYFw0yboV81aPVB+78WjDpfhVIaImS8R2UZ6eAjhHZ6+1ZFxN7bAExoNSG/GKBC3vl5/luB+KpgeRR83S2rilk9cGxDGUx5wPjuct9IkXS3e0v0ZR847ZvQjXlU5iZPiD/rfAAxLeah/j+EfjJHQL0CTBhVZPSQOSsNrTTmf3aYxuD17wYeC8Vdm8cBjV4KNJNQmhpbyBcyPsZah+BYL3MXcgkdCX9wJjQ==; 31:hl5nCrRmR5Fdy46T51HuEsobPgzb2w6IOULeQo0uzgN0dKfsywD43ie33G0N5vhUj0Ipsc3IVXXKodY+eZulB7C4gjio911ntuLJsgZrb+zrtdXFVXJlFsyIokPMkKvGjq1q3zcYK9CAcARt8vWbhiQu0nHC9ATSVEP9txhvr6+8Lib1GruKo/caVGuSj9Jmtja+WSM4UMbkmKj4XE9H5EHRf7NT5wY8phQ5izQzTD0= X-MS-TrafficTypeDiagnostic: DB6PR0801MB2070: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=klim.kireev@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:P9uZEtqde5VAfJwIlDtDMjIhA3vk6Fbhd1QwFXDbB67fd+/B0m39dLAjE0OQzWgC0PPUb3Vdi13NM7nPstATzZbbH9Ve0LnqUXqcDlveq7IO46h3qyptjDabj32vwiAXy5ixMfFlozR/L22oQsbx1FzscKmKyLH2RdbpUt4kO7ebk/gRqLyyWnmKOye2GTSAthKIhCXNqcDaVva8nGXuNp1hvM5Ad79e/d/wfajpXxtSxbCa3YCVzD8DSmllMgfZp7JjGMNOdG3lIt8vB5UyDisUKrdyca/4zC0LyGDblIHodoO/+Ug01FX15GZ9EiE931HSEUOFhNaJZX6+OGRtbT11gln/sJDHzq0DXYGKjAQZdMYjw8Wxl8AnVDjK6Q4a00XLgr0DCgaf8xsUWjTD0V3WYjF3d8tWUYZ7UGy+whc=; 4:jENn5TXnyU6dsgAcZb9Bx3nJLwKP4G54KmyQ6kSPdAVaNetG3hM65801MmMOXZyHfcpaA9AmQNiDfSr0a/Cwkx0PNBMoSmPwY1uMmh6oJAIe/bUAAEc9agdIvP58l+xqOUbVo9i2XvFIq36I4Xzhvc/E63Fe0gPvXzWc+yvX11J61Byao6bYiHHofd6WrmvH6Sz/kDoEusGtJYRlaNWKG10UYTfo9TGZlU675004PuK0uniQpqxLdDgaIyU8aHaQKyez6PXx4LV+zP5qnsiY8fh+15dZiXVTPO0l51TN5Z5mf5m7bcQs/xgPpLNmUJjY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501141)(10201501046)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DB6PR0801MB2070; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB2070; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(376002)(396003)(39850400004)(39380400002)(346002)(199004)(189003)(1076002)(386003)(69596002)(2351001)(66066001)(7736002)(6486002)(305945005)(2361001)(76176011)(51416003)(25786009)(36756003)(59450400001)(2906002)(52116002)(6506007)(47776003)(4326008)(6666003)(2950100002)(97736004)(5660300001)(6916009)(16586007)(50466002)(8936002)(81166006)(16526018)(81156014)(8676002)(48376002)(50226002)(316002)(76506005)(106356001)(6512007)(86362001)(53416004)(6116002)(53936002)(3846002)(68736007)(478600001)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB2070; H:localhost.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB2070; 23:Te11CoYMMmqzGHTFrL5I4qjWAXLJWIqpYzdfHYz?= =?us-ascii?Q?WSOUSy7DkjuT/U/MDcQaNBH1I834Pyfe5JXrmCeue5QbQcCBL5uuigr1ZmKT?= =?us-ascii?Q?dZ88G8nvh/r4vC4LVqPYrR8Fk3bUWh1KXNEBKk4TYsaCcORMxV+gN3nPLyjK?= =?us-ascii?Q?MvfmO6EnLEOvUDJZyYAjS9M7P3/XG4zq6QQ656oDy1MuAdyVDyaoMjGmJEc2?= =?us-ascii?Q?H7MfBWw/ozMmyfbJEVHoIdXo3h47NMcG6KyJ7GmDvXHpm5CNXyJfTerl/UoS?= =?us-ascii?Q?N/+USMy4ru21j3RQwTd4Qyi6K//U55oe9BknwMCPECvKXKYFyjEiOCISQcq+?= =?us-ascii?Q?Mqmnjc8gZNcZuyJmds26zbIrtsD77pqO6RFENE25FrLAt0G+RC7ZQSU+GluS?= =?us-ascii?Q?E7keX7CzBzZQlyFJ65blNMhAtYll7ECDbh0Y5hDUkuljg8UWm9qeMUF5448B?= =?us-ascii?Q?GCBxCYYDPNndPJvNat512h352HmCdlV43WOuMhSVnKUCUQ4ofdRl4bUEaTd+?= =?us-ascii?Q?k15tr/a4DinLYMZ5W3dpWoo0f+hoPPEqMDh303vAIh1njhoA2CcAecmKajs1?= =?us-ascii?Q?B4zWWBTQUvrwRGJri2H+04adYoM5yHVBxptd4r4d4ctg1n+TF3mRoDFmajBG?= =?us-ascii?Q?fXB7aiPDtESNjrPQwoTcIzoGWCvPx+H3Lfd9H4O2yftvOBVwP2x8k7KsGn6F?= =?us-ascii?Q?ObRPZlqF3SJ+xPBs08b5EovGrkQvZdSy61TXG1xL2WfcVtATSlORWh50hkiT?= =?us-ascii?Q?Z0BMxgl6ww4KcLluhsbDFPV5zWr0/qj8XO+ZQGVCdqG0t7lNl52UlQoK6TN9?= =?us-ascii?Q?2cpf4ZbsUmMYnlm0NRXBsrQleVPeTV1qnTVmOhEJD/gvLyb/z/coVukW6hPa?= =?us-ascii?Q?NRLbDfieKkUfqKLB0FfDrS9hPewIomAE83A2it7FRwVQrQTKIXdK4yO+jhNc?= =?us-ascii?Q?eAivyILoz7QM2DbhsGtVsWBQZu8KlHCHpkAz1XEPZ39iRyuVrXojsuxcIaoz?= =?us-ascii?Q?nOvyxUxhANMEduCBhrgqiCvQQVnCeeqrKYGcYp6yMFvdZdPhTVae7Z+OFXHw?= =?us-ascii?Q?zc98UMCLubhOV9HNNlGpUlPOmA9aCzmfSBp9P8Yg/XHIyMcV86uJi/HSxPY7?= =?us-ascii?Q?mLYRPwOh7LSPI43TqLgZDsJ/GjjFvVU7hyPP1oGnLvYhzkE7YRYad90Bw+ek?= =?us-ascii?Q?OEzu8/+SO7HLAoAsjc7n9yDn34+lMjowlokp0ijgJUcL/4aIh5D+CwYJrcg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 6:MUUG2gBZKNPbl22CBERhyl3mr48bcylTLNqCkWkPw5nQrRuT1aRf9MexsucVL5h5y3T/ul5r/gJ0YYNe3tG62T1yxLxX2kUDVr8EMrDekR/cMuBdmE2iESURqPaU49bK0zMHPMqROQ4jMQYBIxAWTXRYbphbW9WW9qltjgzr5kAEGCiZWuN3xy0pMc5m/dlXva9UmPAYxbXr4kUDQ5e4lg9R1k/QTXJNsbOoob9Gk4ogwGjHkfJMqMGIHpbOvX1bJaRT2xnpy4uSYkpxoG/GQ4o+OxEL1XtNg9YjoJgvRu7Y9pX5bdBP0hmQDXsxqY+sx5a3ONaXadFbdDVY980kr7Vlrm9fWBB7cuWxFG9FMQI=; 5:jcCzyXz830Qj1Nnay4wtnponax5BRm4qsloHrGrNtB1k5JbbgluVcBactZ2fIA7fgKodjT4NRx0mCqw3dqM3CiIS5+warpC6y0hjgo5fZ+EHq5AJX2V7qvTxWjvlpqTSBbFBjO7xQmc1XBLPcX9BpoKCt2jrUdmA5CeeURxaTJ4=; 24:dcABuwq2nRLFWPQlwXVHKgMBbzIFxamvtJ0QgyIbw6Wad0VlPFZJ6PDwMalBQzON8l3GH2+fFVAPk2CJD4g6AuyKWyc48mALeVUiQN2cc0o=; 7:Dm9nAWmMblTnRFMFylioJW7w4MaIYSxSTHu0N8eMdl3rv8cHz66MjhN3PP0ckvpmvFwFigX19Se9zyT+BhYtFm6eUB1j6veNOQZRzXHNGPHwvQ68ZUX6+UtInYhVFQ/NvtEy+i+rw2t1D2sWLNKWA4OJBcD3YghbPRO/sbZmTuj6gKgzxO72DV8lAmmo1z0yVhA2ynhvFaEW1b2p+57ytS9oRgH8agMJzB6XhF5ExsZb1mAFQxF7358VABPCvvO0 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:a9eqjv0j0rErwmV1Svg2qxxoevJSwjXMSju5AiCFmtz7OSInlWl1GESSwKKqsJ0mh0sQitKOmT5KnvDZa0+dg/bCfYXq80sR1VH6ZgUfeRvTmiHNKL9NeAIr34/5sX06i8lRV/wZ7s1xVRm4XJBEUl9yD8ftJJrHFp1k0PkDPTI= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 09:01:37.7517 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5aaeac6d-35b4-484b-1f26-08d5599b1702 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2070 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.6.112 Subject: [Qemu-devel] [PATCH 2/5] configure: add dependency X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, den@openvz.org, stefanha@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This dependency is required for adequate Parallels images support. Typically the disk consists of several images which are glued by XML disk descriptor. Also XML hides inside several important parameters which are not available in the image header. The patch also adds clause to checkpatch.pl to understand libxml2 types. Signed-off-by: Denis V. Lunev Signed-off-by: Klim Kireev Signed-off-by: Edgar Kaziakhmedov CC: Stefan Hajnoczi --- block/Makefile.objs | 2 ++ configure | 27 +++++++++++++++++++++++++++ scripts/checkpatch.pl | 1 + 3 files changed, 30 insertions(+) diff --git a/block/Makefile.objs b/block/Makefile.objs index 6eaf78a046..a73387f1bf 100644 --- a/block/Makefile.objs +++ b/block/Makefile.objs @@ -47,3 +47,5 @@ block-obj-$(if $(CONFIG_BZIP2),m,n) +=3D dmg-bz2.o dmg-bz2.o-libs :=3D $(BZIP2_LIBS) qcow.o-libs :=3D -lz linux-aio.o-libs :=3D -laio +parallels.o-cflags :=3D $(LIBXML2_CFLAGS) +parallels.o-libs :=3D $(LIBXML2_LIBS) diff --git a/configure b/configure index 6a040821c6..790fa635d1 100755 --- a/configure +++ b/configure @@ -435,6 +435,7 @@ tcmalloc=3D"no" jemalloc=3D"no" replication=3D"yes" vxhs=3D"" +libxml2=3D"" =20 supported_cpu=3D"no" supported_os=3D"no" @@ -1298,6 +1299,10 @@ for opt do ;; --enable-numa) numa=3D"yes" ;; + --disable-libxml2) libxml2=3D"no" + ;; + --enable-libxml2) libxml2=3D"yes" + ;; --disable-tcmalloc) tcmalloc=3D"no" ;; --enable-tcmalloc) tcmalloc=3D"yes" @@ -1573,6 +1578,7 @@ disabled with --disable-FEATURE, default is enabled i= f available: tpm TPM support libssh2 ssh block device support numa libnuma support + libxml2 for Parallels image format tcmalloc tcmalloc support jemalloc jemalloc support replication replication support @@ -3747,6 +3753,20 @@ EOF fi fi =20 +########################################## +# libxml2 probe +if test "$libxml2" !=3D "no" ; then + if $pkg_config --exists libxml-2.0; then + libxml2=3D"yes" + libxml2_cflags=3D$($pkg_config --cflags libxml-2.0) + libxml2_libs=3D$($pkg_config --libs libxml-2.0) + else + if test "$libxml2" =3D "yes"; then + feature_not_found "libxml2" "Install libxml2 devel" + fi + libxml2=3D"no" + fi +fi =20 ########################################## # glusterfs probe @@ -5618,6 +5638,7 @@ echo "lzo support $lzo" echo "snappy support $snappy" echo "bzip2 support $bzip2" echo "NUMA host support $numa" +echo "libxml2 $libxml2" echo "tcmalloc support $tcmalloc" echo "jemalloc support $jemalloc" echo "avx2 optimization $avx2_opt" @@ -6281,6 +6302,12 @@ if test "$have_rtnetlink" =3D "yes" ; then echo "CONFIG_RTNETLINK=3Dy" >> $config_host_mak fi =20 +if test "$libxml2" =3D "yes" ; then + echo "CONFIG_LIBXML2=3Dy" >> $config_host_mak + echo "LIBXML2_CFLAGS=3D$libxml2_cflags" >> $config_host_mak + echo "LIBXML2_LIBS=3D$libxml2_libs" >> $config_host_mak +fi + if test "$replication" =3D "yes" ; then echo "CONFIG_REPLICATION=3Dy" >> $config_host_mak fi diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 3dc27d9656..9bfe2b58e1 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -265,6 +265,7 @@ our @typeList =3D ( qr{${Ident}_handler_fn}, qr{target_(?:u)?long}, qr{hwaddr}, + qr{xml${Ident}}, ); =20 # This can be modified by sub possible. Since it can be empty, be careful --=20 2.14.3 From nobody Thu Apr 25 03:50:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1515747832011554.0877752688588; Fri, 12 Jan 2018 01:03:52 -0800 (PST) Received: from localhost ([::1]:55058 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvFf-0004TM-5P for importer@patchew.org; Fri, 12 Jan 2018 04:03:51 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvDd-0003Dn-Eq for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZvDZ-0000Ij-OM for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:45 -0500 Received: from mail-eopbgr60112.outbound.protection.outlook.com ([40.107.6.112]:3712 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eZvDZ-0000F6-JI; Fri, 12 Jan 2018 04:01:41 -0500 Received: from localhost.sw.ru (195.214.232.6) by DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 09:01:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=f3bKau20/dYih5h1BuYN9JG4OF2gPO75PXaRd/Y/W98=; b=K1ZdyBz/SkRPbyigGcYGRhOsSQrwwfQs0kSgZdNTMt2PanHBb1uWNAOa35usLqjGxA3mH40dTXQrV7KjlBBmx908h7XgROz3sxHwiUgZevyJOVYjF9I7KTE3l8benikh6azbjN/ZPPYl4p77sJ9LIZSpB8+qvPzZJMO1IGMJR/c= From: Klim Kireev To: qemu-devel@nongnu.org Date: Fri, 12 Jan 2018 12:01:20 +0300 Message-Id: <20180112090122.1702-4-klim.kireev@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180112090122.1702-1-klim.kireev@virtuozzo.com> References: <20180112090122.1702-1-klim.kireev@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR05CA0269.eurprd05.prod.outlook.com (2603:10a6:3:fc::21) To DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dab19077-2bdd-4640-8ede-08d5599b1793 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020079)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0801MB2070; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 3:JIkczkvKRkJRIBg2Z50Bwam5hLvxFq2Z/DQQrwNYQe2oPB8z7dwfg/t1LU2h35Tjb8fsqAhKEQEwR9+uwOsJeaWIidoLL3tGFOlwSuTgyRlMhwwUU4ahA5nuBhTOU8CIG1gDIibjqdeIlwIygQM3ofHRURj9swiUnyPZHMqn3l5XzpklD4zNTJ0ahxDD4qqJF+iTy9IHH6C8aL/CvLgtrcPBfd0K3Rx9bnh+X/GnLEvJeTHOajf96S4mVJ0B+Xge; 25:vvO1SSIh+mD11c1aNjjgIbBRzLMMqcYvaXao2dtIc9numsQjbDdvjU91pOCYrWRRvLiYmRRwCt/H+x6FwHJTM6HHXNZt6D3K5kgKeAdX43f/kg4GiDHu2pMhxaZJL0DC4KR5dLweXq0R0yjx1qwZx8JLsKNkp/ZwKI8yEpA1hoE5b7AtPlvoeHGgDVbDQWL44K3nG2bNo3xB6N0KxcE3zQg3JyNhU4pJDbXBZXNL3KoDrIASVuh5w+la0to5BuWUk4D3yBPXsMybC5uk3NtMDLPGe8qBoenSSPs8zsZsjPoGblzlUEvaF3pK5INPZcK5v1VFlsIRZkJe43lOn1KIxA==; 31:71DUBGWZdbcL0JJCKowTyLtFANlc1/+7fcc+joguNEFI3N1x4gU0QKuXnin7gmGnqxPtvRyBs5A4V7xOMnO0+TQ9g2L48bZvn4lkZnegxe12chV0+7EJ1jgl0bz5F4YMNOkoXRCfAFm5UjRPJ5mS0OsoXZvbgESK3K8g6MtygrimrgVtja0xZJ3eRjzJopMrsW6QXxEaGgMgfOZyO7vjQNHSDWsbu6fq746DJr+DViU= X-MS-TrafficTypeDiagnostic: DB6PR0801MB2070: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=klim.kireev@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:oKanG7sEP40HlsvMPUBQ+ZH7EAZPk1qrEClAPtu/LFod+DjtuB60xdJ0NJBxv3uaskfk2u+kbyNkoTvScG5wwcTucoPviF9TCygpfJaAITbZtRne97ltJTMTQU35TWzvGNyOu5bMgKXIE2lAE0CpW4qAR0vY9/jJMBKKf7ph4EGOFQvFh0uOMJSTAEFK2DMBt70zA0A7WkfACx5TPVaXb4bS1HNmfO3YfJP5L0Pxl2HFnxi7K2gQ+/DwX2lEo4RsCFDXdSiXdGvY73DfURnqyzPrw8LQ4b4tW6iRJmB5P+T0MJeNU2Hu49usYMCLDSozsJ6E+QwwpHdjvTC65kld5/LMe71TXMiSNunqZnXf9etKb5ckjV7w3T3JDQeUPFojoES2eSwGn5l68RuOyoP6cVOh+4B2mE6+R7M33zAV60A=; 4:TBBGBH+Zj8PYg6sIEKv7hZpmx7F9TbK8On5c6mW1tl761Y0DQu+RXKqbNbHZoUB3o9jhVHiX+I3gkNIo60Jj3noyfK48eMIh9PT5Llachf6YSI2wM/sozT7n1Eco2fF99UL8prAlWIGbnORf7JSyxy7CK5bOTn6mW83Su4P4TvlpDbaLtcMEE89bexsUsUW4aoHX+2PqdeRxyqnMT3IkLx+wY8Z08/Crtb6LYGoOP2Shgn1FRXp/YlFxnftGKQ4GXniHvtLPsJfKCnaiAxRGUo9yna6ErwFcJcNy4ykNV4QMruFj/d8Xd7SIu3P77s48 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501141)(10201501046)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DB6PR0801MB2070; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB2070; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(376002)(396003)(39850400004)(39380400002)(346002)(199004)(189003)(1076002)(386003)(69596002)(2351001)(66066001)(7736002)(6486002)(305945005)(2361001)(76176011)(51416003)(25786009)(36756003)(59450400001)(2906002)(52116002)(6506007)(47776003)(4326008)(6666003)(2950100002)(97736004)(5660300001)(6916009)(966005)(16586007)(50466002)(8936002)(81166006)(16526018)(81156014)(8676002)(48376002)(50226002)(316002)(76506005)(106356001)(6512007)(6306002)(575784001)(86362001)(53416004)(6116002)(53936002)(3846002)(68736007)(478600001)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB2070; H:localhost.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB2070; 23:p4iuETbK9n0rqf1NYqPp6spNS1hrCsxbYwCyA6z?= =?us-ascii?Q?FByEDPvAUQ3NOu03y80Wl/eC+UEpiYMJgNmqccuiL3SIWvflMMpMp8Cwdc5Z?= =?us-ascii?Q?4/5n4IaknRL85zb/XUETEP+k0acYMMh24LeCqNiaVHxfxbJdc+XTeUrZpLq/?= =?us-ascii?Q?Qoc7D9S/ENTALxQcPJzNQeJvpE6reaKFFviHmjDBw+O6rQ69M5g8BEz87j38?= =?us-ascii?Q?ups12Lv15v6632ZtPLcbkdiBYSoAjAIESBfuHs8QTbkof6g/mFv+k1ACRwQ9?= =?us-ascii?Q?PecO8SfgIIwBP6EGqSCLkrQ1Qv6aPxz/5wyhRpiBwBXE3dzOrq67jhcnFhkb?= =?us-ascii?Q?JsWKsS+NaMRgKvZtRF0jry1l18n87rY7A/hquUMWvGuU6nLMUxDDNo2EaYIm?= =?us-ascii?Q?qlCUlC4biOGIuGbN0Hd5EUt3n4QmmFlD8SDB+4WlKVfdhHxO9rxc2m+9Rpf4?= =?us-ascii?Q?sYUkJMyB5fY2BKqhnUp9r+4Mt/EbSalFyN9bXv858gAlelay1CLP4QQveE0s?= =?us-ascii?Q?B7JE4MbQ7yrglv2dVXSNNAJSqrn9XYdRw5pLxSIuxLj4TqIpsuXwrGBExI7C?= =?us-ascii?Q?AnrUg2f9BM7/vfY1FY2VwNfSxa20fUnZUaw8zsyt/jfcwanNMamyQBUCIWgb?= =?us-ascii?Q?RMMbGkYZ3O8SxrWFFuE54jcERAbHJWvMI7r5b96WClISfos4LXp/mxcUi2jc?= =?us-ascii?Q?mEDatNuQVhA/OEi3PkdlfRmqkgclmVKSvu+pWLHQJ2YjF+LdPqwozEI8YZUb?= =?us-ascii?Q?sUwVjTCt2D+zMkv1hgjJFmYVDDRUUc9hdO1jsxxQEZQVyu35/99pI65meUi+?= =?us-ascii?Q?TYTsMEqzYYF45xTwOCD28ZTkKlP6B2R0wihVVOOfv2Xc+Mv8TxYQpfDDDvLE?= =?us-ascii?Q?UcRw/WUZRabpiaX+G1xQKvNgc8MFOypDbvpW08CUf8tVD69+tzEdAqwjf6yM?= =?us-ascii?Q?incB90h1zUFywZ4+cU3oiC35qRbJG+hnQJkkfP+R0A8jqyKYl6N3QskWbruH?= =?us-ascii?Q?+EjiQ04ZQRA8oUsKnkfgYOrzwmaJh2+FqWFj0utUx0dHSSOuaVHOJSRu/sYw?= =?us-ascii?Q?F1DxSPVCRU4AZfHFYxF5Q9S/GzD7RHPFTE8sjxkuJMCi4e3Y7HgZctmCVH+w?= =?us-ascii?Q?UvLH3P4e2zGz1KjUbZgt6ylx9lOWM0b3D53Nff3eX0CDL0O+/+ognFGirCgU?= =?us-ascii?Q?SVJIRJdxtkyM3Ns4KHAfItJSKFmVHFvebcqsa8I6TJT2vo3BUx7iKLF6R+g/?= =?us-ascii?Q?WbaY0CCC+iUaN8HiD5nnQNqX7mcVZJ6pg3D3AtRSkuN/sWuPyEur5ty1pHnw?= =?us-ascii?Q?uVg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 6:VthaBl3hU7T6+r4HTOL0MSbxnoTgN8343JuszlkHEEOH0T5c4LIOjMXaIyM8ZA1szd4y3tkTkAwD2Rb3igeci0RkILuC2420xgfvySBvPeapMeRo/agT2PeRRYEUlCt5PgBGYe+yWnRdkClA01WFxHrjsD4Sjt+n7XfIiCeSmTN8nOGj2mAxY53EIBe9m/uzuJFvf0BSqfHdM8Kc7U/ayKM48fpD/JlhUoCaJrxOVQhx8wh9SIZxTtyVoZyMftAJX8ORt1lbRl7cMVuQyn1jzFDlHto8+hrRrMA3FCHIoF7musfp21ITJyN6MJtcDeF1bkij4Cz23piyHJ9cQ2TBJSmJYFNsbazgJy48BvG+yoM=; 5:H83x5aU2qpPGXlHyLGn8UzSLBwT/vASnEuByhKXV/zBxCCVk12ofFMpM7cIglTxd1DeT/q77QaA55HENxL7xltcVg94WXzIxvd6N8IGQqDsChkHYcFDezlr+bhEEG0il+5qsAjoLnhhBT3pHQu39X6Z7oS9lRL9jYGR31MD10QM=; 24:gBPMi10g6jS5Bx+QFRTjlcI8KZTIyzAK6zrRos9sezlJFVs8NTlqY2b16VWpKvEhS4Tt4abSNP/sBfCn2V3+e2JLDpTfNA+895MLTAYivwA=; 7:7STOF7Llfxp1hFwxZZ2r+ctFzz3NNS3VCHCn0H8NCZ+2kPm0fbITzI6p4V2Lb1AAIuBPBrC5L6JOS1ICYeQPgOzD7LazEcu07rlmgiJVtVns8HPcd8btW8XQV6W0TwwrzjQw5FrOzEWVDEqghCjlnGtSoaJl0DfXlQF9kSC+HufXEUO3vTHjaUePqTiVrTNKy6dhoaYDL9smiAv0gcexqPxKjfpCW9m50M4oZPE1nwTV4fEhgqDpsfzMNd0deaiF SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:6IHKLfzUlg6gvWJu+EP2KhR0ECd185l9d+YucFXuhn/sZNSDMCiFFWj+XnqirFDfkFuqnKFFhRvAzcig/UsxxYOZFlbLXxT5Fg3Aui9Et6fBX/wbimCNbBytLiDylGOuAwQLhxrhQIagEW9gOiaFSLZQQiJVT0a9rTRAyRb5Z9Q= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 09:01:38.7048 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dab19077-2bdd-4640-8ede-08d5599b1793 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2070 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.6.112 Subject: [Qemu-devel] [PATCH 3/5] block/parallels: move some structures into header X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, den@openvz.org, stefanha@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To implement xml format, some defines and structures from parallels.c are required. Signed-off-by: Klim Kireev Reviewed-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Denis V. Lunev CC: Stefan Hajnoczi --- block/parallels.c | 53 +--------------------------------- block/parallels.h | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 87 insertions(+), 52 deletions(-) create mode 100644 block/parallels.h diff --git a/block/parallels.c b/block/parallels.c index 9545761f49..f9a3b999ea 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -36,6 +36,7 @@ #include "qemu/bswap.h" #include "qemu/bitmap.h" #include "migration/blocker.h" +#include "parallels.h" =20 /**************************************************************/ =20 @@ -45,30 +46,6 @@ #define HEADER_INUSE_MAGIC (0x746F6E59) #define MAX_PARALLELS_IMAGE_FACTOR (1ull << 32) =20 -#define DEFAULT_CLUSTER_SIZE 1048576 /* 1 MiB */ - - -// always little-endian -typedef struct ParallelsHeader { - char magic[16]; // "WithoutFreeSpace" - uint32_t version; - uint32_t heads; - uint32_t cylinders; - uint32_t tracks; - uint32_t bat_entries; - uint64_t nb_sectors; - uint32_t inuse; - uint32_t data_off; - char padding[12]; -} QEMU_PACKED ParallelsHeader; - - -typedef enum ParallelsPreallocMode { - PRL_PREALLOC_MODE_FALLOCATE =3D 0, - PRL_PREALLOC_MODE_TRUNCATE =3D 1, - PRL_PREALLOC_MODE__MAX =3D 2, -} ParallelsPreallocMode; - static QEnumLookup prealloc_mode_lookup =3D { .array =3D (const char *const[]) { "falloc", @@ -77,34 +54,6 @@ static QEnumLookup prealloc_mode_lookup =3D { .size =3D PRL_PREALLOC_MODE__MAX }; =20 -typedef struct BDRVParallelsState { - /** Locking is conservative, the lock protects - * - image file extending (truncate, fallocate) - * - any access to block allocation table - */ - CoMutex lock; - - ParallelsHeader *header; - uint32_t header_size; - bool header_unclean; - - unsigned long *bat_dirty_bmap; - unsigned int bat_dirty_block; - - uint32_t *bat_bitmap; - unsigned int bat_size; - - int64_t data_end; - uint64_t prealloc_size; - ParallelsPreallocMode prealloc_mode; - - unsigned int tracks; - - unsigned int off_multiplier; - Error *migration_blocker; -} BDRVParallelsState; - - #define PARALLELS_OPT_PREALLOC_MODE "prealloc-mode" #define PARALLELS_OPT_PREALLOC_SIZE "prealloc-size" =20 diff --git a/block/parallels.h b/block/parallels.h new file mode 100644 index 0000000000..71183c0c8e --- /dev/null +++ b/block/parallels.h @@ -0,0 +1,86 @@ +/* +* Block driver for Parallels disk image format +* +* Copyright (c) 2015-2017 Virtuozzo, Inc. +* Authors: +* 2016-2017 Klim S. Kireev +* 2015 Denis V. Lunev +* +* This code was originally based on comparing different disk images created +* by Parallels. Currently it is based on opened OpenVZ sources +* available at +* https://github.com/OpenVZ/ploop +* +* Permission is hereby granted, free of charge, to any person obtaining a = copy +* of this software and associated documentation files (the "Software"), to= deal +* in the Software without restriction, including without limitation the ri= ghts +* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +* copies of the Software, and to permit persons to whom the Software is +* furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included = in +* all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS = OR +* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH= ER +* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING = FROM, +* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +* THE SOFTWARE. +*/ +#ifndef BLOCK_PARALLELS_H +#define BLOCK_PARALLELS_H +#include "qemu/coroutine.h" +#include "qemu/typedefs.h" + +#define DEFAULT_CLUSTER_SIZE 1048576 /* 1 MiB */ + +/* always little-endian */ +typedef struct ParallelsHeader { + char magic[16]; /* "WithoutFreeSpace" */ + uint32_t version; + uint32_t heads; + uint32_t cylinders; + uint32_t tracks; + uint32_t bat_entries; + uint64_t nb_sectors; + uint32_t inuse; + uint32_t data_off; + char padding[12]; +} QEMU_PACKED ParallelsHeader; + +typedef enum ParallelsPreallocMode { + PRL_PREALLOC_MODE_FALLOCATE =3D 0, + PRL_PREALLOC_MODE_TRUNCATE =3D 1, + PRL_PREALLOC_MODE__MAX =3D 2, +} ParallelsPreallocMode; + +typedef struct BDRVParallelsState { + /** Locking is conservative, the lock protects + * - image file extending (truncate, fallocate) + * - any access to block allocation table + */ + CoMutex lock; + + ParallelsHeader *header; + uint32_t header_size; + bool header_unclean; + + unsigned long *bat_dirty_bmap; + unsigned int bat_dirty_block; + + uint32_t *bat_bitmap; + unsigned int bat_size; + + int64_t data_end; + uint64_t prealloc_size; + ParallelsPreallocMode prealloc_mode; + + unsigned int tracks; + + unsigned int off_multiplier; + Error *migration_blocker; +} BDRVParallelsState; + +#endif --=20 2.14.3 From nobody Thu Apr 25 03:50:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151574823863199.87787718932952; Fri, 12 Jan 2018 01:10:38 -0800 (PST) Received: from localhost ([::1]:55319 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvMD-0001v3-Pb for importer@patchew.org; Fri, 12 Jan 2018 04:10:37 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43201) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvDd-0003Ds-TM for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZvDa-0000JB-2P for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:45 -0500 Received: from mail-eopbgr60112.outbound.protection.outlook.com ([40.107.6.112]:3712 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eZvDZ-0000F6-TL; Fri, 12 Jan 2018 04:01:42 -0500 Received: from localhost.sw.ru (195.214.232.6) by DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 09:01:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=t+Z5veptw3K8+UOURs2N24oZIJ7pUWO00FvzIBI09vc=; b=WjsNB5+vyEuQbfyKOKl+dQlbW7zdGLooXACxU7bnn+wKOPFAqfexoRHb4wY1211KOYlh3a2Nlzi0SlKS5kKgXmyaz9IMO2K20bQPtJhrsL+lkmSDXgk0SXa1TUcUuAvVmv3WqtpYvgVeU50DVxJo15b3RJUJ/p7BIO6Dg9u3SHk= From: Klim Kireev To: qemu-devel@nongnu.org Date: Fri, 12 Jan 2018 12:01:21 +0300 Message-Id: <20180112090122.1702-5-klim.kireev@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180112090122.1702-1-klim.kireev@virtuozzo.com> References: <20180112090122.1702-1-klim.kireev@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR05CA0269.eurprd05.prod.outlook.com (2603:10a6:3:fc::21) To DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 33378e28-7d75-47af-39d3-08d5599b1820 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020079)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0801MB2070; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 3:awAtwWGak1EG8WTKsfZSeUic4ixN3epynwnri3aYU9ixXT789Ji+Mc7MlIDuR5I6ZCvOSTZQH+AfMIoa16m0xC5ZYnDT7OmaYo2eNMRpjOSEN9hZ8nCrf47JJ3TnYcn6IET3eualyT2BABa+OlrgPziGJIM8/YbujIUvVQiERzuoFRLP2XqG/M9oQm99CYj8kEVjIM9yhqGv3Wd3N+s2CKHlaX21sQJwxG2lPPODPNNBknwK8Q4gnIhcxtNYlwPT; 25:rCQHiqLM4yuOTQSUcssGtXd6eIJBAgeiyLZOpspUmeod1vz1yXxUbkpESDtrOOjxDDGbJZXmVqu5PB/V3/4TyjZcKp1NCxxHdf5SXVVZ2trypjC2HIL8TpCaXHjK6f224sN/1pfU13BbrzAkvrFfebJx+AfctRS+urc1o5VZxq8JAZOdCIPczih+BcZfkTzAOi+coWT/d/HjtPhoGuAfJi+m7OCs07OPIi+CILJ0j0sVEqrIyVAKKd4dvkHNPBhRg79SSlhonlQMk+mNfF0QRP+GlWh+fWYFHWEhzDffv0lPZ3G0BI/C9CrUbbm6gSmid79sQI3dT/XZ1K24IIT7Vg==; 31:24F2YWbk/o4phzQGPxaSO7ZWQckhzUu7C6OOUpIOvQduT1AilGReaJovs43EGZrI+apXz56Cr/1Ug+18FciLebLTPwlN/CaoJOAewsqoNgzhzBh2dvn9Q14pxoQ0uGxXNOEzbuDMe2BLX4RXMN+hyjQW9cg/ppcaM8LTZpIQrH2MNazn1RRLCpt/A6Tv9OCbd0a6luhOYO0IelMDy5HQ/zJU44L7+lIRxMdvUv3V7+8= X-MS-TrafficTypeDiagnostic: DB6PR0801MB2070: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=klim.kireev@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:l9OBzVZB2qmY5UjgOEMFMjkEJAGiraK4MYGz2sQmH/96zxJM7rZgq+lAGh9z+9iMJ8CDxYwiY1MXefihfmTeQyu8siTr+kpH+DmYk7aM3ACf0fK7k7+tfm5Jmp4WC4IA1xWVBgksBuHVW/lov5bxS2NYz12s4EmqTxVilVOGqusd0BYvgveBujt5CKjSsHQW38S7sQBe2LEe6LiYloZ47LjPK7PX7iMlVBJEQU9MRnjFioAB1aqmTQU3J90x3o9kIHT6Z2uJDvO6JS8ahnd/NSxjQcev3y901MuiAXbJNujAd0grnQm+cQLCeiyQlB0nupe08LF6Hd4EEmYbelTjISrwOL2KWNNmhR7tfVDf3T+fsPOxDDgBguwBp5cVTZx7NU+B3Zj+jOQPIhv1uSMjj4Q0INZwDjiQL/6DWJA8gLs=; 4:UtAwNWdLGOQoZGuEm1NCffOJkGHPpUfXZBoSD1gjEx7/l/quwWy8jscz61kH+Ijtxm137NZx1+Jw2v7mcZl4sXKxHN8Um8QpxZp6zmgmqTZ/aSWx46uYAW6r/0yGhE3glJkMYSKbPkPQr8Ti+XOvOOtI9FyKyt48X0fL6pMLmwRAWALv+t2nFi+ewm5nOziNP9mwfHycjHgHG+XC/uGz1xN7RfBZoi8XseuLsU9i9bz+PeixGo1wsXasft9jqW3fkvP1ZMtItNl6VrCYfkT442sV/weZ1dPdiUErl8IofsGMohDZwt+yMucNHYGNdx3P X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501141)(10201501046)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DB6PR0801MB2070; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB2070; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(376002)(396003)(39850400004)(39380400002)(346002)(199004)(189003)(1076002)(386003)(69596002)(2351001)(66066001)(7736002)(6486002)(305945005)(2361001)(76176011)(51416003)(25786009)(36756003)(2906002)(52116002)(6506007)(47776003)(4326008)(6666003)(2950100002)(97736004)(5660300001)(6916009)(16586007)(50466002)(8936002)(81166006)(16526018)(81156014)(8676002)(48376002)(50226002)(316002)(76506005)(106356001)(6512007)(575784001)(86362001)(53416004)(6116002)(53936002)(3846002)(68736007)(478600001)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB2070; H:localhost.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB2070; 23:fbuaCUtjmWnfoPsJ3vUCNB9mWcbQ3rViacaKplu?= =?us-ascii?Q?MpxhLc026xbbQEULYDFex9Gy2REdEwueO4XwCapPsqPYLHSKcmXpR5Okc97L?= =?us-ascii?Q?93x0B2LDe2ptvMDPl+MrQ1J9YDOpr1a3tYehGJUf+6SU8BMF9eFNYY02I2z6?= =?us-ascii?Q?2CQIByclbTUZ+vge08MeDTrneAyXRLERCBMNsZevc+aG+sfR2K/EgDzju+J8?= =?us-ascii?Q?T6oXqI82e3lQSFH2OfAF/XMMqJQuvETn7GbUaZCi4kGmKA4folKTwvY0pZdK?= =?us-ascii?Q?ifGIhec4Wa7F89wL4uszumRn+mIuKprLqUC2GzdtlskBHKbtTR6NKR+zkJ4Z?= =?us-ascii?Q?DDpNCVEkaTNnirhLT1RcqMI88U+RZWu4EXli5SYPZWAEOVw3nwOv3IPiQNlu?= =?us-ascii?Q?HrhZds1lra16YHqpDwxodiiEbKjD4ArYPdNbAhn022f2f/7QCHJmlNJUHiQ+?= =?us-ascii?Q?l7zrMgPrf+O1ncD2ZEAD3OyJohlT4dBFYeKI9/pL4SBLXG8zEulWhH4TsXYc?= =?us-ascii?Q?YeSmYQ6GGHCvriFYfPQeXsW4bhFY0ENkhbOct9OXRx9flPMGF5MmheKQ2Rks?= =?us-ascii?Q?0n36FSKIKJgKC9hYi4XhLMODYysZKDDZ5LAG8iFZTaKcWAwml94Kuy2yVLqL?= =?us-ascii?Q?XFecI9mV74pa4SA2qQyeiy6ZTXE+xrbwijYaHWLfz9n69oynvlpkBSsJ8ejC?= =?us-ascii?Q?5a/aY1AchLTLSrsKL7H7kaZ241XHlGrZvPgS1WWQYTaiS6aSxDgaYNPY3FJ+?= =?us-ascii?Q?I/EQ7zLpRtDUMGefczlHcsGHNYf2HMNOhc+9n0VmQPxtAQXo/pcv7QGwne0u?= =?us-ascii?Q?CfCE15txzHfXX9eQwxIYJ1k03LW+ov6p7sFjNRpOZ33zIqgrIYy/rXLDdSxF?= =?us-ascii?Q?2X00odhWDTZUpJ2Rlg1+Ty19cTpV/MULRUxFESuLlYtIEabSXZk7N3TSuOUB?= =?us-ascii?Q?xVCBx8bHuEkLa+EOrxTqlzuen6ZbLyPXniYBFiilHN+j1UhNhEsz7n6sDVEY?= =?us-ascii?Q?jAZ1mViNzuyxWTv4xK8gz2YB7LPm/0XJ7PxjeogCQXWzO6R0eOimCCY4YzBy?= =?us-ascii?Q?0urlDgsapfvNrNYRouBTrlkU66ervrNMaF3fL1ySnsF+xUzbEjgXL3n4lH/Y?= =?us-ascii?Q?9vMFpYt+cDdQB7ek9uyL93OY5yKt00PDt0cnBoMDvoDY3gTabGneEL7u2LKX?= =?us-ascii?Q?q6GMUO4uyypHQK5fmDB9k5NW8IzMlt/EavtcKbpeiDmkoheFrGKGvREAzYw?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 6:zUzJ3XfXu2v7RYty7E7dLp9qnV685ruZ4lXOoXM+1+IuikAc06eRkLRHAatD57Ol6jyB51D44L27LmFpU91yK+aW+/j38cO1gHFiuTRHrAcoLZ6Xt9cMk7dDgd1t5Dj9VB8QS13FluKiwgJnhcikeFIbJEzYbsBJj6npjFLteID4jEKH1VRi6lTZfjOvW70ipQeX/F4CjQPR7vJX5EzyxnTCBwt7kvc21v0cgFt0qZLL6IqQE5PsE2ms3wC2/U851AwbqBaup17PzGC86S4tm5tVqKNZ0prjDtG0f11ZwaKXdoasbQ1199MAvOKTUGrLxExSaMFnYzsM3guUwy3uOpfeq960QByzXgS911nzG9E=; 5:N4mI+7+tN2QRcvapmVMlIFdMSQWcQ/SUVpOYmsbKugM7e1egxNZoxGMOb0osTQ7kdErysoPdT0dGTPuxgA++zwvXEECIA6eoGt+4gfYyAbatvCRnWdyubaQJk7uM7xgs/GIjKoEpyteGASmKfCChd81M3v1bYINInSRRni/q9dw=; 24:9aV6w4OowmZei+8fEl53l2yTRrbPsO5P94NfEgWZojyuAYATQw75ksurZILdXqSejwj2ld7y1CFqFw1Q8wRL6AC4XDNX1Yfpem/wzkf+n8g=; 7:koBbVDpvvG6mcEbZGoER4325JZueMRycRstp50PkSWPn6cT5245I6N4hGoAvmE/EM7z1ZkgoAJl7+WiEyW/Y7X1726XRZDBSYaXJGRZkyhIHjGGetDmm7BO++UGUoWy3qaS+mFvaSETHRt58uG8Mo/9pR7BLv7UsrrSx0mw+J+NTTNMUK1VdeDOualRA/9P/hyyddT6q6ZsIT+zZPINuSL7S99/95cEeWNwjKyiK2hyFvNlcjKLCnfWEKPPbpF29 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:qBJ9698EaLM9zTz/vNqQENMshS/uoFkj15KYeiV/Mjp7IkbM4+zJV4sbJun+7Lmmojd2FuOzlrMs7+7SaUd1pKyxmYCEAZ8pbQ1ussBBV0FvzTJ95zSXCLueFO+jmOtP9Qrwu5rgPO67UgD8H6MJp4N7NHZko9qp2So0mSBcm6Y= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 09:01:39.6267 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33378e28-7d75-47af-39d3-08d5599b1820 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2070 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.6.112 Subject: [Qemu-devel] [PATCH 4/5] block/parallels: replace some magic numbers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, den@openvz.org, stefanha@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Klim Kireev Reviewed-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Denis V. Lunev CC: Stefan Hajnoczi --- block/parallels.c | 5 +++-- block/parallels.h | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index f9a3b999ea..7a8e8b05a9 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -476,8 +476,9 @@ static int parallels_create(const char *filename, QemuO= pts *opts, Error **errp) memcpy(header.magic, HEADER_MAGIC2, sizeof(header.magic)); header.version =3D cpu_to_le32(HEADER_VERSION); /* don't care much about geometry, it is not used on image level */ - header.heads =3D cpu_to_le32(16); - header.cylinders =3D cpu_to_le32(total_size / BDRV_SECTOR_SIZE / 16 / = 32); + header.heads =3D cpu_to_le32(HEADS_NUMBER); + header.cylinders =3D cpu_to_le32(total_size / BDRV_SECTOR_SIZE + / HEADS_NUMBER / SEC_IN_CYL); header.tracks =3D cpu_to_le32(cl_size >> BDRV_SECTOR_BITS); header.bat_entries =3D cpu_to_le32(bat_entries); header.nb_sectors =3D cpu_to_le64(DIV_ROUND_UP(total_size, BDRV_SECTOR= _SIZE)); diff --git a/block/parallels.h b/block/parallels.h index 71183c0c8e..4b044079ef 100644 --- a/block/parallels.h +++ b/block/parallels.h @@ -34,6 +34,8 @@ #include "qemu/coroutine.h" #include "qemu/typedefs.h" =20 +#define HEADS_NUMBER 16 +#define SEC_IN_CYL 32 #define DEFAULT_CLUSTER_SIZE 1048576 /* 1 MiB */ =20 /* always little-endian */ --=20 2.14.3 From nobody Thu Apr 25 03:50:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1515748203134778.1814171150351; Fri, 12 Jan 2018 01:10:03 -0800 (PST) Received: from localhost ([::1]:55236 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvLa-0001Bs-5r for importer@patchew.org; Fri, 12 Jan 2018 04:09:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZvDf-0003Eg-RT for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZvDb-0000Lz-Bv for qemu-devel@nongnu.org; Fri, 12 Jan 2018 04:01:47 -0500 Received: from mail-db5eur01on0099.outbound.protection.outlook.com ([104.47.2.99]:24875 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eZvDb-0000KS-3c; Fri, 12 Jan 2018 04:01:43 -0500 Received: from localhost.sw.ru (195.214.232.6) by DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 09:01:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GHQasZcaZYw5pcK4W6xZrF+vityi2QWqpao6du82gtQ=; b=BjrWJm2+GYiulp7W1/19f6/b0aLOxbL6FwJPUj2L4P3OXSA19QrT5lwrTRQ//SSxU+hg26HBsMBWqMQtN1zYkh8bkXnxAFOJ/PqRmZF9fkvp045n2pywTc9pwKyKmqVYVukhnV2bQnTQ1RhCPX/YuXrLWA5syZjVudJRIZUcces= From: Klim Kireev To: qemu-devel@nongnu.org Date: Fri, 12 Jan 2018 12:01:22 +0300 Message-Id: <20180112090122.1702-6-klim.kireev@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180112090122.1702-1-klim.kireev@virtuozzo.com> References: <20180112090122.1702-1-klim.kireev@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR05CA0269.eurprd05.prod.outlook.com (2603:10a6:3:fc::21) To DB6PR0801MB2070.eurprd08.prod.outlook.com (2603:10a6:4:77::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3214df67-7bb0-4387-a97e-08d5599b18b1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020079)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0801MB2070; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 3:iTeF8emrBtV2Q7VztWWmBmwzlXEJ7Y+Vqxj9Z0m4zcrC4sOpCC7WVRIQId94Ue6HyZt8Gtp2IWzuk7PRVEhjIReIfADYXtR+qjpK8zWrktpAehnkREiq+69ZQLzZL8qDKEWigTHK3Tot718Z3dKQ0boKkbUjd5sA4qKqgIUKsuK7Z4TfPNtlaS7W97fsJfrNOMvmDzKc7HKL3gKW+48w3vDR37/7Pkx1ZqKbl8xRvguBnYbZv0x4zh2e61AzzmBj; 25:hS4keNGK7/6ZGNIhuKfXN87nWP9KCSHJ4cGKt4Pgxgu/B3sLln0YnWc/v4bKM2TxMUxVgg6MpKYkIbXHaoAsgUMK47I5xWgy+Er76vTNyOabr59xFuvU+1m0Q74/rObBbivC+JsUpdugLJVjfrKH/QMYhOP5wRS9E7aB2L7hTMnNvKJmmgzh8xpcAOvJH1PZcn8rbcCNbUzG6+KtLd2VbaLBpPVC2nFB1iYxI5MVjxTaBlhAE4hOWwW5I+OB+OF3+T4WgX+hFfsU56Ud20QcH0O92T1aQmt6nD9xEIRpckXyT75n/nOIkPUhRZSWaMNbPYSEX3fuGbSchwfnnD1qNw==; 31:EzaWa1N42Oo6BHiB66ci7GeUHvHhJrlwJorNPYch/FkSr0Yldhw7H5frhpQFb4P3lJMl68rGGnT4mJ/x/m8ZWRH2CmFLdCfWYW53ozCdvy0C7SbHYkoro/0pw8T/OJd5TJ1F5U3U9iSvIml1NwV4vkxKsShr8xwR+Ni81Flmf2UByNR4vArva2maBe4JNQs18delmOBiPGWTg95oL/QG90f638sEBl+mSuB26vRwzr4= X-MS-TrafficTypeDiagnostic: DB6PR0801MB2070: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=klim.kireev@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:rdN6lbSqraehE5F4gjIcE3qwcQv8OobAX6Oed4dKtTV/FemYKxrFqcpbSnF1Plbt7bqAnOQs7WBNX3Tnf/81Rg53R+JKeA0pyU0yXaYrK70zKFhuJ5tRt2mf9CGOAzGWwjeithaAZvp7otP0yRYdMBluKLyMGx9kToOLM1ZvzfqwZegkTCvXU/9me05efWuaOCfryCPU/C3Pm/uCIYSY01Nu0vdGK3Ow82h3ZJjPuGafKo6LJPH85ek0xuBrYI179zTPdt+7ApDiYXoGrpz/KwOU4yAqVRYZsvMsb6oDT2dxs4s7no96bI7iw8QaFCgFR96gD2CJkQreuUette2cHdUUA/46Pt406DLbOV84CKSJ5Dytm8Ao53iBgW4vp4GzTcV3h5hmTztke4UeyPEpF10TwpauyNipoM2r0y3Rnjg=; 4:pCOXrx1qa7MkrGszlfAEOlr/6/CWbmV5vqLnCV+M7IhVRalig/iN9Cf//mkEVFWfuaH9MybgHQzoES33rgVFfOR2E9GSwCjOkntPm4FwjILF1RkCqjwHMgVkEn6Az8jCwOR5ZVYwiNWCt53rLjTVpQSR0G2ePFhPAOXnl6z4+mQbrz8mnOA9xGxv9JGhrk2HpwggTCmawBvlPcpo17firn0XFKSgA/FJi9WZEgqvy6OYffHp16mhc50pnN3xBJ7VTIZlShtAvKKhFYe8Dpfxhg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501141)(10201501046)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DB6PR0801MB2070; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR0801MB2070; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(376002)(396003)(39850400004)(39380400002)(346002)(199004)(189003)(1076002)(386003)(69596002)(2351001)(66066001)(7736002)(6486002)(305945005)(2361001)(76176011)(51416003)(25786009)(36756003)(2906002)(52116002)(6506007)(47776003)(4326008)(6666003)(2950100002)(97736004)(5660300001)(6916009)(16586007)(50466002)(8936002)(81166006)(16526018)(81156014)(8676002)(48376002)(50226002)(316002)(76506005)(106356001)(6512007)(86362001)(53416004)(6116002)(53936002)(3846002)(68736007)(478600001)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB2070; H:localhost.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB2070; 23:EfZOzsK0E0cp+BPB2hRu+Dl+ksN1hN20N94LJ+n?= =?us-ascii?Q?AtV9z9O92qthuzzzPKKmSqFsNESWL4TnMP7qKfp+duSB9y7fcl5WgOV9GMCE?= =?us-ascii?Q?ZHrfeNGbJM6lPfgmjVmgyh7Ayf6RaDnMO1X2NT0S7EwPMKmiSOx6ivfLx5s1?= =?us-ascii?Q?dcWUTN94D7VUF5dwAOCXK9MXbHXps/DSJX2SQFu/WO9lrwo+erdXakATkTOu?= =?us-ascii?Q?x40PFbZ2xxmVHXktk9WBALbhVPH1geny6MjbbuswNCl/ilLhePEn8oemePBA?= =?us-ascii?Q?DmN9UmkGKMdMatTpnV56sanNLvihA71lAzifQE6vJoqkSaVNGlPtI1u6nKIj?= =?us-ascii?Q?1ANYn/5uCtDOkFqfxyp/uS9sBrAucQrj9sVKbtT+YdXj6RU9TgYg//bpGtMN?= =?us-ascii?Q?f8dqqyBs8QRhq+5eBYAU1qHoRVLVbi/7QFJJ5tkm4V1tuVIVKkkasJXmNvX0?= =?us-ascii?Q?17kcUsk+fVcROKLonsNeWUXqh7vccxcTlJmzfDIY5dcYakLo52tk/iAkwIxN?= =?us-ascii?Q?N1i1FJGzaTBRN05aTuqOKxYQdO8bW/NKIxP3pdzBtJD5Ny8EpIci3L7ByRZ8?= =?us-ascii?Q?Ip3Y6K6eOzO2MwhAyxdNxJ4+UCbvX6WbPQcX84ic89wcptkQy38DownMYf3S?= =?us-ascii?Q?bk2qLWFla55UvVSvOfgU+g4Cf1gR2M8xbFYVPgoj/rBdWhJLQCeewoa+Zh3J?= =?us-ascii?Q?s1nqP1tQG33suw9wdy3ksGbc9K9WRII55ecVtMpIlet8CjU5IYRyGYildN2U?= =?us-ascii?Q?2JtaRlOWTp0rG6yD88t1QvMc6tCdKmhq+2FxzrMYkjACXoyI9gr92uHw/aL0?= =?us-ascii?Q?g+pLbR6C9CnY7jsL2IvUZMJvZm8S9HYCoVVVRahIrxQwU7xeO1kJlkvaw4dJ?= =?us-ascii?Q?ze1wo62OkuZT5qNhPfRVm82ebTLbrHyXiSotZz2C6wa/EfvLMfxZnBx1dnb6?= =?us-ascii?Q?brp0uvwHy1dAPZInaNd73aW/Eqgcnu7rJJyeXo5yXRmf15SXCK/Mgh8TSPDE?= =?us-ascii?Q?a9vHeN9K2+rqZOZ32s4XrNQrgdE4uqVjI3hzlRrnIXuJN/Fxd6Yje/AdSe0T?= =?us-ascii?Q?1Aq+q0rd7L2brZkNcV8yIeOqlb4J/m0rh0WOI/cNXJ0ff3q5t3UPz8C57J1F?= =?us-ascii?Q?ToKXf1WZ0ob7KohBl15l0V4NUzyi7cXuhw+4b1Dthby6Y+Nh3bRnCpfZ1gxe?= =?us-ascii?Q?P5U/JZy/iCmh8sCxSvutZt9tc/Xduq7BO8r+g?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 6:GUSFlVekIgPWb9segJ0VwsEXFLIouqbKNxXE9Xf3MHDCJt3E08QOQungDBtw7LWWNTXp2TBtPhJwkb6OpNW7T2pVwh9DNUrvCayWOGvcGLKyc1eh42p73wsCY/wJnq8RC8YegWWOxS28WXp3fy+q2mP+r+ySbTzXHpTO3jVATx4owMYXVv8DN63e5h81HamKslt6CQA1IECec/X8U05JGy4x2XBKYiY4gtve6/1bOtrQz7Ug3/gPHnJO/OcDpAMJu71nUsc11EYs7xOcUSNLu9O5uzFluEU8tgRJhkBAdK91ATCgdkuGyqnHomPvsrsbETqGSEVfTroKzipMJq+IqZmRLdJ6jTEf+xHCbPY0U/s=; 5:KKcDgFqD6I+smLQ88CFnN8LWKe5KHwZKUiyC00kYElbJKW40JaL6T9QdrbmDKJn5qR8SuNNFk/4pHpZw7KMOYy9ikHqGNH4rjLggv+DRAl/bN678+nEn++/FoId6mmmLuNdZjKXqWVq0EzyTB67Vr+fCiXcLiSwgP9NzIb/KcCs=; 24:jQbsLpmbRym3jGwN2ULP4UsF28d1xmw/+TWz8xPYYYs0+DTbHSuDsAq9v0tKRWzAHzaOeLEn4ztZmDakhILQKDwUe1E/wGT/njr2lSc2V5E=; 7:OQHGKoNVg+YqTUt4GXGcFqS0PiUw+YAFMEQ610MXunryX8jXRyvZl1sRz9dn/eMapyLMPmLEKwk0KjV3P5pSRLepiTWdokRZGR+LwCitQxj7XOyTYdERgh8JLDaB0/fw3H2k5Mytf6fSvG6LgPGhsG9uM3XyenKajmCKO1afynEnx5KD8vkz0olq82x7Z/dxJk5R82srcYlZh7XuyVKwXJ0B43VQhFvuDi4Ewep/eh5yxJa9LQ/N+Hm4dNhKVLAZ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB2070; 20:N+k/5Ob9oKFyhwdMAalt6nno5IkIoRcos1nr+3dDTkEy2FE4KB6K1LLVN0zWCWkmytLn5Y5YoEvq7WKzmSBie1u0CLJFyH/2973q/vT6fkYE1XD6oFvqn3ZG3woGVHYQ+GE7IJwULCxD7IjY5wA0CRgh9IDuRHTCREmo5JCUHvQ= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 09:01:40.5798 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3214df67-7bb0-4387-a97e-08d5599b18b1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2070 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.2.99 Subject: [Qemu-devel] [PATCH 5/5] block/parallels: add backing support to readv/writev X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, den@openvz.org, stefanha@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Edgar Kaziakhmedov Since parallels format supports backing files, refine readv/writev (allocate_clusters) to redirect read/write requests to a backing file (if cluster is not available in the current bs). Signed-off-by: Edgar Kaziakhmedov Signed-off-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Denis V. Lunev CC: Stefan Hajnoczi --- block/parallels.c | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 7a8e8b05a9..d3802085e3 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -142,6 +142,7 @@ static int64_t block_status(BDRVParallelsState *s, int6= 4_t sector_num, static int64_t allocate_clusters(BlockDriverState *bs, int64_t sector_num, int nb_sectors, int *pnum) { + int ret; BDRVParallelsState *s =3D bs->opaque; int64_t pos, space, idx, to_allocate, i, len; =20 @@ -170,7 +171,6 @@ static int64_t allocate_clusters(BlockDriverState *bs, = int64_t sector_num, return len; } if (s->data_end + space > (len >> BDRV_SECTOR_BITS)) { - int ret; space +=3D s->prealloc_size; if (s->prealloc_mode =3D=3D PRL_PREALLOC_MODE_FALLOCATE) { ret =3D bdrv_pwrite_zeroes(bs->file, @@ -186,6 +186,37 @@ static int64_t allocate_clusters(BlockDriverState *bs,= int64_t sector_num, } } =20 + /* Try to read from backing to fill empty clusters + * FIXME: 1. previous write_zeroes may be redundant + * 2. most of data we read from backing will be rewritten by + * parallels_co_writev. On aligned-to-cluster write we do no= t need + * this read at all. + * 3. it would be good to combine write of data from backing an= d new + * data into one write call */ + if (bs->backing) { + int64_t nb_cow_sectors =3D to_allocate * s->tracks; + int64_t nb_cow_bytes =3D nb_cow_sectors << BDRV_SECTOR_BITS; + QEMUIOVector qiov; + struct iovec iov =3D { + .iov_len =3D nb_cow_bytes, + .iov_base =3D qemu_blockalign(bs, nb_cow_bytes) + }; + qemu_iovec_init_external(&qiov, &iov, 1); + + ret =3D bdrv_co_readv(bs->backing, idx * s->tracks, nb_cow_sectors, + &qiov); + if (ret < 0) { + qemu_vfree(iov.iov_base); + return ret; + } + + ret =3D bdrv_co_writev(bs->file, s->data_end, nb_cow_sectors, &qio= v); + qemu_vfree(iov.iov_base); + if (ret < 0) { + return ret; + } + } + for (i =3D 0; i < to_allocate; i++) { s->bat_bitmap[idx + i] =3D cpu_to_le32(s->data_end / s->off_multip= lier); s->data_end +=3D s->tracks; @@ -309,12 +340,19 @@ static coroutine_fn int parallels_co_readv(BlockDrive= rState *bs, =20 nbytes =3D n << BDRV_SECTOR_BITS; =20 + qemu_iovec_reset(&hd_qiov); + qemu_iovec_concat(&hd_qiov, qiov, bytes_done, nbytes); + if (position < 0) { - qemu_iovec_memset(qiov, bytes_done, 0, nbytes); + if (bs->backing) { + ret =3D bdrv_co_readv(bs->backing, sector_num, n, &hd_qiov= ); + if (ret < 0) { + break; + } + } else { + qemu_iovec_memset(&hd_qiov, 0, 0, nbytes); + } } else { - qemu_iovec_reset(&hd_qiov); - qemu_iovec_concat(&hd_qiov, qiov, bytes_done, nbytes); - ret =3D bdrv_co_readv(bs->file, position, n, &hd_qiov); if (ret < 0) { break; @@ -748,7 +786,7 @@ static BlockDriver bdrv_parallels =3D { .bdrv_co_flush_to_os =3D parallels_co_flush_to_os, .bdrv_co_readv =3D parallels_co_readv, .bdrv_co_writev =3D parallels_co_writev, - + .supports_backing =3D true, .bdrv_create =3D parallels_create, .bdrv_check =3D parallels_check, .create_opts =3D ¶llels_create_opts, --=20 2.14.3