From patchwork Fri Feb 17 14:48:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shiyang Ruan X-Patchwork-Id: 13144832 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2DB41C6379F for ; Fri, 17 Feb 2023 14:49:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C28206B0073; Fri, 17 Feb 2023 09:49:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BD8C66B0074; Fri, 17 Feb 2023 09:49:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A79426B0075; Fri, 17 Feb 2023 09:49:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 989DB6B0073 for ; Fri, 17 Feb 2023 09:49:06 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6A553AB0C2 for ; Fri, 17 Feb 2023 14:49:06 +0000 (UTC) X-FDA: 80477066292.15.1E30695 Received: from mail1.bemta37.messagelabs.com (mail1.bemta37.messagelabs.com [85.158.142.2]) by imf08.hostedemail.com (Postfix) with ESMTP id 09647160005 for ; Fri, 17 Feb 2023 14:49:03 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=fujitsu.com header.s=170520fj header.b=Av6mfMrF; spf=pass (imf08.hostedemail.com: domain of ruansy.fnst@fujitsu.com designates 85.158.142.2 as permitted sender) smtp.mailfrom=ruansy.fnst@fujitsu.com; dmarc=pass (policy=none) header.from=fujitsu.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676645344; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1Iu3u5+frabq+ciV1X7SE3/U2Roif2mChYvCwrIUtnA=; b=1c7TgOtzh8+MpgbXoz/yn72xfhJNs1WFCTBO2LnM/yY1JCJlfLVqNgpcJ8A5QFlhfYZ66d A0CKy07RKmChO2GMJnO/skwkO04tjGzu7sDSGmsXjbeJsnG7iV7IYJgaONUv2at4Xw8A0r ZKkz3CcEOaKV45h3gu76bMceUcIilsg= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=fujitsu.com header.s=170520fj header.b=Av6mfMrF; spf=pass (imf08.hostedemail.com: domain of ruansy.fnst@fujitsu.com designates 85.158.142.2 as permitted sender) smtp.mailfrom=ruansy.fnst@fujitsu.com; dmarc=pass (policy=none) header.from=fujitsu.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676645344; a=rsa-sha256; cv=none; b=NI6JZ3Zgms5ITpNC4ZLiB2+uINRw3leNjlylvu2pfHZqrwgJRHThHEfZRdmcpZb60RVuCc Q3XgZ0+pWIfZtEFA1RzzE97nbxpdmThRE8+NPVSxAzteNMCSowmov7ZtbC0kMczboyur/f UaDlddWKZazNVtRBdGOAmONEejmd99c= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1676645342; i=@fujitsu.com; bh=1Iu3u5+frabq+ciV1X7SE3/U2Roif2mChYvCwrIUtnA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Av6mfMrFVUfHI5GVDJmpx/viKNG+rVkvMpN2k4ClfAKkbULLSEiuoQKKhlajxui9f fEiIPv72Ljgf0NlBGoxZCTwPoIsQfZjpYokBY4VGBvdGVUGq1upS63pT5e6+jHqEdl hKd58UH7f9+5De7pls8Hf93VeY1IeqjDvoHkFeLWVYOE9gwxbBSraj+p6rCsq7m35M OAIb+DGYvzQ9rI2CiRyeJ1a/vASRM3F7HsSwm+mNp55MMyarBSwkleixqg7kPakjBz WgBof1RljjpdAUNyVwXf/JvE6z4gaG5WvHfymvApEQRf7TNBlpL+Wa+kJ/aq2QUGGT jVVyqhSyNPr3A== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJKsWRWlGSWpSXmKPExsViZ8ORpHt18vt kg/u3JSzmrF/DZjF96gVGiy3H7jFaXH7CZ3F6wiImi92vb7JZ7Nl7ksXi3pr/rBa7/uxgt1j5 4w+rxe8fc9gcuD1OLZLw2LxCy2PxnpdMHptWdbJ5bPo0id3jxIzfLB4vNs9k9Pj49BaLx+dNc gGcUayZeUn5FQmsGbPvX2Ap6OKpeP1mN3MDYydXFyMXh5DARkaJvR0z2SCcpUwSB7auZYJw9j FKbJq8kLmLkZODTUBH4sKCv6wgtohAocSKU0dZQIqYBY4zSmxZvgmsSFjAWeLV7U1gRSwCqhK Lbt0DKuLg4BVwkdh1XxYkLCGgIDHl4Xuwck4BV4mlk0+ygdhCQCUH2k4wgti8AoISJ2c+YQGx mQUkJA6+eMEMMkZCQEliZnc8xJhKidYPv1ggbDWJq+c2MU9gFJyFpHsWku4FjEyrGM2LU4vKU ot0DU30kooy0zNKchMzc/QSq3QT9VJLdfPyi0oydA31EsuL9VKLi/WKK3OTc1L08lJLNjECYy 2lOPH4DsZXfX/1DjFKcjApifIaJrxPFuJLyk+pzEgszogvKs1JLT7EKMPBoSTBe7ofKCdYlJq eWpGWmQOMe5i0BAePkgjv5HygNG9xQWJucWY6ROoUoy7H2oYDe5mFWPLy81KlxHlnTAIqEgAp yijNgxsBS0GXGGWlhHkZGRgYhHgKUotyM0tQ5V8xinMwKgnzPp8INIUnM68EbtMroCOYgI5Yw PwW5IiSRISUVAOTaTRfr+IfkaSwtZzfHON+bF5quHnjy4Aty7ZKihmLduyO1tzwxtt/tmV3Kb 9d7sej9/+VcsoyzLX9q26v/uS80CGnXhfrDMNWeWNn5xieOcpS/5q2Ne6r2tUTLC88bduxsuu CjKxzN69rfjV79QfWt0VnmP5qf/V83vJkkikfg5Nu/PdFH20LdmZeYX+c16N6RFNy0bVdeZFr zcOkWzUT7RiPb573tI37l9fbrtnzDt37WG10cdXFlp+cG65d/VfE+kJpc/L18pwoBeurLaVf+ LltxdtnmIlMaLiVpWjIc/eM0FSPxE6uuYfCzO6U36jkla3l1XfmEWl/mLHscH7/D87nk9UWMj 2S6r/ZbaDEUpyRaKjFXFScCAD6qMFzvAMAAA== X-Env-Sender: ruansy.fnst@fujitsu.com X-Msg-Ref: server-17.tower-728.messagelabs.com!1676645332!261550!1 X-Originating-IP: [62.60.8.98] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.102.2; banners=-,-,- X-VirusChecked: Checked Received: (qmail 6204 invoked from network); 17 Feb 2023 14:48:53 -0000 Received: from unknown (HELO n03ukasimr03.n03.fujitsu.local) (62.60.8.98) by server-17.tower-728.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 17 Feb 2023 14:48:53 -0000 Received: from n03ukasimr03.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr03.n03.fujitsu.local (Postfix) with ESMTP id C36931B5; Fri, 17 Feb 2023 14:48:52 +0000 (GMT) Received: from R01UKEXCASM223.r01.fujitsu.local (R01UKEXCASM223 [10.182.185.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr03.n03.fujitsu.local (Postfix) with ESMTPS id B55641AC; Fri, 17 Feb 2023 14:48:52 +0000 (GMT) Received: from localhost.localdomain (10.167.225.141) by R01UKEXCASM223.r01.fujitsu.local (10.182.185.121) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Fri, 17 Feb 2023 14:48:48 +0000 From: Shiyang Ruan To: , , , CC: , , , , , , , Subject: [PATCH v10 1/3] xfs: fix the calculation of length and end Date: Fri, 17 Feb 2023 14:48:30 +0000 Message-ID: <1676645312-13-2-git-send-email-ruansy.fnst@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1676645312-13-1-git-send-email-ruansy.fnst@fujitsu.com> References: <1676645312-13-1-git-send-email-ruansy.fnst@fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.225.141] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM223.r01.fujitsu.local (10.182.185.121) X-Virus-Scanned: ClamAV using ClamSMTP X-Rspamd-Queue-Id: 09647160005 X-Stat-Signature: wdt8b1sfzzcyay4jc4s6gib5h7aasw3x X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1676645343-553907 X-HE-Meta: U2FsdGVkX18z1pcH8rQv3UIwe1ANEvNtYzeI/2V80FR4E4LudVbafABDeGM61VNOLjxeb1edRkv/wLdUPGUaFUYNYTDs2iaX7GnAsW4/lKxEgsuyHDRuOWPOWCSh30AQDlMn3C5UjB/ss9VmqUHvXQjbZ/4pCy4hWBy5kZM0ZCWPr8RYuElQq9VH+vsbWh6Cell0lHdp12M9I0zABqRZuCAtQmf2GPKfc4NitmUFnQ+XH2dEsnfF1N9WlIB7Glk+l8ogc/GKkDU4ITh0VPFe0pQvrzQpsuI3ZaGZf2mQo/EteFnocLcgCVFWDy7mrsrk3ZqtoNLMMwsWIAReiVU4QkcqiW5pzMrQhD/EZHNsPJFogMB7+DwEn+GeocMgXk/f+Aq3KLLSgg47RcDkBXEG3JNwLIHEaO/Iu0/7Vos+Yh6QSgm7BZ9pi97prtf0ieV1TmjJkuvDyYl6h6VncW0ADsqSgGIv5Yy/tel1/fNhP1/yHh+cobH0t0YekllAWJWlrei8wB6f5bM3dfKR8WFCdae8siPXapSdICtRYbFtXoQgpvjsUOnkTKv3Rhu9kvD6dmCNtKmtiCmBwO1L9j9VgDBFFtrL83X0VwZUvkcCJaIT8/MCUqmb7n+Nl7RhA8nlFpiYDXQNWSnMI2EV4CugpmxBNEBx6Ggfj9XUJYgVtGdoShAjtDKY4rIE6y6EijmPMCTq8XQaQVLJJaGSUflq2YLWrDXjk9N7wURDduAvUNXGDwQj5KKpZDyRww7l04xGJLgjtCfxoFXeWWXopI/pU1XWDms6OHpszsU1o+agLUXjwtMiyGAvxI8vvcK4ZNWQ4t4AzBVXD9bQ5OdZxHATddtFlU334z8j1wXbkShkNlB7xP2XLKq5nvZBGNhif20/biqIT/6PRtZ3VRV80xYue0aP/8yNGYkRbuZHtfCOts94ijhz3ugt9/AEMqN1s2BJBXccA7epFIHbW9dy4QA zruHdT3S anxo3bGuq65wDoU66y7tV3oMd1Q3DmLZqHr67WmVl9pAotgKkbyjHmBgh35xiXebBMf476Q6o6J3egvM1w+JTt/LiIAuxA8MW4BDy6VnYsqXHvBxUsRgK9jZPjPQHc328mt0qpfEuUXoVlW0vTmFQHXt/fhg7kg/mktILXs5OQqyQKFKFt+CLCm8ivjCTlhN5Vy38fI5/03TWwvUab3BQtnQt8jVVc5vR3bqWXxmY2wG6e84Dz+CowO7rD7ncmpKfbE2+ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The end should be start + length - 1. Also fix the calculation of the length when seeking for intersection of notify range and device. Signed-off-by: Shiyang Ruan Reviewed-by: Darrick J. Wong --- fs/xfs/xfs_notify_failure.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_notify_failure.c b/fs/xfs/xfs_notify_failure.c index c4078d0ec108..7d46a7e4980f 100644 --- a/fs/xfs/xfs_notify_failure.c +++ b/fs/xfs/xfs_notify_failure.c @@ -114,7 +114,7 @@ xfs_dax_notify_ddev_failure( int error = 0; xfs_fsblock_t fsbno = XFS_DADDR_TO_FSB(mp, daddr); xfs_agnumber_t agno = XFS_FSB_TO_AGNO(mp, fsbno); - xfs_fsblock_t end_fsbno = XFS_DADDR_TO_FSB(mp, daddr + bblen); + xfs_fsblock_t end_fsbno = XFS_DADDR_TO_FSB(mp, daddr + bblen - 1); xfs_agnumber_t end_agno = XFS_FSB_TO_AGNO(mp, end_fsbno); error = xfs_trans_alloc_empty(mp, &tp); @@ -210,7 +210,7 @@ xfs_dax_notify_failure( ddev_end = ddev_start + bdev_nr_bytes(mp->m_ddev_targp->bt_bdev) - 1; /* Ignore the range out of filesystem area */ - if (offset + len < ddev_start) + if (offset + len - 1 < ddev_start) return -ENXIO; if (offset > ddev_end) return -ENXIO; @@ -222,8 +222,8 @@ xfs_dax_notify_failure( len -= ddev_start - offset; offset = 0; } - if (offset + len > ddev_end) - len -= ddev_end - offset; + if (offset + len - 1 > ddev_end) + len = ddev_end - offset + 1; return xfs_dax_notify_ddev_failure(mp, BTOBB(offset), BTOBB(len), mf_flags);