Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1749496ybl; Sat, 11 Jan 2020 02:03:32 -0800 (PST) X-Google-Smtp-Source: APXvYqz0DVPBbd1li3+WbMTkrolrrfYBU59pV5Zrx3HtFS+JAh7Z+PoNAvYOG8UI3BXWdkRR37Bt X-Received: by 2002:a9d:4d86:: with SMTP id u6mr5926134otk.42.1578737012055; Sat, 11 Jan 2020 02:03:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578737012; cv=none; d=google.com; s=arc-20160816; b=m/DgRKczpCMxHDUDEN80KCX1lByMjYu26fHq3POvyHVU04GvqGIiwg5e4F0N4UIjG1 sO92S59fs+qRpHEtTKl/1OM2cjhjC9XIdJPJjJks0jHpRpTl33euAGaAV76RtJ6w2Xay BEwfYKWNlgs0HnU/I6l/CoPTE0lHLuxTPKNrU8UI0Gl6VnPnhvXJAPCMZ7W5GQm7ys3M C5aIkf9G4B4Zojc8+y8EXOReq5pJUxYnZwj/oo76iQvDSCzZd1CBtmNzSmQ5YA7w/SqM TQaaZSXfzPhMQC8Cs2wyO2MeHqKqiDkLypNYvU8Ymx8zEjqVr+J3usafL3ggQWcbL8Xo RddQ== 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=5WCwKZG7Kjacv17ikCZjm+hJ067/eOg/AQU5u3DvHOE=; b=ysiGTjaF78bO2didwXkrR8HhEoo5y0Ffp0HkoIiVarEdDmUtnTlxXBq0coIxB9nzgI 9migZowb5+CViYGqIZ0ZCvz8pe+mJYqC+F6F/gTEVhOtpCo/b1IxE7bse+mFPECd5KRN wpFNptgbQ97jx0Frsj+JvRbCMwrakwCPdVhLSKRn2+QfBh6xd+PBqUj/BPK7RUxZZkFP HbejLy4HuAEth47tEDe3pthYHtmUhNp4Ii9J3bo8Fjn+Z4/+seqEki1Jq0ZaWWqlEuhT TiuNrQZibiPdSEdHz8AqjWfwzhOStrnFNE0A8g7l5DQ3Ojs40AIGDZPatFRE180kzFjS c7Mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QPZW5xok; 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 g14si3386904otl.258.2020.01.11.02.03.20; Sat, 11 Jan 2020 02:03:32 -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=QPZW5xok; 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 S1729094AbgAKKCa (ORCPT + 99 others); Sat, 11 Jan 2020 05:02:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:32780 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728819AbgAKKC3 (ORCPT ); Sat, 11 Jan 2020 05:02:29 -0500 Received: from localhost (unknown [62.119.166.9]) (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 7918F20842; Sat, 11 Jan 2020 10:02:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578736949; bh=/EViJGYuFse92XYSVCsg7n9J7XgD2T3CK4T0Gd9E/EE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QPZW5xokp2lf3rm0RISd9NwO2PX0nle5nYNND2HKYz/yy1/0GwlJC3FHbl6CJNCzF CbxNXS64Jf2KqXm6VOCKEznLulZoiXUKW02ziRWh15G/nEtcQjnquMY77wcfTWsf8H XIMuIh1K0IGiRNPdUFuBm2FeYDoWGkYimPYslWng= 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 4.9 36/91] xfs: dont check for AG deadlock for realtime files in bunmapi Date: Sat, 11 Jan 2020 10:49:29 +0100 Message-Id: <20200111094858.636450376@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200111094844.748507863@linuxfoundation.org> References: <20200111094844.748507863@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 @@ -5688,7 +5688,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;