From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494556; cv=none; d=zohomail.com; s=zohoarc; b=VIq69ofLqr6nHpBPLBdS6AXP4oIuuktSOseqgYcoDZAQa6tcs8buOesQz714ivm4NapoBXj6BMF2waY7HhNG5yzPr0k0g8OAmHi8USDIZmb3nI985Cw0Ca1coWfzDa1sXM3VLmacXLH90i2/HMgykZBBoXZ/a+QKvZf21REVm5o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494556; h=Content-Type: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; bh=g3hgguPtL+HaKFSPze+k4Gth0iQFVtrGwoUkM6o8zZk=; b=A5kLzmoOBhaZefktAClnxVaFSk4CqHbTEsf9YQqVW8CXBxUxMqpuoaWrAaEm2xjJlhbEyfpoavq/saW7jZPC7d95UTa+GpUbmkLQvPOXtHRwdH2nqFZ5O21slF13/6FYrzEJYSqBeC86pQ4VbiGTaUFLP0AAqdWjRn+3cO+RzYo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494556286988.5430562856951; Mon, 16 Dec 2019 03:09:16 -0800 (PST) Received: from localhost ([::1]:51040 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoFV-0006jw-5G for importer@patchew.org; Mon, 16 Dec 2019 06:09:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49941) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoDy-00059l-7t for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoDx-0003Qg-0G for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:38 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:34144) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoDw-0003Mo-Ox for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:36 -0500 Received: by mail-wm1-x334.google.com with SMTP id f4so4735820wmj.1 for ; Mon, 16 Dec 2019 03:07:36 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id u18sm20848261wrt.26.2019.12.16.03.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:32 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 2F5021FF8C; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g3hgguPtL+HaKFSPze+k4Gth0iQFVtrGwoUkM6o8zZk=; b=GI7JCyB+Jh2GdQZxhRB8mQNh9m46u8CtZBvK5+XT2YSti5Tnq6vTNCtXNPTlyIJeu1 oSHWkqd+RALzhrKaYU0WL9tSoDCRtYqtcNNmI0NUKwvv/QDumkMu0Sv78TZCdVeRRBLU fI1lYnWk5/RKz+3OZvsOuz85mKvjJNUsBy0GCs8Yr+6TfTiHHAvQAy9YqeSznsMxNvfg Kmt+lojm+/F6LvYfySN14nh8PQdpAgVteCranzDmFFcH+U+temkjgcsQOZM58JwI3t4e +mptud26jdhDfZwaQiAF6Y5giaktKv4gbCWAKEOESpXuGH+FvvfV9ZCX7tPV9n5ZNPAI /WPw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=g3hgguPtL+HaKFSPze+k4Gth0iQFVtrGwoUkM6o8zZk=; b=IOOq5vsqv5eQ9wpq7t+f+Ecr4riPvgtgXxsRc7GeupyzKgnLNXWcKX+7KFHNPnKv8B 1Be3i5igBbkx3weoFNhcW6QQYEly7HEo5uZVX6RxkB9zP9Q2zgJGe43+1V78gkcchqwu 01v5PbRoW5T26FHSVpR0wvG0FWfC/EAP1ruYE1KJZ9pAu7i/uB/4uGq2eC01Ylt9N9+s ROhdnftdrq4T7tpr41KJg07qZ3WinDjcmaauDdlPa9tJB3kMVvJCmlVOpI+3BYzIVNIw sfFtNlcdnbzcUX3q1rCE/c1EJ7W4sUhw20EjOD9eSk4SsDWEkrw8kYBeButgB7BtOTTj Loag== X-Gm-Message-State: APjAAAU9NcUkdyKUS6XqdzVCC4fgf4JNaBuKSw+cZF9Tu1Yssqe8WAcu r9siKoivSbqRS1BXZszJpvasQg== X-Google-Smtp-Source: APXvYqzjqTMI8Vzqy7eihoaWO7YQgCvmMfqh73ScTN4U6pUrLe6PFl8ye9HbQJ+m9kDrbHKJo+jMYA== X-Received: by 2002:a1c:9e4c:: with SMTP id h73mr8509596wme.177.1576494454347; Mon, 16 Dec 2019 03:07:34 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 01/16] configure: allow disable of cross compilation containers Date: Mon, 16 Dec 2019 11:07:17 +0000 Message-Id: <20191216110732.24027-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::334 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: fam@euphon.net, berrange@redhat.com, stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, Stefan Weil , aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Our docker infrastructure isn't quite as multiarch as we would wish so lets allow the user to disable it if they want. This will allow us to use still run check-tcg on non-x86 CI setups. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Stefan Weil Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Tested-by: Richard Henderson --- configure | 8 +++++++- tests/tcg/configure.sh | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 2c72e04d23f..419e1554978 100755 --- a/configure +++ b/configure @@ -302,6 +302,7 @@ audio_win_int=3D"" libs_qga=3D"" debug_info=3D"yes" stack_protector=3D"" +use_containers=3D"yes" =20 if test -e "$source_path/.git" then @@ -1539,6 +1540,10 @@ for opt do ;; --disable-plugins) plugins=3D"no" ;; + --enable-containers) use_containers=3D"yes" + ;; + --disable-containers) use_containers=3D"no" + ;; *) echo "ERROR: unknown option $opt" echo "Try '$0 --help' for more information" @@ -1722,6 +1727,7 @@ Advanced options (experts only): track the maximum stack usage of stacks created= by qemu_alloc_stack --enable-plugins enable plugins via shared library loading + --disable-containers don't use containers for cross-building =20 Optional features, enabled with --enable-FEATURE and disabled with --disable-FEATURE, default is enabled if available: @@ -8023,7 +8029,7 @@ done (for i in $cross_cc_vars; do export $i done -export target_list source_path +export target_list source_path use_containers $source_path/tests/tcg/configure.sh) =20 # temporary config to build submodules diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh index 6c4a471aeae..210e68396f2 100755 --- a/tests/tcg/configure.sh +++ b/tests/tcg/configure.sh @@ -36,8 +36,10 @@ TMPC=3D"${TMPDIR1}/qemu-conf.c" TMPE=3D"${TMPDIR1}/qemu-conf.exe" =20 container=3D"no" -if has "docker" || has "podman"; then - container=3D$($python $source_path/tests/docker/docker.py probe) +if test $use_containers =3D "yes"; then + if has "docker" || has "podman"; then + container=3D$($python $source_path/tests/docker/docker.py probe) + fi fi =20 # cross compilers defaults, can be overridden with --cross-cc-ARCH --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494561; cv=none; d=zohomail.com; s=zohoarc; b=dwzn3ZW2hZJ2V/XVjLC2bxiIZ50ry/BbrW8BaZc4RhI0EbaKy5JhHu9fiGCHUcjj/XmX7XH1oXzwwrDqQvjBLvvf4qhMbQwKEnR50tjvpFlonfmRbSkcrf/9k5oMaRvbJUOaO+sNLslgDFUvAGGaSdp2vRJqcuel7qwIYnixf7M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494561; h=Content-Type: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; bh=Sh1cPn4xkreFT2HSorYq3mSvdDWkFJfIxqbhkUlZld8=; b=AbF1kjYf+Av8vUFC1QUX/HyE5oqfB8Spgc+zhZFQcfPFv8u9KDeI7KIkyMYKTa8LA2x7rfJxO71ijWfHmbn71GPNaPEMfn6b7tV4MBX4I7Pd1M1d17aFcRfurFkV5PqMRu7RYUKDS0kvNMgJXh67cazgb4lJpr1/rePL+Jim5Mk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494561889335.3485573776452; Mon, 16 Dec 2019 03:09:21 -0800 (PST) Received: from localhost ([::1]:51049 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoFb-0006sL-4q for importer@patchew.org; Mon, 16 Dec 2019 06:09:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49967) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoDz-00059x-SM for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoDy-0003Up-Er for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:39 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:55895) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoDy-0003TR-88 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:38 -0500 Received: by mail-wm1-x32b.google.com with SMTP id q9so6240828wmj.5 for ; Mon, 16 Dec 2019 03:07:38 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id o1sm21709919wrn.84.2019.12.16.03.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:33 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 52A2E1FF8F; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Sh1cPn4xkreFT2HSorYq3mSvdDWkFJfIxqbhkUlZld8=; b=MBlpFANJnzpO0DNFXHMp2JXr14YM8aQ3FBhP3LNS0Rq4/LLiR2xHn29hGtyxjifL25 N7hdz4+8xx9Q/xFv4mmEXCtCcsPpXS16ajW5Yzd+W6TmtX97JHkGFUmjuZcHJHHQrw99 fXne8bdQPkjOyvGrsQnMbXHSBSI2Up+Zr4HdVwKHS+wJx6z6zMTUh6uOF151wnQ6pcr9 b33QL34YN+yWRH+LcHx9OxMGwZXJnPkqN3PLHBgabFyfLVIdLfboy3Y84K+YGE6zg07/ Ert1Oy3EsZ8qTXR0wXb9GLwxKZqR83QxNdFWcYkfnh4M8jwVmfKkBnjWuZLJRjlfQG9b kaFw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Sh1cPn4xkreFT2HSorYq3mSvdDWkFJfIxqbhkUlZld8=; b=d64zgo2JPU9TUbrYkpMOh1byCf19xdFIAU8tuWY/SeyEcotbteBHtL87G0r1zia0tb Eb9IgCzJwAXfjz+vCABtwh/jpRO37Z8ORKVN9OwSStW8MtNI8bv8GFrjDc1Srg169p4p mszgio6b3S63djJUGsRVgH3eoPRo5kwO3bYTCOay6zpetzPSYuuT3Wg1tMG5QnjfOCUK qOz62BfY8MwQx6WUodN7hENKDOcItqGTczVfuWTk3KAvSffB8AX1L4Ib+FbP3U/8YZpB QBujYfNAN2Xc1EZKGR0xPL4j34thXwQGWjHpbtbQC8Ca+Vz5de2+XxFZk76eIBHOUudG ibqA== X-Gm-Message-State: APjAAAUMKF1rvARDLA5zYz7rBLaAu2LT14VmPLTWxRild0R2y3lOsifw DSxtyfies8RS4xK7nSKF1emYSw== X-Google-Smtp-Source: APXvYqyq2ZqOa1RXzyjESLlusxsCEa0ybZm008+RStAMaUnBr68SmyJY5Z4Dw1fUB6miv8BrR3Lc6A== X-Received: by 2002:a05:600c:2046:: with SMTP id p6mr1983444wmg.110.1576494457070; Mon, 16 Dec 2019 03:07:37 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 02/16] tests/vm: Allow to set qemu-img path Date: Mon, 16 Dec 2019 11:07:18 +0000 Message-Id: <20191216110732.24027-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32b 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: fam@euphon.net, berrange@redhat.com, stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Wainer dos Santos Moschetta By default VM build test use qemu-img from system's PATH to create the image disk. Due the lack of qemu-img on the system or the desire to simply use a version built with QEMU, it would be nice to allow one to set its path. So this patch makes that possible by reading the path to qemu-img from QEMU_IMG if set, otherwise it fallback to default behavior. Signed-off-by: Wainer dos Santos Moschetta Message-Id: <20191114134246.12073-2-wainersm@redhat.com> Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- docs/devel/testing.rst | 6 ++++-- tests/vm/Makefile.include | 1 + tests/vm/basevm.py | 5 +++++ tests/vm/centos | 2 +- tests/vm/fedora | 4 +--- tests/vm/freebsd | 3 +-- tests/vm/netbsd | 3 +-- tests/vm/openbsd | 3 +-- tests/vm/ubuntu.i386 | 2 +- 9 files changed, 16 insertions(+), 13 deletions(-) diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst index 8e981e062d5..9be6cd44109 100644 --- a/docs/devel/testing.rst +++ b/docs/devel/testing.rst @@ -418,13 +418,15 @@ access, so they SHOULD NOT be exposed to external int= erfaces if you are concerned about attackers taking control of the guest and potentially exploiting a QEMU security bug to compromise the host. =20 -QEMU binary ------------ +QEMU binaries +------------- =20 By default, qemu-system-x86_64 is searched in $PATH to run the guest. If t= here isn't one, or if it is older than 2.10, the test won't work. In this case, provide the QEMU binary in env var: ``QEMU=3D/path/to/qemu-2.10+``. =20 +Likewise the path to qemu-img can be set in QEMU_IMG environment variable. + Make jobs --------- =20 diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include index fea348e845c..9e7c46a4735 100644 --- a/tests/vm/Makefile.include +++ b/tests/vm/Makefile.include @@ -34,6 +34,7 @@ vm-help vm-test: @echo " DEBUG=3D1 - Enable verbose output on host and i= nteractive debugging" @echo " V=3D1 - Enable verbose ouput on host and guest commands" @echo " QEMU=3D/path/to/qemu - Change path to QEMU binary" + @echo " QEMU_IMG=3D/path/to/qemu-img - Change path to qemu-img tool" =20 vm-build-all: $(addprefix vm-build-, $(IMAGES)) =20 diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 0b8c1b26576..930ad821eed 100755 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -152,6 +152,11 @@ class BaseVM(object): def build_image(self, img): raise NotImplementedError =20 + def exec_qemu_img(self, *args): + cmd =3D [os.environ.get("QEMU_IMG", "qemu-img")] + cmd.extend(list(args)) + subprocess.check_call(cmd) + def add_source_dir(self, src_dir): name =3D "data-" + hashlib.sha1(src_dir.encode("utf-8")).hexdigest= ()[:5] tarfile =3D os.path.join(self._tmpdir, name + ".tar") diff --git a/tests/vm/centos b/tests/vm/centos index b9e851f2d33..f2f0befd845 100755 --- a/tests/vm/centos +++ b/tests/vm/centos @@ -68,7 +68,7 @@ class CentosVM(basevm.BaseVM): sys.stderr.write("Extracting the image...\n") subprocess.check_call(["ln", "-f", cimg, img_tmp + ".xz"]) subprocess.check_call(["xz", "--keep", "-dvf", img_tmp + ".xz"]) - subprocess.check_call(["qemu-img", "resize", img_tmp, "50G"]) + self.exec_qemu_img("resize", img_tmp, "50G") self.boot(img_tmp, extra_args =3D ["-cdrom", self._gen_cloud_init_= iso()]) self.wait_ssh() self.ssh_root_check("touch /etc/cloud/cloud-init.disabled") diff --git a/tests/vm/fedora b/tests/vm/fedora index 7fec1479fb7..8e270fc0f03 100755 --- a/tests/vm/fedora +++ b/tests/vm/fedora @@ -74,9 +74,7 @@ class FedoraVM(basevm.BaseVM): =20 self.print_step("Preparing iso and disk image") subprocess.check_call(["cp", "-f", cimg, iso]) - subprocess.check_call(["qemu-img", "create", "-f", "qcow2", - img_tmp, self.size]) - + self.exec_qemu_img("create", "-f", "qcow2", img_tmp, self.size) self.print_step("Booting installer") self.boot(img_tmp, extra_args =3D [ "-bios", "pc-bios/bios-256k.bin", diff --git a/tests/vm/freebsd b/tests/vm/freebsd index 2a19461a909..1825cc58218 100755 --- a/tests/vm/freebsd +++ b/tests/vm/freebsd @@ -82,8 +82,7 @@ class FreeBSDVM(basevm.BaseVM): self.print_step("Preparing iso and disk image") subprocess.check_call(["cp", "-f", cimg, iso_xz]) subprocess.check_call(["xz", "-dvf", iso_xz]) - subprocess.check_call(["qemu-img", "create", "-f", "qcow2", - img_tmp, self.size]) + self.exec_qemu_img("create", "-f", "qcow2", img_tmp, self.size) =20 self.print_step("Booting installer") self.boot(img_tmp, extra_args =3D [ diff --git a/tests/vm/netbsd b/tests/vm/netbsd index 611e6cc5b5c..ec6f3563b25 100755 --- a/tests/vm/netbsd +++ b/tests/vm/netbsd @@ -77,8 +77,7 @@ class NetBSDVM(basevm.BaseVM): =20 self.print_step("Preparing iso and disk image") subprocess.check_call(["ln", "-f", cimg, iso]) - subprocess.check_call(["qemu-img", "create", "-f", "qcow2", - img_tmp, self.size]) + self.exec_qemu_img("create", "-f", "qcow2", img_tmp, self.size) =20 self.print_step("Booting installer") self.boot(img_tmp, extra_args =3D [ diff --git a/tests/vm/openbsd b/tests/vm/openbsd index b92c39f89a6..6df5162dbf4 100755 --- a/tests/vm/openbsd +++ b/tests/vm/openbsd @@ -73,8 +73,7 @@ class OpenBSDVM(basevm.BaseVM): =20 self.print_step("Preparing iso and disk image") subprocess.check_call(["cp", "-f", cimg, iso]) - subprocess.check_call(["qemu-img", "create", "-f", "qcow2", - img_tmp, self.size]) + self.exec_qemu_img("create", "-f", "qcow2", img_tmp, self.size) =20 self.print_step("Booting installer") self.boot(img_tmp, extra_args =3D [ diff --git a/tests/vm/ubuntu.i386 b/tests/vm/ubuntu.i386 index f611bebdc9d..3834cd7a8df 100755 --- a/tests/vm/ubuntu.i386 +++ b/tests/vm/ubuntu.i386 @@ -70,7 +70,7 @@ class UbuntuX86VM(basevm.BaseVM): sha256sum=3D"28969840626d1ea80bb249c08eef1a4533e8904aa51a327b4= 0f37ac4b4ff04ef") img_tmp =3D img + ".tmp" subprocess.check_call(["cp", "-f", cimg, img_tmp]) - subprocess.check_call(["qemu-img", "resize", img_tmp, "50G"]) + self.exec_qemu_img("resize", img_tmp, "50G") self.boot(img_tmp, extra_args =3D ["-cdrom", self._gen_cloud_init_= iso()]) self.wait_ssh() self.ssh_root_check("touch /etc/cloud/cloud-init.disabled") --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494729; cv=none; d=zohomail.com; s=zohoarc; b=BvP96o7vveVnsW8QejCVAH9amSMgZ96QLvIdtru088Pj6S/KlDAameVrI1Grq7BVHuk5gBdoYyr5ri8wVwx0Pl/cj/G7Md59zTfQ3W99aeePCDxY3iyW3LdrILRgyW74EGCW5Abg7Ti+EZABOejXUVbbLp7g6XDnLcczaoDUESM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494729; h=Content-Type: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; bh=Sfa3q62bPJXCnWShG4VYkUrdYTp0bRsHxJH6tzFRdu8=; b=eIyaGVnnR7uDfv+Lw3A9j5uRneG7iv99k5YpNR23ACsHyqwXrBBYnY9wjcK+8Gqf3sR4ggTLfTM1uCTD5EIY41bcHBbmtXou1nBfaL93dOs6NBqum3Pc9FhjdPTvEf6V3C/eQSfkRTGbIfDaapBF76KA2dTGit7kxoZWQ/Mj2O4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494729560891.0521707237774; Mon, 16 Dec 2019 03:12:09 -0800 (PST) Received: from localhost ([::1]:51322 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoIJ-0002DE-QB for importer@patchew.org; Mon, 16 Dec 2019 06:12:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49977) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoE0-0005Au-Up for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoDz-0003XI-Rc for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:40 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:35089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoDz-0003Vt-LZ for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:39 -0500 Received: by mail-wr1-x42e.google.com with SMTP id g17so6730842wro.2 for ; Mon, 16 Dec 2019 03:07:39 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id 16sm20422018wmi.0.2019.12.16.03.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:35 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 687BF1FF90; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Sfa3q62bPJXCnWShG4VYkUrdYTp0bRsHxJH6tzFRdu8=; b=vacjemKAijkhe1FEiUZmMM1C7dRnkCTkUkszFc97crJlgOGHRi2oqxEsmeRgqDW7od Mequ7su8F9yFj6WtVBx1fqb4baLD0JtTvbKuxVYgrqnrwQFzlHQObzJECxVHldQZmjhW jsT+aminWW/jKysuQPP1m0a5D9hXvo5ak6iHiuYenMKQIPV7NEqh8NpFL8GeWIOhGSzO 4W/YBLjFFEs/k8xKwxAI4cnSyQPoIuekwT6cB/AfJKBBREqvnZM8HOoVkQLJOdzXkYGv BGLHwHvwsRPboAwFM2fplOETpGZxpqoO06yjeNFDYS1tJFtgzrE4xXHYIbhfrQ+hlXwI XL/w== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Sfa3q62bPJXCnWShG4VYkUrdYTp0bRsHxJH6tzFRdu8=; b=Zy3KaDfX1RGqJfwSxjsHcsJR5GSJjweBZ+OA0hxyRY2iWSzE/Z53IY/pA3LtAtU3O8 mhuFl3mPFdzVY5Z+i0cb5fVG/6Up7E3cdYyhf5piNDjXZTeKXs06AZhKUl9LrhOcomD4 pUblMsqAm+l8dCIh2y2cHwAdkS5CskGxgT/GYs6h+f96w5ZsPXd2pC6eKDQlwVrvInsf iGx3+Isg8xbWmvPyBJ2czEf8tgQjf7+jucIMyUK2hflhJgW3fqi1pUmag4yJwiquBb8m suSVpgFF4uTYr3mMS1qH2fmGIGFBrsyF/cjFMc3ofFXe2pG4MeXwt5+NMJA9hzDDbY6p JKsw== X-Gm-Message-State: APjAAAUUNUGD6bUOLIA7fXlTnIKnmNgjWMP98FR298ze7Bs2JsnFa/oE Hb2qH5d0mJk+IdCv+wWYu2Ysew== X-Google-Smtp-Source: APXvYqwzKTrcmKU/FNftR1jnN9cOdCM1nqfh7UgF1ULqSupjs9r/B+GfLf1IDOg8huOfZMaYbGZFeA== X-Received: by 2002:a5d:404b:: with SMTP id w11mr30751646wrp.171.1576494458552; Mon, 16 Dec 2019 03:07:38 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 03/16] travis.yml: Run tcg tests with tci Date: Mon, 16 Dec 2019 11:07:19 +0000 Message-Id: <20191216110732.24027-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e 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: fam@euphon.net, Thomas Huth , berrange@redhat.com, stefanb@linux.vnet.ibm.com, Stefan Weil , richard.henderson@linaro.org, f4bug@amsat.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth So far we only have compile coverage for tci. But since commit 2f160e0f9797c7522bfd0d09218d0c9340a5137c ("tci: Add implementation for INDEX_op_ld16u_i64") has been included now, we can also run the "tcg" and "qtest" tests with tci, so let's enable them in Travis now. Since we don't gain much additional test coverage by compiling all targets, and TCI is broken e.g. with the Sparc targets, we also limit the target list to a reasonable subset now (which should still get us test coverage by tests/boot-serial-test for example). Tested-by: Stefan Weil Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Thomas Huth Message-Id: <20191204083133.6198-1-thuth@redhat.com> [AJB: just --enable-debug-tcg] Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6cb8af6fa59..15946293ff3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -214,10 +214,11 @@ matrix: - TEST_CMD=3D"" =20 =20 - # We manually include builds which we disable "make check" for + # Check the TCG interpreter (TCI) - env: - - CONFIG=3D"--enable-debug --enable-tcg-interpreter" - - TEST_CMD=3D"" + - CONFIG=3D"--enable-debug-tcg --enable-tcg-interpreter --disable-= kvm --disable-containers + --target-list=3Dalpha-softmmu,arm-softmmu,hppa-softmmu,m68k-so= ftmmu,microblaze-softmmu,moxie-softmmu,ppc-softmmu,s390x-softmmu,x86_64-sof= tmmu" + - TEST_CMD=3D"make check-qtest check-tcg V=3D1" =20 =20 # We don't need to exercise every backend with every front-end --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494565; cv=none; d=zohomail.com; s=zohoarc; b=R05c9VAR+iI3NSp+AXd28g41IDLdLR0LaUstJPTrZYTgG6iXtNlxuF1xfI+BqBxM0afHoQgN1N1kKI2ZJLYFs0CJ6av0dglOQPhNnPcIr7yVW4G820YPznsV0v5gdjDnO6vcy0VyGm4XCqRB9sKkAGSibPVW/tJyES0GMFgWjCs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494565; h=Content-Type: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; bh=sekHCSundFwN1XwOB6e9ZV5liIqc5bIq/ABEnUutdkA=; b=TifbEkrjzbrSvoBwDvOGVy6cKEmTQBzA24h0c/95S3spEswqZ3yyNoY1KF5rv2F3jQBxk7LeBstYMcItMngZF+NcSN/xs7eTyt5NdxMJcAFToy10dgzzyNb3WZbLyNSwzsTlmOoNBEHFSec5+JzGYY6GOJHCFW54tMLJOajhCxU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494565051899.7302840734267; Mon, 16 Dec 2019 03:09:25 -0800 (PST) Received: from localhost ([::1]:51052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoFf-0006xv-6l for importer@patchew.org; Mon, 16 Dec 2019 06:09:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50018) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoE3-0005EY-6h for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoE1-0003b7-RU for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:43 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:33129) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoE1-0003aH-K7 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:41 -0500 Received: by mail-wr1-x42b.google.com with SMTP id b6so6749433wrq.0 for ; Mon, 16 Dec 2019 03:07:41 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id s16sm21253491wrn.78.2019.12.16.03.07.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:37 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 8148E1FF91; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sekHCSundFwN1XwOB6e9ZV5liIqc5bIq/ABEnUutdkA=; b=GjSAJ76J/nGCIVqYmfN3poFlcLv/lQxivXLSlIAxgEA+gVJDcKRZcvCSG8P+pviVCG LfplcImINo9lInuv7MAlD1ZdJvDQZNpme/nrDOPXCHGLtVe3etZ9Nb40FaYY4tmuGlKd z7xgPq++vlvaEtq7+omXOT/AkI29hil+qnCtvyEcfJDhNuGWKCdsBs9S0ZlC4/IaKysx ll0c+fFe6YLGSPEq/qoU7wTSP3Dwlcz1LhJVZe+Jl+HERx6xi4vYf8dcfIPOYCnfp627 UPCmE9ITthDTdqxdI9X6q5cxlXBhckd/iQId4o7ngd16XU4f7dT7FGkgw03Rc88w/CgB D4CQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=sekHCSundFwN1XwOB6e9ZV5liIqc5bIq/ABEnUutdkA=; b=l8e/D4SjF9WmaN1Bi8HVcgrYXeNVHk4laMGUIfD744xPlal94qzOtbKi/0X3wB72nD +Zm8Qw7h76rtS+wVjlf3a1uUkdPe5wFJk44T7m5LSMjmOL2Kx1ugc67Rk2C17d/rjNfN Z93O66m4E6wwXAc/zx1fCzj9K+xewUiqeT/xDV9Q517uKZh5SyzAl3gO0ekMt7P9ysKr U0ckWQe2PuVku+uDEVZCUcc/gpyUEXlLMXHgiFsHRvCSo0XTAKZqUMwweI6q/JqFwWbB AQCHTtSX5eWkTcgdr/HQXUNMf7v3DTG4ZC3xoaS+WJsE2I6LV4Mx0g8jCBdNYNLybWix Wnfw== X-Gm-Message-State: APjAAAWZ8PbRHlgiSkWsuYF8mPuXSmLp0Fh+4KhM/8/Y4+7PLHn75TUl e1R8/WFUGVqI5jfhdMpOMl7C8Q== X-Google-Smtp-Source: APXvYqwIhOP0LrG9RLVNzwFEK7N3jMyhF1qRMy2FG9FI4d6i1KgL03lEuRbkCT2xtn6X1+23Kuj5+A== X-Received: by 2002:adf:e78b:: with SMTP id n11mr29657532wrm.10.1576494460522; Mon, 16 Dec 2019 03:07:40 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 04/16] iotests: Provide a function for checking the creation of huge files Date: Mon, 16 Dec 2019 11:07:20 +0000 Message-Id: <20191216110732.24027-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42b 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: fam@euphon.net, Kevin Wolf , Thomas Huth , berrange@redhat.com, "open list:Block layer core" , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Cleber Rosa , richard.henderson@linaro.org, f4bug@amsat.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, Max Reitz , aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth Some tests create huge (but sparse) files, and to be able to run those tests in certain limited environments (like CI containers), we have to check for the possibility to create such files first. Thus let's introduce a common function to check for large files, and replace the already existing checks in the iotests 005 and 220 with this function. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Thomas Huth Reviewed-by: Cleber Rosa Tested-by: Cleber Rosa Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20191204154618.23560-2-thuth@redhat.com> Signed-off-by: Alex Benn=C3=A9e --- tests/qemu-iotests/005 | 5 +---- tests/qemu-iotests/220 | 6 ++---- tests/qemu-iotests/common.rc | 10 ++++++++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/tests/qemu-iotests/005 b/tests/qemu-iotests/005 index 58442762fe3..b6d03ac37de 100755 --- a/tests/qemu-iotests/005 +++ b/tests/qemu-iotests/005 @@ -59,10 +59,7 @@ fi # Sanity check: For raw, we require a file system that permits the creation # of a HUGE (but very sparse) file. Check we can create it before continui= ng. if [ "$IMGFMT" =3D "raw" ]; then - if ! truncate --size=3D5T "$TEST_IMG"; then - _notrun "file system on $TEST_DIR does not support large enough fi= les" - fi - rm "$TEST_IMG" + _require_large_file 5T fi =20 echo diff --git a/tests/qemu-iotests/220 b/tests/qemu-iotests/220 index 2d62c5dcac2..15159270d33 100755 --- a/tests/qemu-iotests/220 +++ b/tests/qemu-iotests/220 @@ -42,10 +42,8 @@ echo "=3D=3D Creating huge file =3D=3D" =20 # Sanity check: We require a file system that permits the creation # of a HUGE (but very sparse) file. tmpfs works, ext4 does not. -if ! truncate --size=3D513T "$TEST_IMG"; then - _notrun "file system on $TEST_DIR does not support large enough files" -fi -rm "$TEST_IMG" +_require_large_file 513T + IMGOPTS=3D'cluster_size=3D2M,refcount_bits=3D1' _make_test_img 513T =20 echo "=3D=3D Populating refcounts =3D=3D" diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc index 0cc8acc9edd..6f0582c79af 100644 --- a/tests/qemu-iotests/common.rc +++ b/tests/qemu-iotests/common.rc @@ -643,5 +643,15 @@ _require_drivers() done } =20 +# Check that we have a file system that allows huge (but very sparse) files +# +_require_large_file() +{ + if ! truncate --size=3D"$1" "$TEST_IMG"; then + _notrun "file system on $TEST_DIR does not support large enough fi= les" + fi + rm "$TEST_IMG" +} + # make sure this script returns success true --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494749; cv=none; d=zohomail.com; s=zohoarc; b=n9fkeLs+smJJOAHG/xHaXd59t1MVs8o476QY5XRUEPO2Ztxntg5sYvb7aDwpvNOtsV4mIOEKB2eNLkOz4SIL1CJlT4e4JaoJ06NeN3aVbuqdjFOI/GL6j8ujWZm+t9LPiSQMS8/FBK9ZJM04PZgxIikmy83yV/PY9/gdisKcrDE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494749; h=Content-Type: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; bh=7bvQ1VKDvRAorzg0rdjBH3tuWJxl25cthST4/KYuWTc=; b=k8qiRRyQ3zutblgMyTu8GmIYflDo7eRsyQTVv1kjNkQ3f/Axr8aQSNX5Iit0aAYPUqV7V2ZbHcJTdB+UbllRfeA1WrMSC18tQM2XKkSL1szrkIjeNwotuieXCdIMn6qgDma6OHLv23UUUDleownZm4AEgouV4YOdKn//queBWeY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 157649474918078.60569036752031; Mon, 16 Dec 2019 03:12:29 -0800 (PST) Received: from localhost ([::1]:51334 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoId-0002cu-R3 for importer@patchew.org; Mon, 16 Dec 2019 06:12:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50038) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoE5-0005GE-2Q for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoE2-0003dM-Uy for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:43 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:47031) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoE2-0003bZ-OB for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:42 -0500 Received: by mail-wr1-x433.google.com with SMTP id z7so6667559wrl.13 for ; Mon, 16 Dec 2019 03:07:42 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id u10sm20122522wmd.1.2019.12.16.03.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:37 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 9A1B21FF92; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7bvQ1VKDvRAorzg0rdjBH3tuWJxl25cthST4/KYuWTc=; b=OUso2ReGobunB2AZAsiZhj92belsSBh212Tf7G3ih/Fr6BOqa7S2MPihhvRnnnfOJG 4I4xnlx56IGewnrTHtnE2TrLUIiBM9uedSJlrcsXgax+UDzhHbkNQ4QjfczXu6Vq8i5b PyQrHC3B7IKTgAbGHeY6hLBn+ySZfrSu/k9zukDAG1MQqTuYIoTxYtNMDgGWNSrO4/UV MOYiDUTdr37SQb3cWQTIPT7Sct4ZUExoGceFgrUWKGh/W9jGiP41fzpvPjYbYUgsd59N j6L4YdPLmpQJsDV7PcZgQkXk5QYqn9pLluPb8GWsDDvtTngrWth7JikKrd+BmQ5OFqJZ AW/A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=7bvQ1VKDvRAorzg0rdjBH3tuWJxl25cthST4/KYuWTc=; b=elYUZy0/D9gaMHOxnSSLa2V1QRGInHCtCscyHUZq4dZIGgNiUP5NrOL7056EM4OufR JnX7RhDs6F8PgTVLbE7HMCx+YvO7T/COLsurVyFbKlFSvqA+rtwKSbbJYkmMSKVoPa4s QGvZYixwtZSWZdRnG+LxDKLj9tdkrEuhr7Os+Gtst+Dyh+9osHnXdzBi0gUxPs2py4op vIicHWyUWr+XYhQHry1QblyJqbllBkBvBKoF6WVDEMr9ZVIC/utwI8L25oi7ticOj1NO UVhRo9Hprpcl4rRvvW/MzyWqTBBHRpN23nt9xP6Ck1cQ9rQOLqLwts1kUqKvDBFm2KZc mJyA== X-Gm-Message-State: APjAAAU/mf1SSHwvR7u7dnuE4Gd1F+MhsOKBG3OArPiZhgWjJyMXIpGn 6/ToQhFZery2WGyAzs99bGzFZg== X-Google-Smtp-Source: APXvYqy4tfSv4WqYKXapA/sJ5NaF30yXgQ0HpwrIGJztNdMMVLqF4qQBPYBeKwmHOHUdIcX/rbvJFw== X-Received: by 2002:a5d:51c1:: with SMTP id n1mr29255562wrv.335.1576494461681; Mon, 16 Dec 2019 03:07:41 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 05/16] iotests: Skip test 060 if it is not possible to create large files Date: Mon, 16 Dec 2019 11:07:21 +0000 Message-Id: <20191216110732.24027-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::433 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: fam@euphon.net, Kevin Wolf , Thomas Huth , berrange@redhat.com, "open list:Block layer core" , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , richard.henderson@linaro.org, f4bug@amsat.org, Max Reitz , =?UTF-8?q?Alex=20Benn=C3=A9e?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth Test 060 fails in the arm64, s390x and ppc64le LXD containers on Travis (which we will hopefully enable in our CI soon). These containers apparently do not allow large files to be created. The repair process in test 060 creates a file of 64 GiB, so test first whether such large files are possible and skip the test if that's not the case. Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20191204154618.23560-3-thuth@redhat.com> Signed-off-by: Alex Benn=C3=A9e --- tests/qemu-iotests/060 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060 index b91d8321bb8..d96f17a4846 100755 --- a/tests/qemu-iotests/060 +++ b/tests/qemu-iotests/060 @@ -49,6 +49,9 @@ _supported_fmt qcow2 _supported_proto file _supported_os Linux =20 +# The repair process will create a large file - so check for availability = first +_require_large_file 64G + rt_offset=3D65536 # 0x10000 (XXX: just an assumption) rb_offset=3D131072 # 0x20000 (XXX: just an assumption) l1_offset=3D196608 # 0x30000 (XXX: just an assumption) --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494741; cv=none; d=zohomail.com; s=zohoarc; b=TA510BqpNPjnpo/vTAk3vNFi+eEK1fvKwQOZkbj5Ymakc+QGjiu/u2+FTIG90oV40pXSeM6gpKt4R9TSCnoguf9HnlJhsgFnLpaaIABnp9yuruHPv/6acEUBVj5GIqj1Aelc0UVeneU4XlG7xDG2i91pdN6F5YTHseghTxCBEjA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494741; h=Content-Type: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; bh=ybsWYSpCOntXJQJZl/BPtqoIiu86PvdtWCPXeyNm4bw=; b=l9wHW1Z1cpCCWxBv3U2s6sgHuQ2RrKocnmzr6CM7AH7KXsftEyO9x+dTnWagzvOAtDDTbL4G/7t2GMwGQCOGMxZBWfGyoKshVaeQXGEsBKTU8JXz88krbqcCMFcwqw4C6saUrqcWn+0PbXHIwzH9vbIBWZyJy0Ol37olZkSC2S4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494741260484.1262046910906; Mon, 16 Dec 2019 03:12:21 -0800 (PST) Received: from localhost ([::1]:51326 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoIV-0002UH-UQ for importer@patchew.org; Mon, 16 Dec 2019 06:12:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50076) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoE6-0005J1-Jl for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoE5-0003gW-CQ for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:46 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:45013) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoE5-0003e0-6F for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:45 -0500 Received: by mail-wr1-x430.google.com with SMTP id q10so6687366wrm.11 for ; Mon, 16 Dec 2019 03:07:44 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id s3sm20094326wmh.25.2019.12.16.03.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:37 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id AFDE41FF93; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ybsWYSpCOntXJQJZl/BPtqoIiu86PvdtWCPXeyNm4bw=; b=AcUMQMiM9zDozYHCxs/HE75Soojxee47f/suAk+sd3nyugj9ZPV50wUgOKZKB8Uvpb LFbIViTvt5qB3v1+dnVzw696KJ6sOH4seXsjyfk4cnPnQUQ5sV6qSPdop2mMMWA65Dni BTiNP86NYKKvaNolW0WIa8ULNbXJiFYBUJNjbG54opQvBaTf5An1ZbSKLKNxLk2JyY7j vr5DBOfAERwcqZlcNFzqkMdWdy/qq8nZPYCrfMSBpjMQd/VQezR3xmCXat8qfIS6lVnv XU2gUie0bxfWrWqLttC+Q9sUS9IModAIr2YpY70nA/6mFOScgEZmB2U73wIM8RjQrTdH 8a1g== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=ybsWYSpCOntXJQJZl/BPtqoIiu86PvdtWCPXeyNm4bw=; b=JGHBmdSRNKUhi0M/cr0WmBX+JPncml1Sg1QexcuLfEbKA5YArg7qBFeMGqhcCbhFVl Y2k6nxVip+8vtuNUkxPLobh8zs2sc2y4PC6q900Oa+X18IqPNNVuGq5jv5tLfh8n7Q7w ETuTV+H/tKKPZPgU9aowKTl66FaUmDbXfouuqwbMQmo9PR6Sb5OinfwiyeU+WfaJAipJ eF1JXddvwvHo4+QTgRv7tbjLpRhWjaB7RzHqz1o4wmcNLgYKazAf8wABRJR92lnq6n6U 1LKDQ/g9UOfOwzjbmqw3RTdSQtSp2azxKeV1josMccnv+cO8Cx5NSNEYhfQCLh4EJp0Y C3Ug== X-Gm-Message-State: APjAAAU1wVpbiH67n1uWFvHWpL1QdioFEjkNRJyLuBF43M7na6v0U4RC vAnRBGm1u1ZUgxfhp9sLBSrsBA== X-Google-Smtp-Source: APXvYqxBqS/crhpGubV+br8ysSApmvXoef9GdwvEt4k9TSVAabRnc8dU1Nw2uXuXw8/yK23NwVqCyg== X-Received: by 2002:adf:f88c:: with SMTP id u12mr30985909wrp.323.1576494463031; Mon, 16 Dec 2019 03:07:43 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 06/16] iotests: Skip test 079 if it is not possible to create large files Date: Mon, 16 Dec 2019 11:07:22 +0000 Message-Id: <20191216110732.24027-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::430 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: fam@euphon.net, Kevin Wolf , Thomas Huth , berrange@redhat.com, "open list:Block layer core" , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, Max Reitz , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth Test 079 fails in the arm64, s390x and ppc64le LXD containers on Travis (which we will hopefully enable in our CI soon). These containers apparently do not allow large files to be created. Test 079 tries to create a 4G sparse file, which is apparently already too big for these containers, so check first whether we can really create such files before executing the test. Signed-off-by: Thomas Huth Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191204154618.23560-4-thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- tests/qemu-iotests/079 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/qemu-iotests/079 b/tests/qemu-iotests/079 index 81f0c21f530..78536d3bbfa 100755 --- a/tests/qemu-iotests/079 +++ b/tests/qemu-iotests/079 @@ -39,6 +39,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file nfs =20 +# Some containers (e.g. non-x86 on Travis) do not allow large files +_require_large_file 4G + echo "=3D=3D=3D Check option preallocation and cluster_size =3D=3D=3D" echo cluster_sizes=3D"16384 32768 65536 131072 262144 524288 1048576 2097152 41= 94304" --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494744; cv=none; d=zohomail.com; s=zohoarc; b=FF03lflFFuWEQiK7QINrY6rQKGr3Cddp76otwP7NRzPjlbGRywYT+ccL5IoviTUNzMrlKjP64ry8SCiX97mC5riq0iRiEFhUiot8St5rXEhgY00HNECLoo/uqcAkDMX6EMGCeXNrGLry1X4H+FGucWkbjq52JHKbzMfVihoPy2I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494744; h=Content-Type: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; bh=CjsswiYtUxVQ0NqmGtm0qPesCYMLKJ1Tdwc44fZ5BMo=; b=N1N/hiKI3qFxeSUbh2gxMOEGYPap/RinWwFUrLSfUBikYlTDYbcQn7QwyqjlPQj8E5pekhvRoTq+m0qI0rgWYjHKLTjJ/DijkYuRIub7GA/hVE3p2nkJDBNAewnQmzjBxFViNL8xGgSelOdkuF3GIafc7eLWFHzAlUQhIlI7/KY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494744763917.5999060124582; Mon, 16 Dec 2019 03:12:24 -0800 (PST) Received: from localhost ([::1]:51330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoIZ-0002Vq-DW for importer@patchew.org; Mon, 16 Dec 2019 06:12:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50085) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoE7-0005Jp-1K for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoE5-0003hI-Sy for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:46 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:36219) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoE5-0003gG-Mu for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:45 -0500 Received: by mail-wr1-x442.google.com with SMTP id z3so6725905wru.3 for ; Mon, 16 Dec 2019 03:07:45 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id s8sm20803091wrt.57.2019.12.16.03.07.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:39 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C46251FF96; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CjsswiYtUxVQ0NqmGtm0qPesCYMLKJ1Tdwc44fZ5BMo=; b=ar62b+qv2ai6tv2IKuA3KAB4T55E+rmUzzafFPVlhNfvzods/yQi2Y75WvJOmjVMHP W6SRtIzxHPoK2D/uZZMdEvTYhKZ6cpAcbqZ4UfwSRPYj2B2pQVWBlewLpBYXPAM4N9FL ZWDS7YLImTmCUdsA6HJdojFXKSq3wVNpKMOJOhL7qSyZ+JPeCCO5YFqs+EAktSRXSHud F9WY2LijQLzva3C1nvvhDn/MlPkCcG6OF3/k3TF7/XJsld1hejMEMucbj61VP098azVp sljX4zsgCJSrS3CNofsmZ6h32ABOeMHatPbFi6I3wEujC3Rofg/QywekmebJcJSsxKrl UAvg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=CjsswiYtUxVQ0NqmGtm0qPesCYMLKJ1Tdwc44fZ5BMo=; b=PfqGuIWlrM5TnSDEsCROH4A/txcDEajYWLZlcUeokSyOC9UyH4U2XdSl6UEb6amQgi mv5gLXZzU4Ypv4uGtX/nCM8hz5Vc7iXGtTfnR44hr7pGrK4eWOrVzPuyuDLDhf0Q6ORJ rbdQIG83moVvQ+XCXj/sRca+VAF/wRx3Q2lppNpKGrSBA+zY45kpjkL1zyOaW+Eu8K6j pRtNnQCdOE2LkUCfPFMrAR17IMbhoWdisGGsuteNkbAjiEYgSP1xfQPB2xZ4BlnntceH UfHeazAp+hQ/ayI5tWp7u2EEECAyNn6LoO68w0umucehhQb2hwNvOc03seR3Pfi3sLlI YTAw== X-Gm-Message-State: APjAAAWmczwYuZZgcW9sdYxyomX3LR5XPlecn0q0hevZ/eeK70XDsQW1 4me9DrABbxJLq7nkhuPNHDHTEw== X-Google-Smtp-Source: APXvYqyjREAu+Hk4UUINnUCSiGeTNWUFTcTzppVxnOIojeYl224UfZ9N/mWgdFOI/+sRm7N3n1h0GA== X-Received: by 2002:a5d:558d:: with SMTP id i13mr29824058wrv.364.1576494464685; Mon, 16 Dec 2019 03:07:44 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 07/16] tests/hd-geo-test: Skip test when images can not be created Date: Mon, 16 Dec 2019 11:07:23 +0000 Message-Id: <20191216110732.24027-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 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: fam@euphon.net, Laurent Vivier , Thomas Huth , berrange@redhat.com, stefanb@linux.vnet.ibm.com, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , richard.henderson@linaro.org, f4bug@amsat.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth In certain environments like restricted containers, we can not create huge test images. To be able to use "make check" in such container environments, too, let's skip the hd-geo-test instead of failing when the test images could not be created. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Thomas Huth Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191204154618.23560-5-thuth@redhat.com> --- tests/hd-geo-test.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/hd-geo-test.c b/tests/hd-geo-test.c index 7e86c5416cc..a2498005440 100644 --- a/tests/hd-geo-test.c +++ b/tests/hd-geo-test.c @@ -34,8 +34,13 @@ static char *create_test_img(int secs) fd =3D mkstemp(template); g_assert(fd >=3D 0); ret =3D ftruncate(fd, (off_t)secs * 512); - g_assert(ret =3D=3D 0); close(fd); + + if (ret) { + free(template); + template =3D NULL; + } + return template; } =20 @@ -934,6 +939,10 @@ int main(int argc, char **argv) for (i =3D 0; i < backend_last; i++) { if (img_secs[i] >=3D 0) { img_file_name[i] =3D create_test_img(img_secs[i]); + if (!img_file_name[i]) { + g_test_message("Could not create test images."); + goto test_add_done; + } } else { img_file_name[i] =3D NULL; } @@ -965,6 +974,7 @@ int main(int argc, char **argv) "skipping hd-geo/override/* tests"); } =20 +test_add_done: ret =3D g_test_run(); =20 for (i =3D 0; i < backend_last; i++) { --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494910; cv=none; d=zohomail.com; s=zohoarc; b=gy7+ev/ni1OZfBU8RBkgJstt5ySF7R2JbT3kizNPhnWaFDJqrIQ/vxWsBItSp9NxX8y6v0Jb394jhVkJwQfBSvnubMEuia2F6c6YZEN4M5u19ovgr3nFg26uHJ7ukJigg8IxyQWFw+jbSuMNEVKfvq5RWzA+F560ZgAagivAs/M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494910; h=Content-Type: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; bh=IVVyJ2WnySPx9v78HV3GXr2KlEjRKr49Z+2VJrgBMpg=; b=GILjeA+DCFtZxxSGGvXekolxCN/AVE8hF8H8vnzHczFyo2o0owgxy2nENdslvoZ7H+Abd4yipPlx1PPOMUXnkxIQZ6dyKa+55qlcizPMQwObC87qW4zR1WEqGJ7z5G8g3p/82xL2qfEVnIxzTZlljtCpHzRr0HAbTSXbdcR76Y8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494910624600.8021430539266; Mon, 16 Dec 2019 03:15:10 -0800 (PST) Received: from localhost ([::1]:51372 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoLD-0005rI-Ue for importer@patchew.org; Mon, 16 Dec 2019 06:15:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50111) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoE8-0005My-OO for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoE7-0003k4-IP for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:48 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:53108) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoE7-0003is-CK for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:47 -0500 Received: by mail-wm1-x342.google.com with SMTP id p9so6261133wmc.2 for ; Mon, 16 Dec 2019 03:07:47 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id k19sm19030689wmi.42.2019.12.16.03.07.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:39 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id DA1DA1FF98; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IVVyJ2WnySPx9v78HV3GXr2KlEjRKr49Z+2VJrgBMpg=; b=lDJCgjqlS7kzMl4Z8OZc6casJCqhgfTfFyWX8ufk4eb5JS7duEix6i1097l3zLFoUi zTGNggT8ACsqrvrLSyRbiZWpZcW5N2XoUvygYSwJaKwmivG/d/2PLtNhvZpUwwrKdrny JMlabUv0j+Ir8WrMdgHukrX2xY9lcGpfG5V0EoD7/jjNNHaEgGRxRjc2/BnxICtMsKXE tlFXmOoNcdQpxvPj+uSwD0V1Mt3IXHgZiP7DUFvAhKKvHWr1rXPf3r2JdI+kDI0IzV1g z8vPxU4pVPeqE9Y9E82WNv0PorvgECVfFT8NvP0T8BgCUS1Hp/o1zuJcFMlNWop1tJhJ jI+A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=IVVyJ2WnySPx9v78HV3GXr2KlEjRKr49Z+2VJrgBMpg=; b=lzve6fYc+6grVg3NFFvZEvSUS3pleGudL5Jr0s7x3F7fd6jCNJbLu2vbhM2IMGfLeG 5QGx9F9C79J8IvZ9kXUcfM+IDjmkuwY3mcDwRXijM8A2gOB98CG03HYmE6hL3dpoax+i uLcWiTYYwkpjjFev/4jm4lXez9mswImCsOsxcJQ5HWQ7u8HY73GLI6ivhjK0RHSwby64 2IVihzX5yAK5fCGzi5v++8LQybbNUAlUpzFR3sqZf/kHuUFfb1bjzmFCCIqUmNrPdJlD rGgc0h+A5YcojL0hcZPbNqjoiYFfZxWdE4nPCcLFhrqG1yiVRAuhguhakzejmPBVn+iK oQ5A== X-Gm-Message-State: APjAAAUeBTdcpbeUQv1Q8F285QfLnuGOJAPwMt98fhYZtwHseG37fIGt iFSPsKOdY1H7CGhDjqgSwoIesw== X-Google-Smtp-Source: APXvYqxgDPkbb5eL0DtAtLnKbIWmO1N5goEIUX4ixR8NAG6D2QIHlRorUPUvRkhi+ZlksQnINcodSA== X-Received: by 2002:a1c:48d5:: with SMTP id v204mr27536137wma.88.1576494466383; Mon, 16 Dec 2019 03:07:46 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 08/16] tests/test-util-filemonitor: Skip test on non-x86 Travis containers Date: Mon, 16 Dec 2019 11:07:24 +0000 Message-Id: <20191216110732.24027-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 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: fam@euphon.net, Thomas Huth , berrange@redhat.com, stefanb@linux.vnet.ibm.com, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , richard.henderson@linaro.org, f4bug@amsat.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth test-util-filemonitor fails in restricted non-x86 Travis containers since they apparently blacklisted some required system calls there. Let's simply skip the test if we detect such an environment. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Thomas Huth Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191204154618.23560-6-thuth@redhat.com> --- tests/test-util-filemonitor.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/test-util-filemonitor.c b/tests/test-util-filemonitor.c index 301cd2db619..45009c69f41 100644 --- a/tests/test-util-filemonitor.c +++ b/tests/test-util-filemonitor.c @@ -406,10 +406,21 @@ test_file_monitor_events(void) char *pathdst =3D NULL; QFileMonitorTestData data; GHashTable *ids =3D g_hash_table_new(g_int64_hash, g_int64_equal); + char *travis_arch; =20 qemu_mutex_init(&data.lock); data.records =3D NULL; =20 + /* + * This test does not work on Travis LXD containers since some + * syscalls are blocked in that environment. + */ + travis_arch =3D getenv("TRAVIS_ARCH"); + if (travis_arch && !g_str_equal(travis_arch, "x86_64")) { + g_test_skip("Test does not work on non-x86 Travis containers."); + return; + } + /* * The file monitor needs the main loop running in * order to receive events from inotify. We must --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494921; cv=none; d=zohomail.com; s=zohoarc; b=hYCGaHItxRmm8zsAKlLMA7PWm80yASrCsym1BVaJqkF8oonV5NGRuwiWE/hTfV1wCkndLQ4b16wvR6XrioLV/hKF9/7kbZFWde8w5UiJfhdmCwUmU3whoeO2NUnQtzgGNoxtwu2lqAloB9hkfWUi0RcfnCcE4c4tN33XkbnO4Rw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494921; h=Content-Type: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; bh=GrCJ79KHRD7xwW0klJRYdHcFwv9zhD+Xk92UyYa9i8U=; b=Zm6EA2Vn306a/0aH0JG/spVDrx6ilcU0RPi0AIYu4NeCgB1lVSJmpr2qMBXi3Vvmsp1juniNJblXYJXFpEAzv3ig/CYlCgVW5or6r+9xUUAXuIIu2muvuflphc5JEPG7IOpP+MyBHiTkTfbbVrt97jbb6uU1QvEKKje4t/5kOyM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494921905112.4912855738446; Mon, 16 Dec 2019 03:15:21 -0800 (PST) Received: from localhost ([::1]:51376 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoLQ-00062n-3R for importer@patchew.org; Mon, 16 Dec 2019 06:15:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50185) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoED-0005VF-CQ for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoEC-0003so-2t for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:53 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:38657) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoEB-0003q0-Sp for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:52 -0500 Received: by mail-wr1-x441.google.com with SMTP id y17so6725596wrh.5 for ; Mon, 16 Dec 2019 03:07:51 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id b10sm21446089wrt.90.2019.12.16.03.07.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:43 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id EE8F41FF99; Mon, 16 Dec 2019 11:07:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GrCJ79KHRD7xwW0klJRYdHcFwv9zhD+Xk92UyYa9i8U=; b=LQmfUJ18URAGbCcXYCFtS/u44W9r75W7rFn4HJd3llxfmVupYvG/5cbKnCE0QxeW3p CC3L0lSn0YihZHVrs7dgC96577ptJWvH/X3ZCLo7qB/hpl6T5Ls6l8wUD2bk/quC9Pzd 4QrgryvkwmCOtd7YFbcO0Qn5wDH6sJae9gwurPpq32o9EwCvfamsTirOnTkXpWudyqj7 vJL6sx7v2e8NUNeyV4MDBAAkHwqWMnCfajk4Dk3WQmXHTkz2ZIb9goWvAUPHnJrLaNjm nnkqqVDzxRUwzPla/mgwzgamU6lERBrPUnwkp5RtrxV957rS2LkNOsCYAo/Jl4fP/5v+ 5vJw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=GrCJ79KHRD7xwW0klJRYdHcFwv9zhD+Xk92UyYa9i8U=; b=M0t8oyjb5FC7fcjqb1YY34nqMRA0rJlKR5EMDmKTMKoyJCZaHPBUZXBrkzdEz0LSXN mXnWn/9G7Q3+fcQwWwglJzecIO8Snqnxwip7hSm62NMDdYHBKTynDiwPcMsLF1/om7JB yK0lmqUdG9z+Rhk25Frf2aBvlpiTNUhEy+mHVL3CHOT+jaZNggRS+/sJsF87Prg0CI6+ pCiutNc7oAAxlKIlkO50Urjb2iQwm9Ly68Bc/cAJ3w5SXqx8fMHwHkaFAxt24aw7AdYb fZTaSQoj906DmVwMUiSobfE/iEz5i/COg27RqjxCdCmRP/D7Rj4UGyzBSPT7HCi5sIRT KJQA== X-Gm-Message-State: APjAAAXwpSdXboUOSjGX+vaqnjgUEuRYBYbBg0Ffm/WGjxeukkbwceW3 kSsa2IpI4tqqQ7CUqGxPHKTmwA== X-Google-Smtp-Source: APXvYqwLMnYO1anV2+EYAFyYXU9dmfcSZtYGN9rdECj9g5biTchNJIxikcXEK75m+rgfnUFCQ7/Ulw== X-Received: by 2002:adf:fe90:: with SMTP id l16mr31213226wrr.265.1576494470787; Mon, 16 Dec 2019 03:07:50 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 09/16] travis.yml: Enable builds on arm64, ppc64le and s390x Date: Mon, 16 Dec 2019 11:07:25 +0000 Message-Id: <20191216110732.24027-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 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: fam@euphon.net, Thomas Huth , berrange@redhat.com, stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Thomas Huth Travis recently added the possibility to test on these architectures, too, so let's enable them in our travis.yml file to extend our test coverage. Unfortunately, the libssh in this Ubuntu version (bionic) is in a pretty unusable Frankenstein state and libspice-server-dev is not available here, so we can not use the global list of packages to install, but have to provide individual package lists instead. Also, some of the iotests crash when using "dist: bionic" on arm64 and ppc64le, thus these two builders have to use "dist: xenial" until the problem is understood / fixed. Signed-off-by: Thomas Huth Acked-by: David Gibson Message-Id: <20191204154618.23560-8-thuth@redhat.com> Signed-off-by: Alex Benn=C3=A9e --- .travis.yml | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/.travis.yml b/.travis.yml index 15946293ff3..b68566b1fe9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -354,6 +354,92 @@ matrix: - TEST_CMD=3D"make -j3 check-tcg V=3D1" - CACHE_NAME=3D"${TRAVIS_BRANCH}-linux-gcc-debug-tcg" =20 + - arch: arm64 + dist: xenial + addons: + apt_packages: + - libaio-dev + - libattr1-dev + - libbrlapi-dev + - libcap-ng-dev + - libgcrypt20-dev + - libgnutls28-dev + - libgtk-3-dev + - libiscsi-dev + - liblttng-ust-dev + - libncurses5-dev + - libnfs-dev + - libnss3-dev + - libpixman-1-dev + - libpng-dev + - librados-dev + - libsdl2-dev + - libseccomp-dev + - liburcu-dev + - libusb-1.0-0-dev + - libvdeplug-dev + - libvte-2.91-dev + env: + - TEST_CMD=3D"make check check-tcg V=3D1" + - CONFIG=3D"--disable-containers --target-list=3D${MAIN_SOFTMMU_TA= RGETS}" + + - arch: ppc64le + dist: xenial + addons: + apt_packages: + - libaio-dev + - libattr1-dev + - libbrlapi-dev + - libcap-ng-dev + - libgcrypt20-dev + - libgnutls28-dev + - libgtk-3-dev + - libiscsi-dev + - liblttng-ust-dev + - libncurses5-dev + - libnfs-dev + - libnss3-dev + - libpixman-1-dev + - libpng-dev + - librados-dev + - libsdl2-dev + - libseccomp-dev + - liburcu-dev + - libusb-1.0-0-dev + - libvdeplug-dev + - libvte-2.91-dev + env: + - TEST_CMD=3D"make check check-tcg V=3D1" + - CONFIG=3D"--disable-containers --target-list=3D${MAIN_SOFTMMU_TA= RGETS},ppc64le-linux-user" + + - arch: s390x + dist: bionic + addons: + apt_packages: + - libaio-dev + - libattr1-dev + - libbrlapi-dev + - libcap-ng-dev + - libgcrypt20-dev + - libgnutls28-dev + - libgtk-3-dev + - libiscsi-dev + - liblttng-ust-dev + - libncurses5-dev + - libnfs-dev + - libnss3-dev + - libpixman-1-dev + - libpng-dev + - librados-dev + - libsdl2-dev + - libseccomp-dev + - liburcu-dev + - libusb-1.0-0-dev + - libvdeplug-dev + - libvte-2.91-dev + env: + - TEST_CMD=3D"make check check-tcg V=3D1" + - CONFIG=3D"--disable-containers --target-list=3D${MAIN_SOFTMMU_TA= RGETS},s390x-linux-user" =20 # Release builds # The make-release script expect a QEMU version, so our tag must start= with a 'v'. --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576494931; cv=none; d=zohomail.com; s=zohoarc; b=RRw/wxbiewLNzIej09Mib4DmRPmnas0hEbAC7aQuwMikV/yHs0dICETH6a8IBTT/ud7T1ry3F2DKguJ70JyU/N/A/E3moKPZtEGPztnzNFyApjzyGzQ85EbC/v0kPOtJ1p8Iey+HLOCE6q7JsRKXqfeYOl2L3CXJi2rCbx+Knm0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576494931; h=Content-Type: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; bh=9yMCQ/8GCozBRJfUfLYPo4E6o3Yad5CZJ3xtHqZYMRg=; b=TFKBABV53CMPeJ1TxI2ub2uqtlmBLxpevldOVmyxLySuaCpLlPIL3kMvdGhsgpDLiviKyLUTl2TRae5EvNPt2WmanZIZ6Fb8PHyBHZWmjK6KVR2YeeJECDYURbCx3umi9ATMjzcTxpTBntvgLF1KERy46JGTI0NB1gDCAyYQF8g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576494931935802.3251133537483; Mon, 16 Dec 2019 03:15:31 -0800 (PST) Received: from localhost ([::1]:51384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoLa-0006EG-7s for importer@patchew.org; Mon, 16 Dec 2019 06:15:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50134) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoEA-0005Qj-SL for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoE9-0003n1-83 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:50 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:34566) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoE9-0003m7-1A for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:49 -0500 Received: by mail-wr1-x443.google.com with SMTP id t2so6741600wrr.1 for ; Mon, 16 Dec 2019 03:07:48 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id d16sm22944754wrg.27.2019.12.16.03.07.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:43 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 1614D1FF9A; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9yMCQ/8GCozBRJfUfLYPo4E6o3Yad5CZJ3xtHqZYMRg=; b=ekLCrxVw2ZL0Z00BFCl/S/barCPVFwo/gRcMTLjmoOoSin5hljJTBRcc3IUzTTojyD DKfq/q4RPKrGkWFWK/hj+m9YykFRwG2NVn8qBe6UA/ZOdRhFhBPMwlJf4wHWG338IX96 4cBsozV01XzF2RJLwAAfJ84qdr38qQHD8/CXMlPDPHk8TpDxU4qFFbu/kjWLQbXo6YO2 NDDbmVta5FKYbxqnYIAQ2qvUee+Mo6v0y2TrUkYfTATWEzhaGkrz8trG48/d7XoLydE7 Crltj5kZf7EQTjvMj0BBn4HR1p9eMrdsg/9Rad7SzCtEbECQKwd4qOgbpn5B9XKbpGBn 036A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=9yMCQ/8GCozBRJfUfLYPo4E6o3Yad5CZJ3xtHqZYMRg=; b=ICVo5CHTCeAj3McZAkHhrz17o5P+KKzIda7HuuQlxz1RFwZnYoat2TNol8XcZNHb3F leUuMCyQ2uPPw8+cFUcl+7NN0Xq8QEuYKaD7Sq5DVPbocRfAOdq3cm4gFOl/phx7PEmK O1zlmXmwp9TTNvMFSNcV4JmBUddVajNHXRTaeBRPeLoopibM0QoyHscWjx+RCrEQ82dJ Q9iVR3Ld8kNZ6zc6lqsyv6NiRcmCDEIMAkqfo2EKXjI/9BxgDOb1pO86QrxzCh7kejXY QiC8/Y1QnZqqEsznEDYF3ahSttNy/V0+YisgOAVJwUq/WkttDUY+PG9xzIeW0hYSHHu4 F1wg== X-Gm-Message-State: APjAAAVMZWlbN3nhIDK3pFxcM+utQqW2QzWCIiKWDRyjWAMsnnPe80h8 C37uELyJzp0QP0w9G/gui5hRvQ== X-Google-Smtp-Source: APXvYqxmaZ4l1kUpefojAOOGr+bl5Yys1JmAmrhtQtFTExkNxlBl/IpYbEt9TzloussICgkULgwMFw== X-Received: by 2002:a5d:620b:: with SMTP id y11mr28840557wru.230.1576494467912; Mon, 16 Dec 2019 03:07:47 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 10/16] ci: build out-of-tree Date: Mon, 16 Dec 2019 11:07:26 +0000 Message-Id: <20191216110732.24027-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 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: fam@euphon.net, Thomas Huth , berrange@redhat.com, stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Ed Maste , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, Li-Wen Hsu , aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Paolo Bonzini Most developers are using out-of-tree builds and it was discussed in the pa= st to only allow those. To prepare for the transition, use out-of-tree builds in all continuous integration jobs. Based on a patch by Marc-Andr=C3=A9 Lureau. Signed-off-by: Paolo Bonzini Signed-off-by: Alex Benn=C3=A9e Message-Id: <1576074829-56711-1-git-send-email-pbonzini@redhat.com> Reviewed-by: Li-Wen Hsu --- configure | 1 + .cirrus.yml | 8 ++++++-- .gitlab-ci.yml | 28 +++++++++++++++++++++------- .shippable.yml | 4 +++- .travis.yml | 13 ++++++++----- 5 files changed, 39 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 419e1554978..49dd65611db 100755 --- a/configure +++ b/configure @@ -6427,6 +6427,7 @@ else echo "local state directory queried at runtime" echo "Windows SDK $win_sdk" fi +echo "Build directory $(pwd)" echo "Source path $source_path" echo "GIT binary $git" echo "GIT submodules $git_submodules" diff --git a/.cirrus.yml b/.cirrus.yml index 27efc48619b..90645fede6b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -22,7 +22,9 @@ macos_task: install_script: - brew install pkg-config python gnu-sed glib pixman make sdl2 script: - - ./configure --python=3D/usr/local/bin/python3 || { cat config.log; e= xit 1; } + - mkdir build + - cd build + - ../configure --python=3D/usr/local/bin/python3 || { cat config.log; = exit 1; } - gmake -j$(sysctl -n hw.ncpu) - gmake check -j$(sysctl -n hw.ncpu) =20 @@ -33,6 +35,8 @@ macos_xcode_task: install_script: - brew install pkg-config gnu-sed glib pixman make sdl2 script: - - ./configure --cc=3Dclang || { cat config.log; exit 1; } + - mkdir build + - cd build + - ../configure --cc=3Dclang || { cat config.log; exit 1; } - gmake -j$(sysctl -n hw.ncpu) - gmake check -j$(sysctl -n hw.ncpu) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 62a96097983..9707902e12a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,9 @@ build-system1: script: - apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdepl= ug-dev - - ./configure --enable-werror --target-list=3D"aarch64-softmmu alpha-soft= mmu + - mkdir build + - cd build + - ../configure --enable-werror --target-list=3D"aarch64-softmmu alpha-sof= tmmu cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-so= ftmmu mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-soft= mmu" - make -j2 @@ -16,7 +18,9 @@ build-system2: script: - apt-get install -y -qq libsdl2-dev libgcrypt-dev libbrlapi-dev libaio-d= ev libfdt-dev liblzo2-dev librdmacm-dev libibverbs-dev libibumad-dev - - ./configure --enable-werror --target-list=3D"tricore-softmmu unicore32-= softmmu + - mkdir build + - cd build + - ../configure --enable-werror --target-list=3D"tricore-softmmu unicore32= -softmmu microblaze-softmmu mips-softmmu riscv32-softmmu s390x-softmmu sh4-so= ftmmu sparc64-softmmu x86_64-softmmu xtensa-softmmu nios2-softmmu or1k-sof= tmmu" - make -j2 @@ -24,7 +28,9 @@ build-system2: =20 build-disabled: script: - - ./configure --enable-werror --disable-rdma --disable-slirp --disable-cu= rl + - mkdir build + - cd build + - ../configure --enable-werror --disable-rdma --disable-slirp --disable-c= url --disable-capstone --disable-live-block-migration --disable-glusterfs --disable-replication --disable-coroutine-pool --disable-smartcard --disable-guest-agent --disable-curses --disable-libxml2 --disable-t= pm @@ -37,7 +43,9 @@ build-disabled: build-tcg-disabled: script: - apt-get install -y -qq clang libgtk-3-dev libbluetooth-dev libusb-dev - - ./configure --cc=3Dclang --enable-werror --disable-tcg --audio-drv-list= =3D"" + - mkdir build + - cd build + - ../configure --cc=3Dclang --enable-werror --disable-tcg --audio-drv-lis= t=3D"" - make -j2 - make check-unit - make check-qapi-schema @@ -52,7 +60,9 @@ build-tcg-disabled: =20 build-user: script: - - ./configure --enable-werror --disable-system --disable-guest-agent + - mkdir build + - cd build + - ../configure --enable-werror --disable-system --disable-guest-agent --disable-capstone --disable-slirp --disable-fdt - make -j2 - make run-tcg-tests-i386-linux-user run-tcg-tests-x86_64-linux-user @@ -61,7 +71,9 @@ build-clang: script: - apt-get install -y -qq clang libsdl2-dev libattr1-dev libcap-ng-dev xfslibs-dev libiscsi-dev libnfs-dev libseccomp-dev gnutls-dev librbd= -dev - - ./configure --cc=3Dclang --cxx=3Dclang++ --enable-werror + - mkdir build + - cd build + - ../configure --cc=3Dclang --cxx=3Dclang++ --enable-werror --target-list=3D"alpha-softmmu arm-softmmu m68k-softmmu mips64-softm= mu ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-us= er" - make -j2 @@ -70,7 +82,9 @@ build-clang: build-tci: script: - TARGETS=3D"aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86= _64" - - ./configure --enable-tcg-interpreter + - mkdir build + - cd build + - ../configure --enable-tcg-interpreter --target-list=3D"$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; = done)" - make -j2 - make tests/boot-serial-test tests/cdrom-test tests/pxe-test diff --git a/.shippable.yml b/.shippable.yml index f74a3de3ffd..83aae08bb4c 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -35,5 +35,7 @@ build: options: "-e HOME=3D/root" ci: - unset CC - - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=3D${TARGET_LIST} + - mkdir build + - cd build + - ../configure ${QEMU_CONFIGURE_OPTS} --target-list=3D${TARGET_LIST} - make -j$(($(getconf _NPROCESSORS_ONLN) + 1)) diff --git a/.travis.yml b/.travis.yml index b68566b1fe9..d673ee219e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,8 +73,8 @@ notifications: =20 env: global: - - SRC_DIR=3D"." - - BUILD_DIR=3D"." + - SRC_DIR=3D".." + - BUILD_DIR=3D"build" - BASE_CONFIG=3D"--disable-docs --disable-tools" - TEST_CMD=3D"make check V=3D1" # This is broadly a list of "mainline" softmmu targets which have supp= ort across the major distros @@ -191,7 +191,8 @@ matrix: - CACHE_NAME=3D"${TRAVIS_BRANCH}-linux-clang-sanitize" compiler: clang before_script: - - ./configure ${CONFIG} --extra-cflags=3D"-fsanitize=3Dundefined -= Werror" || { cat config.log && exit 1; } + - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} + - ${SRC_DIR}/configure ${CONFIG} --extra-cflags=3D"-fsanitize=3Dun= defined -Werror" || { cat config.log && exit 1; } =20 =20 - env: @@ -323,7 +324,8 @@ matrix: - CONFIG=3D"--cc=3Dgcc-9 --cxx=3Dg++-9 --disable-pie --disable-lin= ux-user" - TEST_CMD=3D"" before_script: - - ./configure ${CONFIG} --extra-cflags=3D"-g3 -O0 -Wno-error=3Dstr= ingop-truncation -fsanitize=3Dthread -fuse-ld=3Dgold" || { cat config.log &= & exit 1; } + - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} + - ${SRC_DIR}/configure ${CONFIG} --extra-cflags=3D"-g3 -O0 -Wno-er= ror=3Dstringop-truncation -fsanitize=3Dthread -fuse-ld=3Dgold" || { cat con= fig.log && exit 1; } =20 =20 # Run check-tcg against linux-user @@ -460,5 +462,6 @@ matrix: - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2 - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEM= U_VERSION} - - ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit= 1; } + - mkdir -p release-build && cd release-build + - ../configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exi= t 1; } - make install --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576495125; cv=none; d=zohomail.com; s=zohoarc; b=SY1BIQtG/htSmEAXJnQrKxYmjP24Bix1XuLdoEUOAB7h/gp7SMGuqTtFAjrObQ0WEDunnPfiIMU9pAQCQkJFIaYemlfa0Z1y6s34UZDBe4iF7/OKANAcn6RvpNDY9klOyz0ZUJ84JT1xpg68VwO8hsZxA76YrDBTC1ULT7KfuFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576495125; h=Content-Type: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; bh=Ja100L2N0JSJy62pEiA/ccOKIDxWtzpPJ0XV3cScyTs=; b=fs6N287556vywS9JYLFWJBT3q8/X72Peb/nDWznK/sNkW2A5bQqRQiyTHr0Mr0jUnnx7rtptY7oHhHy+sa1gj4zabbmL9l4aYmSzRgWM+g82u592s5JtAAE+nV2lFcRB5dok/LkjZwijt4Yl093OT/JrUPgsTrHipprqrO84dfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576495125776444.424142976737; Mon, 16 Dec 2019 03:18:45 -0800 (PST) Received: from localhost ([::1]:51468 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoOi-0001N5-8o for importer@patchew.org; Mon, 16 Dec 2019 06:18:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50149) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoEB-0005S3-LJ for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoEA-0003pV-J9 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:51 -0500 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:33408) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoEA-0003nf-DI for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:50 -0500 Received: by mail-wr1-x444.google.com with SMTP id b6so6749960wrq.0 for ; Mon, 16 Dec 2019 03:07:50 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id g199sm2097052wmg.12.2019.12.16.03.07.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:43 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 2A7FE1FF9B; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ja100L2N0JSJy62pEiA/ccOKIDxWtzpPJ0XV3cScyTs=; b=rJxD3szZPuc62GPbpsqwnGszF5iNLhVyTJ6GevJ0Q52NCwg0B5Z/xBP/e96eY0EDD7 zIXXSjkLzT/LP9ID72bEfjOd7mn6XJ5me8V2y0MWmSzTnKR/oy0wIgTzPOlEuSXPGaET 8fQhM5D5hnXvwD2BqU6mwx8blYz9GpdkRtIQlU49l9V3+3o02Cp+FOqpVaKmO9Cj7Ch8 nkBoGqj48rLqvN6X7pP8HSLAdtT9T9l9/+dfYOpmIhYRBTr9A4bVMerp+eZMpkDwlqru deI+AudNFiLJMc94UFURAjokcwklVXOuzdC6UvvXf0fxtdA6vpWHXgezb8pf0QokgTKD P06A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ja100L2N0JSJy62pEiA/ccOKIDxWtzpPJ0XV3cScyTs=; b=EXdkoSApqNNYIZWHQZckcO3fXY+vuP1KgPIa7RP49bzCctA/IaZNBW+XtvVg+yOo/I AQblPAysR0PgdeamGhVPkEDJxY69onz8R84PcReCqAqtNwXxXqBtLRuyixqkMoi+bNPV j8zyz7Am4wiOr1QWUz5CugohhRSa81JTQNzHZBE1KXpmdjYgbY+OAoIS+FIPx6OLwkDh RsgQlYqOhzXQlxAB5fmRC9AsWz/7dyXhN3qBdmlH/iLv/cFAo8M+mFBVuaHyKf00rjd3 XVGhmNphETdbRme2hNodEt7bECtNxt7pilBG1hxyVxybnmJBveJ4ZpNX2k/dUJnqYbwB f7yQ== X-Gm-Message-State: APjAAAVW795VesrWiz7NblGZ/QX5g0ZwBHpwG7JnB+MdzQkRCIGC/pyO sXV1+fZG0prQfUfzRZhYdPRsoQ== X-Google-Smtp-Source: APXvYqxdqBeVh8nArEaVKnsgnBJ74f4lNhtkgpVhTH1Y0z62hvc5rEyjmhCE7cW2Gu84zwgi9XkzOw== X-Received: by 2002:a5d:66c3:: with SMTP id k3mr27825975wrw.370.1576494469396; Mon, 16 Dec 2019 03:07:49 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 11/16] Fix double free issue in qemu_set_log_filename(). Date: Mon, 16 Dec 2019 11:07:27 +0000 Message-Id: <20191216110732.24027-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::444 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: fam@euphon.net, berrange@redhat.com, Robert Foley , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Robert Foley After freeing the logfilename, we set logfilename to NULL, in case of an error which returns without setting logfilename. Signed-off-by: Robert Foley Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191118211528.3221-2-robert.foley@linaro.org> --- util/log.c | 1 + 1 file changed, 1 insertion(+) diff --git a/util/log.c b/util/log.c index 1ca13059eef..4316fe74eee 100644 --- a/util/log.c +++ b/util/log.c @@ -113,6 +113,7 @@ void qemu_set_log_filename(const char *filename, Error = **errp) { char *pidstr; g_free(logfilename); + logfilename =3D NULL; =20 pidstr =3D strstr(filename, "%"); if (pidstr) { --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576496202; cv=none; d=zohomail.com; s=zohoarc; b=gk2G4tR5Ddpeva+hRL3fMkv/3Ev//SyzLSN8ALTE/nL206vAArBvtkdQJA6ydsDVXJbIJUv6I8uezIJzbj5g/AaYgtlTwnZ4WcqzGveiqHc4jylXU5EQ5+8DC6ZYRNmLKyYvoR+uX5gGPW1vx6fyIF3XVJQfgxg4SPMOYdItU3U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576496202; h=Content-Type: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; bh=g5Hton9Ll56kdz1LBD4VBc8EOQODiYzIByAV4cwmIMQ=; b=bgdR9iF1EX6Wjy4Cm04lKALjp3A+xWm2GkU9ez8OU/BtFil+DnCe4QtHGlR+PDwmQuASuy5UE4Kj+Q/CugKTDW05j97sv2WcFJZqf5Jdwrqc3DbcbFKlOSznmnScOSPmIkVvzoJMhCu/twErRBgFKe9Q+0i0AsHbaWYTeHgByfM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576496202211110.0079858441959; Mon, 16 Dec 2019 03:36:42 -0800 (PST) Received: from localhost ([::1]:51896 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igog4-0001B0-La for importer@patchew.org; Mon, 16 Dec 2019 06:36:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54306) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoMu-0008M5-Rf for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoMt-0001nd-Me for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:52 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:44389) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoMt-0001n8-GQ for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:51 -0500 Received: by mail-wr1-x443.google.com with SMTP id q10so6721802wrm.11 for ; Mon, 16 Dec 2019 03:16:49 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id h66sm1793582wme.41.2019.12.16.03.16.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:16:46 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 412A81FF9C; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g5Hton9Ll56kdz1LBD4VBc8EOQODiYzIByAV4cwmIMQ=; b=adxlnLePea+1R2MHKgZeckQIKKiYo8aohlZ3k0K71Qd3T13bx8KeR5qHiZNxeO1lY0 /bfKeB9iLTeXyKHkgQLyONoHvFD+7O1vv6nTACU3Kl1BZ3SgakoDlvD2hfssaXK3eE2W yxNKAaIrb9zcpmsp9o6LFpaj8U2BA7omIKpymBvHa6sb2MGqED9feomY7gIsnE77RlwI +IgP4dFHx3ydjs1Vwf514tezgqlirWa/A4HRoA98INNV7Fwxm5jvleQB0u85tLNScHId RFcPLiB473J3LTs5W+NaWwBPofwYvb9S4vOSATGUCRHVsKLH69/mZAyeoprZtH/p7zii ykFg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=g5Hton9Ll56kdz1LBD4VBc8EOQODiYzIByAV4cwmIMQ=; b=EBEYAqYD319066INmAhlCEyjZca3f9Piaoun3wp0go7Ymxrbqr84mjsLmAUiZcE3Bx EX8/cyNWJ1h1ol6iIdf5FwAZe3/7sOi8jT0vmzGx4HR6/UKgW0qEFwtKeTGhv6r63/2l PDllv0UpLA4zgT8+LdbP9YTTDGgDIqwee7R/YGcwHvOlFcYKMYdO/x4MAwwXIfuKhQvN IEl5Ha8Yc76V1rB+a8a4PSoPC4giXFeXrQxvwUEuk8mKxeXlx5/fQBM/AhC7emL2yozW yvh+dn4eRewqr3Cyv0pwX54ndeaCqx2Q7V8RQxB34DJjg0BtP40USI/4Wx3EWS8p5oD0 e1hw== X-Gm-Message-State: APjAAAWqiV81vYpq5bZiOpKqAuz4qv60H/Qm4LaYnVM6wznk8KB/EmaH Z8UscSui3bfKwPQm/fd5T2ie+w== X-Google-Smtp-Source: APXvYqwLca8B+qO00U7g1tyvKCQ906VKhP0ByN6/wt1RR+mr/Wx2DyrgPMfdwyJmgoTVENk5gE4f7Q== X-Received: by 2002:a5d:4d0e:: with SMTP id z14mr28592175wrt.208.1576495008979; Mon, 16 Dec 2019 03:16:48 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 12/16] Cleaned up flow of code in qemu_set_log(), to simplify and clarify. Date: Mon, 16 Dec 2019 11:07:28 +0000 Message-Id: <20191216110732.24027-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 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: fam@euphon.net, berrange@redhat.com, Robert Foley , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Robert Foley Also added some explanation of the reasoning behind the branches. Signed-off-by: Robert Foley Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191118211528.3221-3-robert.foley@linaro.org> --- util/log.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/util/log.c b/util/log.c index 4316fe74eee..417d16ec66e 100644 --- a/util/log.c +++ b/util/log.c @@ -54,12 +54,25 @@ static bool log_uses_own_buffers; /* enable or disable low levels log */ void qemu_set_log(int log_flags) { + bool need_to_open_file =3D false; qemu_loglevel =3D log_flags; #ifdef CONFIG_TRACE_LOG qemu_loglevel |=3D LOG_TRACE; #endif - if (!qemu_logfile && - (is_daemonized() ? logfilename !=3D NULL : qemu_loglevel)) { + /* + * In all cases we only log if qemu_loglevel is set. + * Also: + * If not daemonized we will always log either to stderr + * or to a file (if there is a logfilename). + * If we are daemonized, + * we will only log if there is a logfilename. + */ + if (qemu_loglevel && (!is_daemonized() || logfilename)) { + need_to_open_file =3D true; + } + if (qemu_logfile && !need_to_open_file) { + qemu_log_close(); + } else if (!qemu_logfile && need_to_open_file) { if (logfilename) { qemu_logfile =3D fopen(logfilename, log_append ? "a" : "w"); if (!qemu_logfile) { @@ -93,10 +106,6 @@ void qemu_set_log(int log_flags) log_append =3D 1; } } - if (qemu_logfile && - (is_daemonized() ? logfilename =3D=3D NULL : !qemu_loglevel)) { - qemu_log_close(); - } } =20 void qemu_log_needs_buffers(void) --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576495107; cv=none; d=zohomail.com; s=zohoarc; b=nr8xEtm2YfVtDna6fhUi493f+4IMPcOEl577dHb+7EsaELMnAcgfd/ElcDoP/3UUgERZ3x4o6CPOu3mwb9b6tcm9XmlZKr4LdK4a5jg7a2X5v1sNdsTHx4+9/SUthIXUBEjkhRQ5iY86oQX5OUHa47IeTSD6us1KMYnzTw1JSuQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576495107; h=Content-Type: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; bh=EapHr3pf3XFLFZlU0U22jAMjtMgqM8Xrl+mCmZ4QWKU=; b=jr8yznCp6SxsPqc5YZvQ/TaJ18cfM+8iWh3XHIexjuJnhcbjpd4NR1YWPIBqUYXDQGxwHhVMIPso49pPdhDYTSyTAlwithXeqsErUiD5u9Ek6rRdv9J3C2tnKayrrxkPixUD1HFYxtmnXL042RCge6m/GuGgykpwhzbM7In8OkY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576495107642667.3014925104858; Mon, 16 Dec 2019 03:18:27 -0800 (PST) Received: from localhost ([::1]:51464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoOP-0000xM-Op for importer@patchew.org; Mon, 16 Dec 2019 06:18:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50209) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoEE-0005XW-OB for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoED-0003xI-Gc for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:54 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:46134) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoED-0003uC-AA for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:07:53 -0500 Received: by mail-wr1-x443.google.com with SMTP id z7so6668274wrl.13 for ; Mon, 16 Dec 2019 03:07:53 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id u22sm22206820wru.30.2019.12.16.03.07.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:07:46 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 573EB1FF9D; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EapHr3pf3XFLFZlU0U22jAMjtMgqM8Xrl+mCmZ4QWKU=; b=ywpN5YA6aCvHTyEWwS0u5/pYxOTVGI38mdV308SSTsfdYdCFqNkiRzJONqHeQvIcX+ St6hHKunOSzkpdtHTEMgm2+hTv0NK2GIHP4E0YvH5O0+TquOtFi4C+TFC6bD3owOnHQ8 sDNl3lL80pVWkCuTwXnPsebCEL2UIctKVLP/Pn/CbZ2++FU3mDTdq++xf9sJUBk6au0I sIX4mBHcZuP5RigpNU7sY8r/w3XscKmVGnDUi4KdUSURZSHlLHAWslLUVT6P7JUdqHsd UWAvUTjHHhV1SSdsG+AvykT4gh/2ifexeGYP08lcgYUsg0DPRMcQp+P0NQ1HyZOWg9nK P78g== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=EapHr3pf3XFLFZlU0U22jAMjtMgqM8Xrl+mCmZ4QWKU=; b=KoPS8hwrMbxQ1AA0MNnpsMGjvLnHu9AOPKuACEOXXJ0T+0Iact5g3P7tsxIB/F6seh dI6Q+k+yJeFQMUXsPWkSHo75HXgVXAChObrijj9VfYt3+Jt6k4uFdPfGhlVCltsT9VVY fQZCD/4gUPVcQ9sdAYD3uMdUXf1hwtqpUKVMFduS7rlAExHpYwd4ZpLuWXFm8TFdpeS1 LXPwMSELBgYMc1CRNV72Le0BlDGh5nEyGxLG9BUqVnSDgbLiy88FjV/kBDuDOjjmtWju hAO382lPVvTcgisMVohelsEQCNwqZgLyi0onWBqLbCgNkrdhisnHImIA65fe89Ad/cEn gavw== X-Gm-Message-State: APjAAAUktOFQ3/CCA0dCFJwvTUboNbgv1kQAkhaYrVXytbof1F+iwkSn 8S9jHnrEk+kd37dQSWpGiN2hOQ== X-Google-Smtp-Source: APXvYqwposUjIe7B/3bm7El0RYkM/AZ/pfHVJeqD6KJPTRNrZLCdDQ2fHFxukQOskGqiXYFPyB1i+g== X-Received: by 2002:adf:f803:: with SMTP id s3mr29258255wrp.7.1576494472318; Mon, 16 Dec 2019 03:07:52 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 13/16] Add a mutex to guarantee single writer to qemu_logfile handle. Date: Mon, 16 Dec 2019 11:07:29 +0000 Message-Id: <20191216110732.24027-14-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 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: fam@euphon.net, berrange@redhat.com, Robert Foley , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Robert Foley Also added qemu_logfile_init() for initializing the logfile mutex. Note that inside qemu_set_log() we needed to add a pair of qemu_mutex_unlock() calls in order to avoid a double lock in qemu_log_close(). This unavoidable temporary ugliness will be cleaned up in a later patch in this series. Signed-off-by: Robert Foley Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191118211528.3221-4-robert.foley@linaro.org> --- util/log.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/util/log.c b/util/log.c index 417d16ec66e..953a66b5a8d 100644 --- a/util/log.c +++ b/util/log.c @@ -24,8 +24,10 @@ #include "qapi/error.h" #include "qemu/cutils.h" #include "trace/control.h" +#include "qemu/thread.h" =20 static char *logfilename; +static QemuMutex qemu_logfile_mutex; FILE *qemu_logfile; int qemu_loglevel; static int log_append =3D 0; @@ -49,6 +51,11 @@ int qemu_log(const char *fmt, ...) return ret; } =20 +static void __attribute__((__constructor__)) qemu_logfile_init(void) +{ + qemu_mutex_init(&qemu_logfile_mutex); +} + static bool log_uses_own_buffers; =20 /* enable or disable low levels log */ @@ -70,7 +77,9 @@ void qemu_set_log(int log_flags) if (qemu_loglevel && (!is_daemonized() || logfilename)) { need_to_open_file =3D true; } + qemu_mutex_lock(&qemu_logfile_mutex); if (qemu_logfile && !need_to_open_file) { + qemu_mutex_unlock(&qemu_logfile_mutex); qemu_log_close(); } else if (!qemu_logfile && need_to_open_file) { if (logfilename) { @@ -105,6 +114,7 @@ void qemu_set_log(int log_flags) #endif log_append =3D 1; } + qemu_mutex_unlock(&qemu_logfile_mutex); } } =20 @@ -240,12 +250,14 @@ void qemu_log_flush(void) /* Close the log file */ void qemu_log_close(void) { + qemu_mutex_lock(&qemu_logfile_mutex); if (qemu_logfile) { if (qemu_logfile !=3D stderr) { fclose(qemu_logfile); } qemu_logfile =3D NULL; } + qemu_mutex_unlock(&qemu_logfile_mutex); } =20 const QEMULogItem qemu_log_items[] =3D { --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576496717; cv=none; d=zohomail.com; s=zohoarc; b=bbE2t+ymewW3tTuUkq4tROAtczC+LAZEBe2v5VHBWQk67j9LXrpM+zCFH5erlEeIyhbLKD+aTzBY8AQQSBHmyv6MoWfL6aXacVljJfc+yeSqQSZPAyg5JCj7WQ0ZIKNlxaUvZnfvMYTMT4pKTQ9XUSgI/mLmKer3KOVhyk82UMY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576496717; h=Content-Type: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; bh=JVQznK9RlLsehKLB6X4YPePFZMl4W0wskVtNeH30pSM=; b=NM8xiFLYOUkmFIl2w96sgaVhPleH99I77JJPOkGzmWfkr2IklCCZ/Q+zFuZXqiXoY4RxJ8e0cdN4nZT2vEQ8WGhAEHoT6rInHkcW0rJSEgH47cOZ1QiGuWKQWWwalX9ssqWIVXymaPsTeWbqRknYlbPEPepQqyoZw1RR7bwg1bI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576496717366643.7366016342489; Mon, 16 Dec 2019 03:45:17 -0800 (PST) Received: from localhost ([::1]:52110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igooN-0005Cw-Vj for importer@patchew.org; Mon, 16 Dec 2019 06:45:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54334) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoMx-0008OS-ED for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoMv-0001pw-5R for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:55 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:37535) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoMu-0001om-TW for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:53 -0500 Received: by mail-wm1-x342.google.com with SMTP id f129so6259851wmf.2 for ; Mon, 16 Dec 2019 03:16:52 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id f17sm20601137wmc.8.2019.12.16.03.16.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:16:46 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 838F11FF9E; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JVQznK9RlLsehKLB6X4YPePFZMl4W0wskVtNeH30pSM=; b=H22fZ/x2TdPdZtUyDnWhJdDpnvQmNEFWIztX5DnlWqZajjiuUpZNir+munD54Zae0o u918WQt8rCft0XiR+NHQkjHU7bO22WQeQyTo55LQZYsh/BCOhdlFTGCez+RwReJfzPTA jujaqAdKofLXlnOwpDBAk06IwT7KH+y4wAJ5DfLwbmNUvuuEgrIHuTRsUXBTcloSvWh1 zH2nk0jruubeeI/wWNK1ZgSwhZ1/wITt24wUVjvSsU0ViHUFFXAnH6sdxc8FhxXLReLf 8lcI1O30MsNKTlR3+8pez6YArmsUA/Ekq1D2NX/hIQ1mxDSLymr0UhR9h9/DDxC+pmtB dwIQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=JVQznK9RlLsehKLB6X4YPePFZMl4W0wskVtNeH30pSM=; b=EqwR0zsdEvKCSdVm54JNAjf1S0+5c7/CnbK+1DUSN3nz8OBKiqVxkh6NKNK/X9RHGT gm2jmr7O5FZVcPFd1TlNgNaGkNBHUV3D6CU1KdwcUqHP6KCIvmzpfWaMOa+BCObx2TUp VrgrjGSYYRFhn+0dLcAL9hyWM1aozuPrTODnrNvapRmjhNJz6qoXf9r6dVxfUw95oKze F0RsANggLUk7oFxllL15JEe1ewcXqzy+kKXPOXkdvXQVTyIL292uITQF2aAQxTh9SGzH VwSiSRyvDOTVzD8Q3K7mq1CLQvFPEFp+WdGYvLx/01+0Lh7gyeaquS5yJr7BqJZHyY6J w9vQ== X-Gm-Message-State: APjAAAX8+Dw9G35UvmX+mh3/ae1kGHeJ3Ywn0oAJ9NBHEqMVpIvSBUqr rmxHf3r/ghqq7xtgxsjiWRyQTw== X-Google-Smtp-Source: APXvYqx19DM+SW46rrWOR/KIuGc5W7VsDCcyHOu3nwnIQDmVpWs2uS2hk20iZfBCxz6PvXSwb6fS0A== X-Received: by 2002:a1c:5a0a:: with SMTP id o10mr2408428wmb.114.1576495011766; Mon, 16 Dec 2019 03:16:51 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 14/16] qemu_log_lock/unlock now preserves the qemu_logfile handle. Date: Mon, 16 Dec 2019 11:07:30 +0000 Message-Id: <20191216110732.24027-15-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 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: fam@euphon.net, Marek Vasut , berrange@redhat.com, Robert Foley , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Jason Wang , Chris Wulff , richard.henderson@linaro.org, f4bug@amsat.org, Eduardo Habkost , Michael Walle , cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, Guan Xuetao , "Edgar E. Iglesias" , aurelien@aurel32.net, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Robert Foley qemu_log_lock() now returns a handle and qemu_log_unlock() receives a handle to unlock. This allows for changing the handle during logging and ensures the lock() and unlock() are for the same file. Also in target/tilegx/translate.c removed the qemu_log_lock()/unlock() calls (and the log("\n")), since the translator can longjmp out of the loop if it attempts to translate an instruction in an inaccessible page. Signed-off-by: Robert Foley Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191118211528.3221-5-robert.foley@linaro.org> --- include/qemu/log.h | 9 ++++++--- accel/tcg/cpu-exec.c | 4 ++-- accel/tcg/translate-all.c | 4 ++-- accel/tcg/translator.c | 4 ++-- exec.c | 4 ++-- hw/net/can/can_sja1000.c | 4 ++-- net/can/can_socketcan.c | 5 ++--- target/cris/translate.c | 4 ++-- target/i386/translate.c | 5 +++-- target/lm32/translate.c | 4 ++-- target/microblaze/translate.c | 4 ++-- target/nios2/translate.c | 4 ++-- target/tilegx/translate.c | 6 ------ target/unicore32/translate.c | 4 ++-- tcg/tcg.c | 16 ++++++++-------- 15 files changed, 39 insertions(+), 42 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index a91105b2adc..a7c5b01571f 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -53,14 +53,17 @@ static inline bool qemu_log_separate(void) * qemu_loglevel is never set when qemu_logfile is unset. */ =20 -static inline void qemu_log_lock(void) +static inline FILE *qemu_log_lock(void) { qemu_flockfile(qemu_logfile); + return logfile->fd; } =20 -static inline void qemu_log_unlock(void) +static inline void qemu_log_unlock(FILE *fd) { - qemu_funlockfile(qemu_logfile); + if (fd) { + qemu_funlockfile(fd); + } } =20 /* Logging functions: */ diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index c01f59c7433..62068d10c3c 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -156,7 +156,7 @@ static inline tcg_target_ulong cpu_tb_exec(CPUState *cp= u, TranslationBlock *itb) #if defined(DEBUG_DISAS) if (qemu_loglevel_mask(CPU_LOG_TB_CPU) && qemu_log_in_addr_range(itb->pc)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); int flags =3D 0; if (qemu_loglevel_mask(CPU_LOG_TB_FPU)) { flags |=3D CPU_DUMP_FPU; @@ -165,7 +165,7 @@ static inline tcg_target_ulong cpu_tb_exec(CPUState *cp= u, TranslationBlock *itb) flags |=3D CPU_DUMP_CCOP; #endif log_cpu_state(cpu, flags); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif /* DEBUG_DISAS */ =20 diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 9f48da94721..bb325a2bc44 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1804,7 +1804,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM) && qemu_log_in_addr_range(tb->pc)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("OUT: [size=3D%d]\n", gen_code_size); if (tcg_ctx->data_gen_ptr) { size_t code_size =3D tcg_ctx->data_gen_ptr - tb->tc.ptr; @@ -1829,7 +1829,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, } qemu_log("\n"); qemu_log_flush(); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif =20 diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index f977682be79..603d17ff831 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -138,11 +138,11 @@ void translator_loop(const TranslatorOps *ops, DisasC= ontextBase *db, #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(db->pc_first)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("----------------\n"); ops->disas_log(db, cpu); qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif } diff --git a/exec.c b/exec.c index ffdb5185353..c994a00f102 100644 --- a/exec.c +++ b/exec.c @@ -1223,13 +1223,13 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...) fprintf(stderr, "\n"); cpu_dump_state(cpu, stderr, CPU_DUMP_FPU | CPU_DUMP_CCOP); if (qemu_log_separate()) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("qemu: fatal: "); qemu_log_vprintf(fmt, ap2); qemu_log("\n"); log_cpu_state(cpu, CPU_DUMP_FPU | CPU_DUMP_CCOP); qemu_log_flush(); - qemu_log_unlock(); + qemu_log_unlock(logfile); qemu_log_close(); } va_end(ap2); diff --git a/hw/net/can/can_sja1000.c b/hw/net/can/can_sja1000.c index 1f81341554f..39c78faf9b2 100644 --- a/hw/net/can/can_sja1000.c +++ b/hw/net/can/can_sja1000.c @@ -247,8 +247,8 @@ int can_sja_accept_filter(CanSJA1000State *s, static void can_display_msg(const char *prefix, const qemu_can_frame *msg) { int i; + FILE *logfile =3D qemu_log_lock(); =20 - qemu_log_lock(); qemu_log("%s%03X [%01d] %s %s", prefix, msg->can_id & QEMU_CAN_EFF_MASK, @@ -261,7 +261,7 @@ static void can_display_msg(const char *prefix, const q= emu_can_frame *msg) } qemu_log("\n"); qemu_log_flush(); - qemu_log_unlock(); + qemu_log_unlock(logfile); } =20 static void buff2frame_pel(const uint8_t *buff, qemu_can_frame *frame) diff --git a/net/can/can_socketcan.c b/net/can/can_socketcan.c index 8a6ffad40c8..29bfacd4f8a 100644 --- a/net/can/can_socketcan.c +++ b/net/can/can_socketcan.c @@ -76,8 +76,7 @@ QEMU_BUILD_BUG_ON(offsetof(qemu_can_frame, data) static void can_host_socketcan_display_msg(struct qemu_can_frame *msg) { int i; - - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("[cansocketcan]: %03X [%01d] %s %s", msg->can_id & QEMU_CAN_EFF_MASK, msg->can_dlc, @@ -89,7 +88,7 @@ static void can_host_socketcan_display_msg(struct qemu_ca= n_frame *msg) } qemu_log("\n"); qemu_log_flush(); - qemu_log_unlock(); + qemu_log_unlock(logfile); } =20 static void can_host_socketcan_read(void *opaque) diff --git a/target/cris/translate.c b/target/cris/translate.c index e752bd06093..cb57516a445 100644 --- a/target/cris/translate.c +++ b/target/cris/translate.c @@ -3273,11 +3273,11 @@ void gen_intermediate_code(CPUState *cs, Translatio= nBlock *tb, int max_insns) #if !DISAS_CRIS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(pc_start)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("--------------\n"); qemu_log("IN: %s\n", lookup_symbol(pc_start)); log_target_disas(cs, pc_start, dc->pc - pc_start); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif #endif diff --git a/target/i386/translate.c b/target/i386/translate.c index 77e932d8276..7c99ef13854 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -2502,14 +2502,15 @@ static void gen_unknown_opcode(CPUX86State *env, Di= sasContext *s) gen_illegal_opcode(s); =20 if (qemu_loglevel_mask(LOG_UNIMP)) { + FILE *logfile =3D qemu_log_lock(); target_ulong pc =3D s->pc_start, end =3D s->pc; - qemu_log_lock(); + qemu_log("ILLOPC: " TARGET_FMT_lx ":", pc); for (; pc < end; ++pc) { qemu_log(" %02x", cpu_ldub_code(env, pc)); } qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } } =20 diff --git a/target/lm32/translate.c b/target/lm32/translate.c index 778cae1e817..73db9654d66 100644 --- a/target/lm32/translate.c +++ b/target/lm32/translate.c @@ -1137,10 +1137,10 @@ void gen_intermediate_code(CPUState *cs, Translatio= nBlock *tb, int max_insns) #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(pc_start)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("\n"); log_target_disas(cs, pc_start, dc->pc - pc_start); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif } diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index bdc7d5326a6..525115b0413 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -1765,10 +1765,10 @@ void gen_intermediate_code(CPUState *cs, Translatio= nBlock *tb, int max_insns) #if !SIM_COMPAT if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(pc_start)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("--------------\n"); log_target_disas(cs, pc_start, dc->pc - pc_start); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif #endif diff --git a/target/nios2/translate.c b/target/nios2/translate.c index e17656e66fb..82107bf270f 100644 --- a/target/nios2/translate.c +++ b/target/nios2/translate.c @@ -892,11 +892,11 @@ void gen_intermediate_code(CPUState *cs, TranslationB= lock *tb, int max_insns) #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(tb->pc)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("IN: %s\n", lookup_symbol(tb->pc)); log_target_disas(cs, tb->pc, dc->pc - tb->pc); qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif } diff --git a/target/tilegx/translate.c b/target/tilegx/translate.c index 68dd4aa2d8e..abce7e1c757 100644 --- a/target/tilegx/translate.c +++ b/target/tilegx/translate.c @@ -2388,7 +2388,6 @@ void gen_intermediate_code(CPUState *cs, TranslationB= lock *tb, int max_insns) dc->zero =3D NULL; =20 if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) { - qemu_log_lock(); qemu_log("IN: %s\n", lookup_symbol(pc_start)); } gen_tb_start(tb); @@ -2417,11 +2416,6 @@ void gen_intermediate_code(CPUState *cs, Translation= Block *tb, int max_insns) gen_tb_end(tb, num_insns); tb->size =3D dc->pc - pc_start; tb->icount =3D num_insns; - - if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) { - qemu_log("\n"); - qemu_log_unlock(); - } } =20 void restore_state_to_opc(CPUTLGState *env, TranslationBlock *tb, diff --git a/target/unicore32/translate.c b/target/unicore32/translate.c index 0e01f35856f..0f6891b8aa3 100644 --- a/target/unicore32/translate.c +++ b/target/unicore32/translate.c @@ -1994,12 +1994,12 @@ done_generating: #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(pc_start)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("----------------\n"); qemu_log("IN: %s\n", lookup_symbol(pc_start)); log_target_disas(cs, pc_start, dc->pc - pc_start); qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif tb->size =3D dc->pc - pc_start; diff --git a/tcg/tcg.c b/tcg/tcg.c index 5475d49ed11..0511266d85d 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1085,7 +1085,7 @@ void tcg_prologue_init(TCGContext *s) =20 #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM)) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("PROLOGUE: [size=3D%zu]\n", prologue_size); if (s->data_gen_ptr) { size_t code_size =3D s->data_gen_ptr - buf0; @@ -1110,7 +1110,7 @@ void tcg_prologue_init(TCGContext *s) } qemu_log("\n"); qemu_log_flush(); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif =20 @@ -4041,11 +4041,11 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *t= b) #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP) && qemu_log_in_addr_range(tb->pc))) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("OP:\n"); tcg_dump_ops(s, false); qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif =20 @@ -4086,11 +4086,11 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *t= b) #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_IND) && qemu_log_in_addr_range(tb->pc))) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("OP before indirect lowering:\n"); tcg_dump_ops(s, false); qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif /* Replace indirect temps with direct temps. */ @@ -4107,11 +4107,11 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *t= b) #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_OPT) && qemu_log_in_addr_range(tb->pc))) { - qemu_log_lock(); + FILE *logfile =3D qemu_log_lock(); qemu_log("OP after optimization and liveness analysis:\n"); tcg_dump_ops(s, true); qemu_log("\n"); - qemu_log_unlock(); + qemu_log_unlock(logfile); } #endif =20 --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576496622; cv=none; d=zohomail.com; s=zohoarc; b=lDm8eTlOZAlA7S0bfCaUblmkNSGsfQq8YsGtcpEIi//k3kPPPRRGuB3rDC6WCHJgDs+KOMOMMChEyA+8WFv6EG5baP/hrKaDV05W64trAIdTvcCpKg2WXKDm9D3qTKW9vi+USavnirFS/lioshK9A/EzoBBObK9FXK3lemNvT8A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576496622; h=Content-Type: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; bh=7KYiMQgpRbnKoG/zmEUQEeF3Z+9bcz0JYKmhwDmDp/Y=; b=ijJRlxKXhVEcRid4lj/531h87d1F84W4UYYfSFOb95p1cy8KsTbBZeK17aX5sfJlMS/5YUdQw72DVcDN7dR07nYu0MZ5DhhC7+tJ4qHIvXL8wB2GogYYbuoUX/3RYivCpZ7NkXYYVUY8kDi+FfwC9Mauki4h21h11OqQbAwAoVs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576496622650143.8237500672235; Mon, 16 Dec 2019 03:43:42 -0800 (PST) Received: from localhost ([::1]:52088 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igomr-0003Sx-8W for importer@patchew.org; Mon, 16 Dec 2019 06:43:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54319) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoMv-0008NG-Ph for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoMt-0001nj-Q7 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:53 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:36384) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoMt-0001nP-I8 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:51 -0500 Received: by mail-wm1-x344.google.com with SMTP id p17so6248942wma.1 for ; Mon, 16 Dec 2019 03:16:51 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id o4sm21063469wrw.97.2019.12.16.03.16.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:16:46 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 9F2261FF9F; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7KYiMQgpRbnKoG/zmEUQEeF3Z+9bcz0JYKmhwDmDp/Y=; b=Pic0UmhUyY5CrX1QJjB3VgBiBgJh5xPOuQsRa5KLO7496sbqpeTjlhsJzwCbsQE39V xQwMgOMJhk8ObPk4SR4RYW4tXmdViXVcphFou9PDe7z6y41PRx2CZQ0hPPxx7iba+jq2 cBmXHj3dP9afIx4K5X04z7kRO9HT3VjBomzTjq+06SZhq8+FbCrEkepuHmICbDzIAA1W Kfg4+vR8yonQxbxI9+WXrYGZCngXuaQb0+rLc6ZEwVh1u8YBDDLJp+BbS7heLGPhyBn/ XhpeSN3b8Hi1IbiF/BfQmCqKBMJijeybEf3/zqm24yx0RQ+3rP8hfEqVhtvYWzGApAHV 7H7A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=7KYiMQgpRbnKoG/zmEUQEeF3Z+9bcz0JYKmhwDmDp/Y=; b=pV7lL07Edi0Uwq+CH/g7ZKEZIATMg9iNZq7ASfbFe14lJhrX/xVc/PFcz1Ai+iw51n EmFbHP2eMXvimBNca+O7gmZncPoRISugZdVNQcqd/2QLdb8Zpj2jnqPMbZ2FkCJiOGBf snD4JiYItQ0kLh1Y4yBBr5/dKTQ5pKKRAQcZBpSWReYdqZ2C7D86YJ0UZD411B27R/gy 9S45VTK5kbMnn/A6RXjyng9UqmrelER+7wnCSj1UTnooURUP4xQCxm90jAhvOQXy6Vdx 2VdCPPLhj13AdSnzkZERS7hPkBmMwSh0B0MuP0EOs5is1OimUjlTeC4mHjEHSELwV5xN YhlQ== X-Gm-Message-State: APjAAAXsqO7JtcZFZ5WEnA5ALFgOCDnuyNtbmGDNQtOcF2IFLiM7DurO Qb7bC1rKk8KkxAEPgoWFynvDAQ== X-Google-Smtp-Source: APXvYqxkwQdaWzcVP7c1wvQ9wA6AbcDJzC6QhYX5ALQSviJ8pb7i5hPv+FjoG1za4PJZhiWqIDrZRg== X-Received: by 2002:a1c:9c87:: with SMTP id f129mr28916413wme.26.1576495010351; Mon, 16 Dec 2019 03:16:50 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 15/16] Add use of RCU for qemu_logfile. Date: Mon, 16 Dec 2019 11:07:31 +0000 Message-Id: <20191216110732.24027-16-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 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: fam@euphon.net, berrange@redhat.com, Robert Foley , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Robert Foley This now allows changing the logfile while logging is active, and also solves the issue of a seg fault while changing the logfile. Any read access to the qemu_logfile handle will use the rcu_read_lock()/unlock() around the use of the handle. To fetch the handle we will use atomic_rcu_read(). We also in many cases do a check for validity of the logfile handle before using it to deal with the case where the file is closed and set to NULL. The cases where we write to the qemu_logfile will use atomic_rcu_set(). Writers will also use call_rcu() with a newly added qemu_logfile_free function for freeing/closing when readers have finished. Signed-off-by: Robert Foley Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191118211528.3221-6-robert.foley@linaro.org> --- include/exec/log.h | 33 ++++++++++++++++++--- include/qemu/log.h | 41 ++++++++++++++++++++++---- tcg/tcg.c | 12 ++++++-- util/log.c | 72 ++++++++++++++++++++++++++++++++-------------- 4 files changed, 125 insertions(+), 33 deletions(-) diff --git a/include/exec/log.h b/include/exec/log.h index e2cfd436e61..9bd1e4aa20b 100644 --- a/include/exec/log.h +++ b/include/exec/log.h @@ -15,8 +15,15 @@ */ static inline void log_cpu_state(CPUState *cpu, int flags) { + QemuLogFile *logfile; + if (qemu_log_enabled()) { - cpu_dump_state(cpu, qemu_logfile, flags); + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + cpu_dump_state(cpu, logfile->fd, flags); + } + rcu_read_unlock(); } } =20 @@ -40,19 +47,37 @@ static inline void log_cpu_state_mask(int mask, CPUStat= e *cpu, int flags) static inline void log_target_disas(CPUState *cpu, target_ulong start, target_ulong len) { - target_disas(qemu_logfile, cpu, start, len); + QemuLogFile *logfile; + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + target_disas(logfile->fd, cpu, start, len); + } + rcu_read_unlock(); } =20 static inline void log_disas(void *code, unsigned long size) { - disas(qemu_logfile, code, size); + QemuLogFile *logfile; + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + disas(logfile->fd, code, size); + } + rcu_read_unlock(); } =20 #if defined(CONFIG_USER_ONLY) /* page_dump() output to the log file: */ static inline void log_page_dump(void) { - page_dump(qemu_logfile); + QemuLogFile *logfile; + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + page_dump(logfile->fd); + } + rcu_read_unlock(); } #endif #endif diff --git a/include/qemu/log.h b/include/qemu/log.h index a7c5b01571f..e0f4e406283 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -3,9 +3,16 @@ =20 /* A small part of this API is split into its own header */ #include "qemu/log-for-trace.h" +#include "qemu/rcu.h" + +typedef struct QemuLogFile { + struct rcu_head rcu; + FILE *fd; +} QemuLogFile; =20 /* Private global variable, don't use */ -extern FILE *qemu_logfile; +extern QemuLogFile *qemu_logfile; + =20 /*=20 * The new API: @@ -25,7 +32,16 @@ static inline bool qemu_log_enabled(void) */ static inline bool qemu_log_separate(void) { - return qemu_logfile !=3D NULL && qemu_logfile !=3D stderr; + QemuLogFile *logfile; + bool res =3D false; + + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile && logfile->fd !=3D stderr) { + res =3D true; + } + rcu_read_unlock(); + return res; } =20 #define CPU_LOG_TB_OUT_ASM (1 << 0) @@ -55,8 +71,15 @@ static inline bool qemu_log_separate(void) =20 static inline FILE *qemu_log_lock(void) { - qemu_flockfile(qemu_logfile); - return logfile->fd; + QemuLogFile *logfile; + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + qemu_flockfile(logfile->fd); + return logfile->fd; + } else { + return NULL; + } } =20 static inline void qemu_log_unlock(FILE *fd) @@ -64,6 +87,7 @@ static inline void qemu_log_unlock(FILE *fd) if (fd) { qemu_funlockfile(fd); } + rcu_read_unlock(); } =20 /* Logging functions: */ @@ -73,9 +97,14 @@ static inline void qemu_log_unlock(FILE *fd) static inline void GCC_FMT_ATTR(1, 0) qemu_log_vprintf(const char *fmt, va_list va) { - if (qemu_logfile) { - vfprintf(qemu_logfile, fmt, va); + QemuLogFile *logfile; + + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + vfprintf(logfile->fd, fmt, va); } + rcu_read_unlock(); } =20 /* log only if a bit is set on the current loglevel mask: diff --git a/tcg/tcg.c b/tcg/tcg.c index 0511266d85d..4f616ba38bf 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -2114,9 +2114,17 @@ static void tcg_dump_ops(TCGContext *s, bool have_pr= efs) } =20 if (have_prefs || op->life) { - for (; col < 40; ++col) { - putc(' ', qemu_logfile); + + QemuLogFile *logfile; + + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + for (; col < 40; ++col) { + putc(' ', logfile->fd); + } } + rcu_read_unlock(); } =20 if (op->life) { diff --git a/util/log.c b/util/log.c index 953a66b5a8d..867264da8d0 100644 --- a/util/log.c +++ b/util/log.c @@ -28,7 +28,7 @@ =20 static char *logfilename; static QemuMutex qemu_logfile_mutex; -FILE *qemu_logfile; +QemuLogFile *qemu_logfile; int qemu_loglevel; static int log_append =3D 0; static GArray *debug_regions; @@ -37,10 +37,14 @@ static GArray *debug_regions; int qemu_log(const char *fmt, ...) { int ret =3D 0; - if (qemu_logfile) { + QemuLogFile *logfile; + + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { va_list ap; va_start(ap, fmt); - ret =3D vfprintf(qemu_logfile, fmt, ap); + ret =3D vfprintf(logfile->fd, fmt, ap); va_end(ap); =20 /* Don't pass back error results. */ @@ -48,6 +52,7 @@ int qemu_log(const char *fmt, ...) ret =3D 0; } } + rcu_read_unlock(); return ret; } =20 @@ -56,12 +61,24 @@ static void __attribute__((__constructor__)) qemu_logfi= le_init(void) qemu_mutex_init(&qemu_logfile_mutex); } =20 +static void qemu_logfile_free(QemuLogFile *logfile) +{ + g_assert(logfile); + + if (logfile->fd !=3D stderr) { + fclose(logfile->fd); + } + g_free(logfile); +} + static bool log_uses_own_buffers; =20 /* enable or disable low levels log */ void qemu_set_log(int log_flags) { bool need_to_open_file =3D false; + QemuLogFile *logfile; + qemu_loglevel =3D log_flags; #ifdef CONFIG_TRACE_LOG qemu_loglevel |=3D LOG_TRACE; @@ -79,43 +96,47 @@ void qemu_set_log(int log_flags) } qemu_mutex_lock(&qemu_logfile_mutex); if (qemu_logfile && !need_to_open_file) { - qemu_mutex_unlock(&qemu_logfile_mutex); - qemu_log_close(); + logfile =3D qemu_logfile; + atomic_rcu_set(&qemu_logfile, NULL); + call_rcu(logfile, qemu_logfile_free, rcu); } else if (!qemu_logfile && need_to_open_file) { + logfile =3D g_new0(QemuLogFile, 1); if (logfilename) { - qemu_logfile =3D fopen(logfilename, log_append ? "a" : "w"); - if (!qemu_logfile) { + logfile->fd =3D fopen(logfilename, log_append ? "a" : "w"); + if (!logfile->fd) { + g_free(logfile); perror(logfilename); _exit(1); } /* In case we are a daemon redirect stderr to logfile */ if (is_daemonized()) { - dup2(fileno(qemu_logfile), STDERR_FILENO); - fclose(qemu_logfile); + dup2(fileno(logfile->fd), STDERR_FILENO); + fclose(logfile->fd); /* This will skip closing logfile in qemu_log_close() */ - qemu_logfile =3D stderr; + logfile->fd =3D stderr; } } else { /* Default to stderr if no log file specified */ assert(!is_daemonized()); - qemu_logfile =3D stderr; + logfile->fd =3D stderr; } /* must avoid mmap() usage of glibc by setting a buffer "by hand" = */ if (log_uses_own_buffers) { static char logfile_buf[4096]; =20 - setvbuf(qemu_logfile, logfile_buf, _IOLBF, sizeof(logfile_buf)= ); + setvbuf(logfile->fd, logfile_buf, _IOLBF, sizeof(logfile_buf)); } else { #if defined(_WIN32) /* Win32 doesn't support line-buffering, so use unbuffered out= put. */ - setvbuf(qemu_logfile, NULL, _IONBF, 0); + setvbuf(logfile->fd, NULL, _IONBF, 0); #else - setvbuf(qemu_logfile, NULL, _IOLBF, 0); + setvbuf(logfile->fd, NULL, _IOLBF, 0); #endif log_append =3D 1; } - qemu_mutex_unlock(&qemu_logfile_mutex); + atomic_rcu_set(&qemu_logfile, logfile); } + qemu_mutex_unlock(&qemu_logfile_mutex); } =20 void qemu_log_needs_buffers(void) @@ -244,18 +265,27 @@ out: /* fflush() the log file */ void qemu_log_flush(void) { - fflush(qemu_logfile); + QemuLogFile *logfile; + + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + if (logfile) { + fflush(logfile->fd); + } + rcu_read_unlock(); } =20 /* Close the log file */ void qemu_log_close(void) { + QemuLogFile *logfile; + qemu_mutex_lock(&qemu_logfile_mutex); - if (qemu_logfile) { - if (qemu_logfile !=3D stderr) { - fclose(qemu_logfile); - } - qemu_logfile =3D NULL; + logfile =3D qemu_logfile; + + if (logfile) { + atomic_rcu_set(&qemu_logfile, NULL); + call_rcu(logfile, qemu_logfile_free, rcu); } qemu_mutex_unlock(&qemu_logfile_mutex); } --=20 2.20.1 From nobody Tue May 14 12:26:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1576496547; cv=none; d=zohomail.com; s=zohoarc; b=OCM15UMbU4vuIHvaQCpoun7t64BoqJDM2iWCXCu3RxnPxBoqoeXMB9XeXMxE0UNDP5c0OWzhhcHY7GxVb9xHKVUyImvI2WnAQU65jYcf8UKDX/Tf9RbRKAkFbhPho+GNKlfaAqQTy5pFbN+TnBxYoSPxIYI58Bc1z7lEwmdd3UM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576496547; h=Content-Type: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; bh=grODXrfR2eDYomrBneZAL5WCQ1lKy+6FvdP9RcaBhKY=; b=IfqS+vUVixvKgZTEURoCDnJ5rD68YbGehEMgJaoyGrpGcfNrZvLGAv/kbiggah+IroQrFRKaez8Jb9DISZ3wS/10tnxfP6N4jlHWMEQB4ylh0JdVqiow2irf1h+SKWzIH1V9d2EbdLPjU1DUNAROiWWMMiRY/vM+0G1HY6pk3c0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 1576496547570184.22658925245855; Mon, 16 Dec 2019 03:42:27 -0800 (PST) Received: from localhost ([::1]:52064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igole-0001l4-Do for importer@patchew.org; Mon, 16 Dec 2019 06:42:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54292) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igoMt-0008LD-KB for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igoMr-0001nC-Jt for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:51 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:35708) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igoMr-0001n2-Ct for qemu-devel@nongnu.org; Mon, 16 Dec 2019 06:16:49 -0500 Received: by mail-wr1-x443.google.com with SMTP id g17so6765963wro.2 for ; Mon, 16 Dec 2019 03:16:49 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id x26sm20353391wmc.30.2019.12.16.03.16.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2019 03:16:46 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id B4F921FFA3; Mon, 16 Dec 2019 11:07:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=grODXrfR2eDYomrBneZAL5WCQ1lKy+6FvdP9RcaBhKY=; b=MkO8NnPv5nJs0dw0z4AvYiSy1S6AqnbUZgCLXANN7kQgiuAJwqjuGCU39UdC4KfuhO BtecRYohSZ5RsIS/aDEBjqSWuN8I2de36NPe6PtgGcsDRmYKj56E7I1HDfCtzYy05HyS Fi53QlDXVYIMIPAThjpDWvhbvQzwGQ/QrfKDuIRI7ugFYyRxaXDe8KM7ITwv09UxcuUK 8VfjAnp/oKoJqqIin3lgWd4jqTFzW6MW4iqKcApMOrhnOPlHuTLNw+ZmU8H/+gRbX2Tp 0VRwVsuiqx3hUhJPUMD18f9ndD/bAqwRtKtTzOejga1wj4JBY9421KGMtkl+lgBCzD7k jIjg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=grODXrfR2eDYomrBneZAL5WCQ1lKy+6FvdP9RcaBhKY=; b=Nm8WSZTxhyEfalPIv22OJ1aAJdD9/MMqmFe+hn+ILf57HGDpdipvnXTg2Jk0Z7iQRO I+SIjpceeHlveWn+ubgnudw0M/6G92m+6sva3D8DHjJATcTKlp/vDZzwzdp7opXQ7F7I 14lwsRJnJxeIG0BFU6MHUJP6RVc0rKXJRxyfXNq94xllraunA21J55srVigtg93WsBGk +Vl78HU8khydL6C7j5sF1CZKHuJE6OTHWKE8XnjA7QaOYNoGu6Od0KAJG2ituxynKrN0 go1IeNCyvpDpCddK67Pne8HVLQLvuIpTenddn09ON/My+Y2sq6yR9xl6xgKv1jKfHtoE G7vg== X-Gm-Message-State: APjAAAU2bvVQxoHn2x5hYPyjnLWNo4B5RJeECjYVi1CHYhqA2IZ5b62E yP2r1Z/3wTTnu5HNUTgA18EYow== X-Google-Smtp-Source: APXvYqyrg1GDKGS97POE8EDL0BisOKidO4cPMN8hApEXr2wP05uixQseoUdY7Bo9wLYdzcr14GnEYg== X-Received: by 2002:adf:f5cb:: with SMTP id k11mr28539684wrp.71.1576495008071; Mon, 16 Dec 2019 03:16:48 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 16/16] Added tests for close and change of logfile. Date: Mon, 16 Dec 2019 11:07:32 +0000 Message-Id: <20191216110732.24027-17-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191216110732.24027-1-alex.bennee@linaro.org> References: <20191216110732.24027-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 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: fam@euphon.net, berrange@redhat.com, Robert Foley , stefanb@linux.vnet.ibm.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , richard.henderson@linaro.org, f4bug@amsat.org, cota@braap.org, stefanha@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Robert Foley One test ensures that the logfile handle is still valid even if the logfile is changed during logging. The other test validates that the logfile handle remains valid under the logfile lock even if the logfile is closed. Signed-off-by: Robert Foley Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191118211528.3221-7-robert.foley@linaro.org> --- tests/test-logging.c | 80 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/tests/test-logging.c b/tests/test-logging.c index a12585f70af..1e646f045dc 100644 --- a/tests/test-logging.c +++ b/tests/test-logging.c @@ -108,6 +108,82 @@ static void test_parse_path(gconstpointer data) error_free_or_abort(&err); } =20 +static void test_logfile_write(gconstpointer data) +{ + QemuLogFile *logfile; + QemuLogFile *logfile2; + gchar const *dir =3D data; + Error *err =3D NULL; + g_autofree gchar *file_path; + g_autofree gchar *file_path1; + FILE *orig_fd; + + /* + * Before starting test, set log flags, to ensure the file gets + * opened below with the call to qemu_set_log_filename(). + * In cases where a logging backend other than log is used, + * this is needed. + */ + qemu_set_log(CPU_LOG_TB_OUT_ASM); + file_path =3D g_build_filename(dir, "qemu_test_log_write0.log", NULL); + file_path1 =3D g_build_filename(dir, "qemu_test_log_write1.log", NULL); + + /* + * Test that even if an open file handle is changed, + * our handle remains valid due to RCU. + */ + qemu_set_log_filename(file_path, &err); + g_assert(!err); + rcu_read_lock(); + logfile =3D atomic_rcu_read(&qemu_logfile); + orig_fd =3D logfile->fd; + g_assert(logfile && logfile->fd); + fprintf(logfile->fd, "%s 1st write to file\n", __func__); + fflush(logfile->fd); + + /* Change the logfile and ensure that the handle is still valid. */ + qemu_set_log_filename(file_path1, &err); + g_assert(!err); + logfile2 =3D atomic_rcu_read(&qemu_logfile); + g_assert(logfile->fd =3D=3D orig_fd); + g_assert(logfile2->fd !=3D logfile->fd); + fprintf(logfile->fd, "%s 2nd write to file\n", __func__); + fflush(logfile->fd); + rcu_read_unlock(); +} + +static void test_logfile_lock(gconstpointer data) +{ + FILE *logfile; + gchar const *dir =3D data; + Error *err =3D NULL; + g_autofree gchar *file_path; + + file_path =3D g_build_filename(dir, "qemu_test_logfile_lock0.log", NUL= L); + + /* + * Test the use of the logfile lock, such + * that even if an open file handle is closed, + * our handle remains valid for use due to RCU. + */ + qemu_set_log_filename(file_path, &err); + logfile =3D qemu_log_lock(); + g_assert(logfile); + fprintf(logfile, "%s 1st write to file\n", __func__); + fflush(logfile); + + /* + * Initiate a close file and make sure our handle remains + * valid since we still have the logfile lock. + */ + qemu_log_close(); + fprintf(logfile, "%s 2nd write to file\n", __func__); + fflush(logfile); + qemu_log_unlock(logfile); + + g_assert(!err); +} + /* Remove a directory and all its entries (non-recursive). */ static void rmdir_full(gchar const *root) { @@ -134,6 +210,10 @@ int main(int argc, char **argv) =20 g_test_add_func("/logging/parse_range", test_parse_range); g_test_add_data_func("/logging/parse_path", tmp_path, test_parse_path); + g_test_add_data_func("/logging/logfile_write_path", + tmp_path, test_logfile_write); + g_test_add_data_func("/logging/logfile_lock_path", + tmp_path, test_logfile_lock); =20 rc =3D g_test_run(); =20 --=20 2.20.1