From nobody Sun May 5 16:38:41 2024 Delivered-To: importer@patchew.org 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; 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 1518170214003886.5463010131019; Fri, 9 Feb 2018 01:56:54 -0800 (PST) Received: from localhost ([::1]:54973 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ek5QL-00042E-7D for importer@patchew.org; Fri, 09 Feb 2018 04:56:53 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ek5N1-0001Gl-9c for qemu-devel@nongnu.org; Fri, 09 Feb 2018 04:53:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ek5My-0005M4-4M for qemu-devel@nongnu.org; Fri, 09 Feb 2018 04:53:27 -0500 Received: from mail-lf0-x241.google.com ([2a00:1450:4010:c07::241]:45128) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ek5Mx-0005LM-T8 for qemu-devel@nongnu.org; Fri, 09 Feb 2018 04:53:24 -0500 Received: by mail-lf0-x241.google.com with SMTP id x196so10362299lfd.12 for ; Fri, 09 Feb 2018 01:53:23 -0800 (PST) Received: from sarna-pc.skytech.lan ([185.16.37.46]) by smtp.gmail.com with ESMTPSA id s14sm361401ljs.1.2018.02.09.01.53.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 09 Feb 2018 01:53:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skytechnology.pl; s=google; h=from:to:cc:subject:date:message-id; bh=vi4dXMeAlReW7Wcuzbzgfk9kPWWATUDNmarUTQhFktI=; b=NLIK2bOHG5hZG1Z4Y6ol1WnfZL4ZcBbI434IHlv7SRVPNbNS7H6rKnWyk4MKHxEwOC Mqk7uihb5KD/u5mYX43p2ugdLFJT0jZaYPR8eZ5CAE+qZEELESUEpN+z0tulmX/OnrTd R9cqcADSY6foKKkRY9RCNVbSo7ZLpjZP+LjK8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=vi4dXMeAlReW7Wcuzbzgfk9kPWWATUDNmarUTQhFktI=; b=NKkKMfP8zsyMZaFTpQX3G6YX8UTNqjXxmiFu5PrA18jabXWKxjso9jOMdHSCn1XTEL GakP76pd9lZliYZsC6sprjeO9e37G4MG/xTDwynlUxaTKksQZBKJD5fRkAoGext80HA2 ki8Goh9zF2mVTHAi/aF7GaH+CgbXFqLJa2wNom+PH72dP/I+GAZz/WS5prVr7ERsgQ7J uK8e26gUZ2brKzOjUaFsPzPz9ONzn33SGjiDnAl1cyUgEZppcd/oHMhtrzjlMzAlHDoP EDqXICAW2W4bl+e7VvlKnKj/kM3/VurPwtEc/u6hXIWwj1hCUl5aXKQGEWyn1b44F0nD dhSA== X-Gm-Message-State: APf1xPBDQo5gvRiipk27iRmlurrdKMtuTmKc+RfUBpEIjx0/csurrroH CnpTxV6HXaNikgjrVNGtMAOqSJgB X-Google-Smtp-Source: AH8x22688oEyWpiOjC8kvxIjMyOyrcB5afy/saND6z/OgPHmRIWETCfzKHiw5Bdz6xkzhfaHapOr7g== X-Received: by 10.46.77.149 with SMTP id c21mr1609531ljd.148.1518170002320; Fri, 09 Feb 2018 01:53:22 -0800 (PST) From: Piotr Sarna To: qemu-devel@nongnu.org Date: Fri, 9 Feb 2018 10:53:12 +0100 Message-Id: <1518169992-19288-1-git-send-email-sarna@skytechnology.pl> X-Mailer: git-send-email 2.7.4 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::241 Subject: [Qemu-devel] [PATCH v2] block: unify blocksize types 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, Piotr Sarna , famz@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 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" BlockSizes structure used in block size probing has uint32_t types for logical and physical sizes. These fields are wrongfully assigned to uint16_t in BlockConf, which results, among other errors, in assigning 0 instead of 65536 (which will be the case in at least future LizardFS block device driver among other things). This commit makes BlockConf's physical_block_size and logical_block_size fields uint32_t to avoid inconsistencies. Signed-off-by: Piotr Sarna --- hw/core/qdev-properties.c | 10 +++++----- include/hw/block/block.h | 4 ++-- include/hw/qdev-properties.h | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 5bbc2d9..1400ba5 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -731,14 +731,14 @@ static void set_blocksize(Object *obj, Visitor *v, co= nst char *name, uint16_t value, *ptr =3D qdev_get_prop_ptr(dev, prop); Error *local_err =3D NULL; const int64_t min =3D 512; - const int64_t max =3D 32768; + const int64_t max =3D 2147483648; =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); return; } =20 - visit_type_uint16(v, name, &value, &local_err); + visit_type_uint32(v, name, &value, &local_err); if (local_err) { error_propagate(errp, local_err); return; @@ -762,9 +762,9 @@ static void set_blocksize(Object *obj, Visitor *v, cons= t char *name, } =20 const PropertyInfo qdev_prop_blocksize =3D { - .name =3D "uint16", - .description =3D "A power of two between 512 and 32768", - .get =3D get_uint16, + .name =3D "uint32", + .description =3D "A power of two between 512 and 2147483648", + .get =3D get_uint32, .set =3D set_blocksize, .set_default_value =3D set_default_value_uint, }; diff --git a/include/hw/block/block.h b/include/hw/block/block.h index 64b9298..c9e6e27 100644 --- a/include/hw/block/block.h +++ b/include/hw/block/block.h @@ -17,8 +17,8 @@ =20 typedef struct BlockConf { BlockBackend *blk; - uint16_t physical_block_size; - uint16_t logical_block_size; + uint32_t physical_block_size; + uint32_t logical_block_size; uint16_t min_io_size; uint32_t opt_io_size; int32_t bootindex; diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 1d61a35..c68d7bf 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -210,7 +210,7 @@ extern const PropertyInfo qdev_prop_off_auto_pcibar; #define DEFINE_PROP_BIOS_CHS_TRANS(_n, _s, _f, _d) \ DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_bios_chs_trans, int) #define DEFINE_PROP_BLOCKSIZE(_n, _s, _f) \ - DEFINE_PROP_UNSIGNED(_n, _s, _f, 0, qdev_prop_blocksize, uint16_t) + DEFINE_PROP_UNSIGNED(_n, _s, _f, 0, qdev_prop_blocksize, uint32_t) #define DEFINE_PROP_PCI_HOST_DEVADDR(_n, _s, _f) \ DEFINE_PROP(_n, _s, _f, qdev_prop_pci_host_devaddr, PCIHostDeviceAddre= ss) #define DEFINE_PROP_MEMORY_REGION(_n, _s, _f) \ --=20 2.7.4