Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp7573ybl; Tue, 7 Jan 2020 13:03:09 -0800 (PST) X-Google-Smtp-Source: APXvYqx5wV7sQeivrMYc2vkrq48GfBK0OwngwGhG/5z7HC/42gKnst+2eYkNNuqx5lXVpBdnihuK X-Received: by 2002:aca:3141:: with SMTP id x62mr312145oix.108.1578430989573; Tue, 07 Jan 2020 13:03:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578430989; cv=none; d=google.com; s=arc-20160816; b=mUvLjDlvZ+pi8iG7LQUNa+hZ8D3+HhRd8Y7jj58Gg24hbKD0CsQsKWSOrUYPWrko2Q vYDqUiUGckDq9vNDmi9DE0zVAQzLe8Rm4+eudS20iQveuMUyyGfO3yH2cnJ1C2JXld9g tU0VnS2J1yfwR6Zir0ca7540pkD/C5mkFoIT2H9zAz7+GYrYDhrizO9o3OVdlo4Tgckx AB9fwE5ekY4ee2O2J/vume9sCPH0TNHz1MaqTFRGn/xtORurUvNcCyFXqLsl/W07nbqE e47kiJ8gUX6kIj2+5KqmddUwWQIFL+wCroyf/xDis3CnXiibskJt+FYIycgpcye3m+U1 q+2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ZSARAky3CbW3zljuOlR79WeioDEObqU9sR2KGoiGPeI=; b=VHE8NN2R8LeLqgw8HCrnwNY69Ndet7CLLQ0Xrnus90kARZllPUOMqrw6rHGfhtToMP lefLXRZLwPA1qW4TTcbjjaRvI7Q9gluhJdFKobqQfHGogOHGwH7bcFkxi/9mW/XM7ADu 2KQFoLe7x7bjBEO61GcMSYUAa89rke9ZLfiAd3QzKwSinF3KPaefXcB3Zxt4GmTnZvex JbfiqWkz1Ghu3fgSdTTi8NBnabu6N9gHe1+dZB6CIn62PLgkMyKuLKIgpxWLV+jSvPLp eYOLbzJyzW4Bx5D4V7+7BoJpGynWHpclK30hskSQ/+rcEqL7isteXUVIwjIyg4tif68T NHBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=c0kOpzMh; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u188si677539oia.80.2020.01.07.13.02.56; Tue, 07 Jan 2020 13:03:09 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=c0kOpzMh; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728668AbgAGVB6 (ORCPT + 99 others); Tue, 7 Jan 2020 16:01:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:40242 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728264AbgAGVBy (ORCPT ); Tue, 7 Jan 2020 16:01:54 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 45D2420880; Tue, 7 Jan 2020 21:01:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578430913; bh=Jg4b2oudpxvcI46wrRdcoGJxfli65coHnOsvvzRkXvM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c0kOpzMhW4rAkbh36IIqJdW0yJ3LuowZYyzO4JUlTpDSCbRgSWXaXt1DANuWeFhbj mUKgQ3VUIAXukDlTmWlHkoaaCo5IAehC8Rdx5I2CFMiJrRlxmqqfsGNbdcWQWNb4IG SeuTianTRJxwwHzM3ilw1D/nyFngUERlAP3FKL+0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Omar Sandoval , "Darrick J. Wong" Subject: [PATCH 5.4 148/191] xfs: dont check for AG deadlock for realtime files in bunmapi Date: Tue, 7 Jan 2020 21:54:28 +0100 Message-Id: <20200107205340.891745863@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200107205332.984228665@linuxfoundation.org> References: <20200107205332.984228665@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Omar Sandoval commit 69ffe5960df16938bccfe1b65382af0b3de51265 upstream. Commit 5b094d6dac04 ("xfs: fix multi-AG deadlock in xfs_bunmapi") added a check in __xfs_bunmapi() to stop early if we would touch multiple AGs in the wrong order. However, this check isn't applicable for realtime files. In most cases, it just makes us do unnecessary commits. However, without the fix from the previous commit ("xfs: fix realtime file data space leak"), if the last and second-to-last extents also happen to have different "AG numbers", then the break actually causes __xfs_bunmapi() to return without making any progress, which sends xfs_itruncate_extents_flags() into an infinite loop. Fixes: 5b094d6dac04 ("xfs: fix multi-AG deadlock in xfs_bunmapi") Signed-off-by: Omar Sandoval Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Greg Kroah-Hartman --- fs/xfs/libxfs/xfs_bmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -5300,7 +5300,7 @@ __xfs_bunmapi( * Make sure we don't touch multiple AGF headers out of order * in a single transaction, as that could cause AB-BA deadlocks. */ - if (!wasdel) { + if (!wasdel && !isrt) { agno = XFS_FSB_TO_AGNO(mp, del.br_startblock); if (prev_agno != NULLAGNUMBER && prev_agno > agno) break;