Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp16284ybl; Tue, 7 Jan 2020 13:11:29 -0800 (PST) X-Google-Smtp-Source: APXvYqzGIwFH2Q8bVKBk3h6QoiYhWUem6jY2cwRpowLM+A5gmgDPlvarzCpap93xnPkQ5qpdngRS X-Received: by 2002:aca:4c07:: with SMTP id z7mr373795oia.74.1578431489843; Tue, 07 Jan 2020 13:11:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578431489; cv=none; d=google.com; s=arc-20160816; b=bx+/EwoaNtYBIa5cMyjKcxyBJg+/dWOVA0FCO62ydbMq8L2eciIAzRiu2RXTsC/u/9 1i/QQR7PMN7AT0RAk3BENGOyB7pNME3EIoE+mRskI8eatZZC0zy8uV3YT2RlqzLdOIuE r73WBODQkEuF/sWkKLMlYaRqTwvtmpTH2k7r5hwKqQqM6ro94sAoP4IQS4aa979yFfP5 rjakLK1CfVfcm8wCtQDtee6yxl5N8fXpAn7NkfeREn/PgkrVlTHqqzrun3NVK4415NAS dfBdmg4Ri4DR3u17YJ3/n10tTrNC099d3SaBIHfccUO3RQCYaUDb3piy2CnaRa680SyH wTrQ== 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=vcEFlVwB4hmhfnoEkEvQXTtuYd+DbOkem26HSlg1FpQ=; b=U0Kuda/uHhfb9n13hbZIcun+yM3ceW/ShfmI+PFEGRx3qyA0B5otJyG7UTpbYtfSJo BcFQbetnVXUl0AfrUm2NnzrrC02wgC7eyUdDg4tpHzrVc1cuBCadqO+2Yw9dcmOYsTtF x7luhniy/zOeBCQD9I5stah17mqF0PXOOA3NpT5qHXSuGoFK/ZQq2Phgxguhu9d0Icn/ 45Vezk4Pd3TNHxRsiaoW64GWELplO5q68Gbn0DQ9ndGtX/5StJsssaHek6wIlrzQmo7U DBQL7bG+Z7/bPcrd8zzMHEITwouP5Ou7bHq4TCjI0mam3n7AWsn1tukdMGNefaYDZTw2 TW0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="z/KvLC59"; 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 b24si575556otf.34.2020.01.07.13.11.17; Tue, 07 Jan 2020 13:11:29 -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="z/KvLC59"; 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 S1729966AbgAGVKa (ORCPT + 99 others); Tue, 7 Jan 2020 16:10:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:36976 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729806AbgAGVKY (ORCPT ); Tue, 7 Jan 2020 16:10:24 -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 1006C20880; Tue, 7 Jan 2020 21:10:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578431422; bh=z+EINHHC8iorh6X6WRZFqPbLw1mYd7aLIVimSTIGs/w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=z/KvLC59QjupV4ZJYl3NlZoTTZrlBWzB1kJ9jIgA2FfH8Wfj8RtwpQzRqZgosXK3y BjtVKAyNXlRe1+0NMljN4C5foMl67RfXpwYGeJQ+Fr48LF1WtrHMx6LVibD/AwcwZT t6vnF3E7Wc/VXhV8eCVTPRf2fyaPA+Qqsu9WL5h4= 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.14 50/74] xfs: dont check for AG deadlock for realtime files in bunmapi Date: Tue, 7 Jan 2020 21:55:15 +0100 Message-Id: <20200107205216.683791179@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200107205135.369001641@linuxfoundation.org> References: <20200107205135.369001641@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 @@ -5556,7 +5556,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;