From nobody Tue Apr 15 06:44:29 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1622641684; cv=none; d=zohomail.com; s=zohoarc; b=S0rBYbs+nmE1sqedJAbZZso+gP8LAoKNgG3+7Ve9C8SkFvAjQrLmnHDmHz7Nj6TzvDWDMn5TFjC/DvZnwOW6G/3rQHJ1SHgaKjurBd2zWZTAvTGT7Bw2ewKcBNFta3hyimR/V8lLzkp8l8fJGjxjUx18ssnglNGe+MH1EKQsTms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1622641684; 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=xG0Z68ORK5zXT+w46I4w/BY01xYr5gUode7xyH2he9Y=; b=gtji13HBZReI+KpPzuEmU/ivBrjMtqScUdIvJpjP+ZsmVB5ACeum+stDw2HXG2WUmMtrqFkQq6juUHB0Y+Hqo75drHmcS/zoKE6pDsME+9+7ONLQytpY757tZ2yjVhzNrW/xh2nk1YBwfYgu0RJmA8ZLNrQqT6+2bF3zEUB78k0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1622641684669191.91604549866736; Wed, 2 Jun 2021 06:48:04 -0700 (PDT) Received: from localhost ([::1]:43844 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1loRE3-0003Xc-KR for importer@patchew.org; Wed, 02 Jun 2021 09:48:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43572) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loRBq-0007ut-T6 for qemu-devel@nongnu.org; Wed, 02 Jun 2021 09:45:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:57442) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loRBn-0006vD-JB for qemu-devel@nongnu.org; Wed, 02 Jun 2021 09:45:45 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-527-vWc6n08KNXePzuUn44RLsA-1; Wed, 02 Jun 2021 09:45:39 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 384C11034B04; Wed, 2 Jun 2021 13:45:36 +0000 (UTC) Received: from merkur.redhat.com (ovpn-114-240.ams2.redhat.com [10.36.114.240]) by smtp.corp.redhat.com (Postfix) with ESMTP id 120527596A; Wed, 2 Jun 2021 13:45:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1622641542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xG0Z68ORK5zXT+w46I4w/BY01xYr5gUode7xyH2he9Y=; b=EW5riP8cu+oNlqR0ezcdg5Jz5l8OGkc4t9QL0xnv9mwHJBSPfLjhosvIWF147+9d1IeubX NsBhwTbGVjb2ty79c90jjHSpu0sZf3qLPdpUznpwFnP2U4KLXsGt85ZVZ8oNWOXQogkyG/ I6zuTiEE0gCh7UM19O3tzxOgbHEFr8g= X-MC-Unique: vWc6n08KNXePzuUn44RLsA-1 From: Kevin Wolf To: qemu-block@nongnu.org Subject: [PULL 01/20] block/quorum: Provide .bdrv_co_flush instead of .bdrv_co_flush_to_disk Date: Wed, 2 Jun 2021 15:45:10 +0200 Message-Id: <20210602134529.231756-2-kwolf@redhat.com> In-Reply-To: <20210602134529.231756-1-kwolf@redhat.com> References: <20210602134529.231756-1-kwolf@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kwolf@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=216.205.24.124; envelope-from=kwolf@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -31 X-Spam_score: -3.2 X-Spam_bar: --- X-Spam_report: (-3.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.371, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: kwolf@redhat.com, peter.maydell@linaro.org, qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" From: Lukas Straub The quorum block driver uses a custom flush callback to handle the case when some children return io errors. In that case it still returns success if enough children are healthy. However, it provides it as the .bdrv_co_flush_to_disk callback, not as .bdrv_co_flush. This causes the block layer to do it's own generic flushing for the children instead, which doesn't handle errors properly. Fix this by providing .bdrv_co_flush instead of .bdrv_co_flush_to_disk so the block layer uses the custom flush callback. Signed-off-by: Lukas Straub Reported-by: Minghao Yuan Message-Id: <20210518134214.11ccf05f@gecko.fritz.box> Tested-by: Zhang Chen Signed-off-by: Kevin Wolf --- block/quorum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/quorum.c b/block/quorum.c index cfc1436abb..f2c0805000 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -1279,7 +1279,7 @@ static BlockDriver bdrv_quorum =3D { .bdrv_dirname =3D quorum_dirname, .bdrv_co_block_status =3D quorum_co_block_status, =20 - .bdrv_co_flush_to_disk =3D quorum_co_flush, + .bdrv_co_flush =3D quorum_co_flush, =20 .bdrv_getlength =3D quorum_getlength, =20 --=20 2.30.2