From nobody Mon May 6 03:39:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1569436523; cv=none; d=zoho.com; s=zohoarc; b=PhIIJOlNTDUVp/2X5Li67GW+qsv0+iybCkkPwxWTi/cPfBlCmXHduOvBCp0u9FOPg28GU8TJUT1IEqHDWQ9DF2SW97YlqfnZlXGYDGph24VXFRNJQBiygY3urtOu5NoPOva52A5rUI8ti+NwBMxR/FyRdzrExMd+XL6RwpJwWq0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569436523; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=Hwak1zNZ47Uqc/N8Y+teL5n8KSX83C5bkPVurQDQwns=; b=EH59lpUFrkvSjJpfiHuyJ55kkBnGfe99kyw+gblwwHGDUp3HowCf6SazIC+AO7pOsHS/7us1HJef2CVUEOt61IpFr6P5W2dF0gcWziPZj2mbN35mrLmbL8wu/U5hm55+hm7IFSStvye/3NBnb4WcmCYDLYaC7QJGKTKi4kY4pHk= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1569436523651789.3924375028279; Wed, 25 Sep 2019 11:35:23 -0700 (PDT) Received: from localhost ([::1]:55882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDC8D-0003Zz-TQ for importer@patchew.org; Wed, 25 Sep 2019 14:35:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36776) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDC5g-0001N3-HO for qemu-devel@nongnu.org; Wed, 25 Sep 2019 14:32:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iDC5f-0007aD-HX for qemu-devel@nongnu.org; Wed, 25 Sep 2019 14:32:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56318) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iDC5c-0007UB-9u; Wed, 25 Sep 2019 14:32:36 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9D0294ACA5; Wed, 25 Sep 2019 18:32:35 +0000 (UTC) Received: from localhost (unknown [10.40.205.132]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 375D161F24; Wed, 25 Sep 2019 18:32:35 +0000 (UTC) From: Max Reitz To: qemu-block@nongnu.org Subject: [PATCH 1/3] iotests: Fix 125 for growth_mode = metadata Date: Wed, 25 Sep 2019 20:32:29 +0200 Message-Id: <20190925183231.11196-2-mreitz@redhat.com> In-Reply-To: <20190925183231.11196-1-mreitz@redhat.com> References: <20190925183231.11196-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 25 Sep 2019 18:32:35 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" If we use growth_mode =3D metadata, it is very much possible that the file uses more disk space after we have written something to the added area. We did indeed want to test for this case, but unfortunately we evidently just copied the code from the "Test creation preallocation" section and forgot to replace "$create_mode" by "$growth_mode". We never noticed because we only read the first number from qemu-img info's "disk size" output -- and that is effectively useless, because qemu-img prints a human-readable value (which generally includes a decimal point). That will be fixed in the patch after the next one. Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/125 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/125 b/tests/qemu-iotests/125 index dc4b8f5fb9..df328a63a6 100755 --- a/tests/qemu-iotests/125 +++ b/tests/qemu-iotests/125 @@ -111,7 +111,7 @@ for GROWTH_SIZE in 16 48 80; do if [ $file_length_2 -gt $file_length_1 ]; then echo "ERROR (grow): Image length has grown from $file_= length_1 to $file_length_2" fi - if [ $create_mode !=3D metadata ]; then + if [ $growth_mode !=3D metadata ]; then # The host size should not have grown either if [ $host_size_2 -gt $host_size_1 ]; then echo "ERROR (grow): Host size has grown from $host= _size_1 to $host_size_2" --=20 2.21.0 From nobody Mon May 6 03:39:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1569436536; cv=none; d=zoho.com; s=zohoarc; b=a+lmsWEW72HFnkEvbrnYRzG8d4OVU7KWWQ4gYOhyQpYSOdK4AyP5Rc9iCpxJAWm4YBtVrBbhqEEj6DFM9MVv0JDDFS1hq96Fa1c9sdseW1nSJRstjGk+IVBScJuWNEacpBe7gLf/9nj7a9aWJk1FOXEQjc4AKAk4I/vrJ+bt19s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569436536; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=pmHZg35xa0+OhxxqxBiIrjSUjf2Vcw/DYEMWqXb7yq0=; b=a00h1rxt2RdM+4coyF4N4fQSVWOrYQelKpSWKhQAhwHF0kbWZql3CnQYSXAF39S6NIjXk9lm9zRpMW/ufRMDQR1MiMayChNUB28c9VnC0mAxOc0JjwBo4Yb63bOr6na66DSNTeqYOAmBbFInwp7/qLcsh2gaby7x2tDgUy+W2Aw= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1569436536022449.45146979762876; Wed, 25 Sep 2019 11:35:36 -0700 (PDT) Received: from localhost ([::1]:55884 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDC8S-0003vH-IA for importer@patchew.org; Wed, 25 Sep 2019 14:35:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36822) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDC5i-0001PM-3j for qemu-devel@nongnu.org; Wed, 25 Sep 2019 14:32:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iDC5h-0007c7-1z for qemu-devel@nongnu.org; Wed, 25 Sep 2019 14:32:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47840) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iDC5e-0007Y5-K4; Wed, 25 Sep 2019 14:32:38 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E6F102026F; Wed, 25 Sep 2019 18:32:37 +0000 (UTC) Received: from localhost (unknown [10.40.205.132]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8238F194B2; Wed, 25 Sep 2019 18:32:37 +0000 (UTC) From: Max Reitz To: qemu-block@nongnu.org Subject: [PATCH 2/3] iotests: Disable 125 on broken XFS versions Date: Wed, 25 Sep 2019 20:32:30 +0200 Message-Id: <20190925183231.11196-3-mreitz@redhat.com> In-Reply-To: <20190925183231.11196-1-mreitz@redhat.com> References: <20190925183231.11196-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 25 Sep 2019 18:32:37 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" And by that I mean all XFS versions, as far as I can tell. All details are in the comment below. We never noticed this problem because we only read the first number from qemu-img info's "disk size" output -- and that is effectively useless, because qemu-img prints a human-readable value (which generally includes a decimal point). That will be fixed in the next patch. Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/125 | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/qemu-iotests/125 b/tests/qemu-iotests/125 index df328a63a6..0ef51f1e21 100755 --- a/tests/qemu-iotests/125 +++ b/tests/qemu-iotests/125 @@ -49,6 +49,46 @@ if [ -z "$TEST_IMG_FILE" ]; then TEST_IMG_FILE=3D$TEST_IMG fi =20 +# Test whether we are running on a broken XFS version. There is this +# bug: + +# $ rm -f foo +# $ touch foo +# $ block_size=3D4096 # Your FS's block size +# $ fallocate -o $((block_size / 2)) -l $block_size foo +# $ LANG=3DC xfs_bmap foo | grep hole +# 1: [8..15]: hole +# +# The problem is that the XFS driver rounds down the offset and +# rounds up the length to the block size, but independently. As +# such, it only allocates the first block in the example above, +# even though it should allocate the first two blocks (because our +# request is to fallocate something that touches both the first +# two blocks). +# +# This means that when you then write to the beginning of the +# second block, the disk usage of the first two blocks grows. +# +# That is precisely what fallocate() promises, though: That when you +# write to an area that you have fallocated, no new blocks will have +# to be allocated. + +touch "$TEST_IMG_FILE" +# Assuming there is no FS with a block size greater than 64k +fallocate -o 65535 -l 2 "$TEST_IMG_FILE" +len0=3D$(get_image_size_on_host) + +# Write to something that in theory we have just fallocated +# (Thus, the on-disk size should not increase) +poke_file "$TEST_IMG_FILE" 65536 42 +len1=3D$(get_image_size_on_host) + +if [ $len1 -gt $len0 ]; then + _notrun "the test filesystem's fallocate() is broken" +fi + +rm -f "$TEST_IMG_FILE" + # Generally, we create some image with or without existing preallocation a= nd # then resize it. Then we write some data into the image and verify that i= ts # size does not change if we have used preallocation. --=20 2.21.0 From nobody Mon May 6 03:39:11 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1569436660; cv=none; d=zoho.com; s=zohoarc; b=QQsIhFurQWzb/KHkEquSUJwI5/qFo1UcqysJdWW1q3Bl4BUGXR4W0ve+73hM1hhuGdhvv6Nq202I9tMvqqVjfaoUVsfAjNYQrnTalMOF51C2N9R2ulJsa3LDaFLQhL844mm/3AdAW41M++kk2dZbQtU2PPMV0TD0x4Wmr5s24PY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569436660; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=Ny+NaC19CftHfdZ8RxcJINZuStg3b6E1BybOI4PiweM=; b=UNtmNFoGAqTrlKmMetw3r0F5Qg3WyQYuVDveJ/K7vcDm+79zfNttdnC3S1KVCCmBqu+dj+mj5PDYV2PyZZjoPToXYyd/YUoNvFQdC7UVUtKCOSuzPBpvRBQNQ4pMqvvoArKGnrvWYjJp7EGWUL4/nrvUbnQ2NdlBjCQeP9M+rRs= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1569436660513852.9908615372682; Wed, 25 Sep 2019 11:37:40 -0700 (PDT) Received: from localhost ([::1]:55898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDCAT-0006Qx-BM for importer@patchew.org; Wed, 25 Sep 2019 14:37:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36884) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDC5k-0001T1-WF for qemu-devel@nongnu.org; Wed, 25 Sep 2019 14:32:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iDC5k-0007g8-0S for qemu-devel@nongnu.org; Wed, 25 Sep 2019 14:32:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38536) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iDC5g-0007bO-VW; Wed, 25 Sep 2019 14:32:41 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3BCD969066; Wed, 25 Sep 2019 18:32:40 +0000 (UTC) Received: from localhost (unknown [10.40.205.132]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CA901816F; Wed, 25 Sep 2019 18:32:39 +0000 (UTC) From: Max Reitz To: qemu-block@nongnu.org Subject: [PATCH 3/3] iotests: Use stat -c %b in 125 Date: Wed, 25 Sep 2019 20:32:31 +0200 Message-Id: <20190925183231.11196-4-mreitz@redhat.com> In-Reply-To: <20190925183231.11196-1-mreitz@redhat.com> References: <20190925183231.11196-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Wed, 25 Sep 2019 18:32:40 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" 125 should not use qemu-img to get the on-disk image size, because that reports it in a human-readable format that is useless to us. Just use stat instead (like we do to get the image file length). Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/125 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/qemu-iotests/125 b/tests/qemu-iotests/125 index 0ef51f1e21..4e31aa4e5f 100755 --- a/tests/qemu-iotests/125 +++ b/tests/qemu-iotests/125 @@ -34,8 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 =20 get_image_size_on_host() { - $QEMU_IMG info -f "$IMGFMT" "$TEST_IMG" | grep "disk size" \ - | sed -e 's/^[^0-9]*\([0-9]\+\).*$/\1/' + echo $(($(stat -c '%b * %B' "$TEST_IMG_FILE"))) } =20 # get standard environment and filters --=20 2.21.0