From patchwork Tue Jan 30 23:43:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538366 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28ABE7EEE4 for ; Tue, 30 Jan 2024 23:44:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658270; cv=fail; b=WeO7f5IKPsyDP1cJnUCZ80Mh96/KYEd5mI43mo1MFeJDUjF5V2u3x5NCGPnY3E+hOh+ntFPNplw20kcNu7AYJrS2yJgM8gtVK9tXkMhBGEt6Sb2ntLpfoA1SP43Mtw8YJ7DRGx+BhzyaRpXwjyctBWa2JiSMiyDCAD0fsWS1aVE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658270; c=relaxed/simple; bh=VvzN4yu1fmQ0VYqSjtKVezznRw0LavjhUkFiu0aYWsM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=hhzIOgCayKZMGHIen2QfRB1Ujnqqm+o4EtAdTo/C3MXifk3P9/TjJifmlzgSENZThiXZ3a4nrTULiDaK84YJJFkPNXjyEhJz1j7eSk5BDy8Ozat+QXKGrxNhd6jKYcee7kUfeumjlN2BDNiSbOJoE2f3wQABPg++Rfpq3RuN2qg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Q7+IEvK2; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=np2NaRyG; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Q7+IEvK2"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="np2NaRyG" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxZer021705 for ; Tue, 30 Jan 2024 23:44:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=BlYNkxjGWSfbfZQ+XxFjmVB/mlx/td51hSe1ITYbYsk=; b=Q7+IEvK27HxVaNClUFN9uGqNdh6pQgMe50Zh+ZqswVMZb80GSmAVv5EbYSRwPPy/Ik+H ZnDllfaww+2Tpk8ti9gHAlozE+18yZM2SNkBJUy/iLXlzEGhNtCQ+TRhqPSTHSevXDFY 5f5nM54pTmzdsc5Ce+O/hyx557U//ZizmVcqkqpEOTqZ1upQn+eDJzXdHmazjD2zte7K EatM+v0ZHBv4eef888tKDHKrhiJUheKVvC4FXQPPFhZXQ4/vbPzyPp2MBn3jB+Nng/Az VG9WXa2ll2JhkEPYGqiMM13v+jPpyQzbwgI8O+yG9GyCan26WtyZA+dDN48WYZlDikvG MA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvtcv0f0x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:27 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM0X44040253 for ; Tue, 30 Jan 2024 23:44:26 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr987yc0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V3cTClpd7v0FWR6unmtm3v5nEphDACd+arQy8JCEZbw0QfJEpx5I5YRr3tRxRTxJxwK5OfXsgmXEA1UHdCWHlJNUCy+cBsklhOHPOGO9RWo/ElRaN4Bo3vOvu95WCcyEGMRVdmOAyJY4q73E/LBYIFapVXvBYONtdyifAEpQUM0noHlQ9L/rUr3Wb8ubKsRsmyF28Es58tYngfXhlv/CJHT3pFDiXhWaMiMKf7Dbrfo+OYbC5hI/ha6B6tuNcW5UKah08Tiiy4A34da1wGdGq8wKjF6bdWRHHk8PX4ojluW7GQDTkcLZL0NqzvnnuROb4oWqOU+eHy99Ce6Wp56svA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BlYNkxjGWSfbfZQ+XxFjmVB/mlx/td51hSe1ITYbYsk=; b=J9kKnmX9yOyAze+uOxUmbH+BV+SUe1aZlLcOfCMqGhw7aPC25z+kjOejK1QwjLE8+evW+0/uRpA1QtAVM0YSA3oV9+jPGYBxgHmGggjurZ/yGaFn/BKr1QIiTZO988s36M9ITIDswbrfj0B9iiRoIEtg22yQkKUYxmtNPXdIsBy+9mUX2W3p4crlduM/rIwbBTffbLeEsS8dvTxCmo7ix0wcJmNn0JbH9ScEkEERyZw4ynDsLnaLEZ04Fnu/Qqi/QTsPBtknBRmt22OpZ5JhQ9Eg+GdKyTQMuv2JkC6iNUbzbg5nS3ffH+ua+3Xx71ta/1DVwBKely9b5+VKn1eDZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BlYNkxjGWSfbfZQ+XxFjmVB/mlx/td51hSe1ITYbYsk=; b=np2NaRyGRkjpKogGZ9SNjmJY9XrTf2MIZczkjkywBYVSFbcqmTf5NkQoysiWvtwvlIqnUFNUaeEu8NeqSSAfCuujv0BUOQM4fHcW82K2MQvmnCxpJxrO4fCaI2vQkwc/C9rkPfaH4DsrVv/7XxXvHln2WIr4V6Sj1y9kahs4o58= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:24 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:23 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 01/21] xfs: bump max fsgeom struct version Date: Tue, 30 Jan 2024 15:43:59 -0800 Message-Id: <20240130234419.45896-2-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: BYAPR21CA0027.namprd21.prod.outlook.com (2603:10b6:a03:114::37) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 461b2ed8-a362-4fa6-aa84-08dc21ed62de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BmxV4f3yDjbwt6pBi0sVzrcAQRXRwTAZOz/mfIgv50eFW9g3nfBr1MvTCOFcKtBWpE5RVekC+6ale+VRWMs8fLUknXJMBXJEVy54RMxgFE7VplS4GWfTpa8XzLWdGeKfhBDe+1VPFih3fvi2ZDacG0X47U+0oBt3/UTVo3YfXkmqy9LuDQuN0thxFn0AgPExsDAzJ9DOyWmKGjRE4FFyP6FQ75NjsfXGSdMMeP7NVjfqbCXn3+PSZdTtJCoixGKx/V8nwYLkDkw4gCRB4jb95+envxPS9WBHBTJib3a0As/sbiFnygxokxBL+r9QXyPqfwoXeE/eb2zTvHMRu3FLLMpQLznY3/uJQE9XEUiGBJCleA2QMHQkU0VitMKg8Cd3tTna3akbje0WbV6I3awhMnJnJhe/1cRROouDu6yWAbns+M/6q7qOMwB3LrvvqYDOui9dTVF3WfeDWMbRJ3x8IF2w/N7w94TM4kPxua8GFt4Gw1Ss8ON7dkVcxgLHeoMtUQj/y9UJ9FxgVM/uoix0evlX+w3THQHnLW5hn1bmmsiS6n9Pu9QjOLcwZ1TrnDwn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jAk5rkJESa2xvTtVIU6qgynuXWIIJbj18HXlPQKwwbqms0dDFvUiXnksvp5bviyrq1qxYx5lypbdz5WOOgGCxV87Waf2W+mmFIzKsZzzAf2dg9G2jPxS273hSk3pZekzaazMEYSnJCxHYNdAjzIyBAsX0DGANR3/70hi1/ixsh9clRqZaVHEmBSwlrcCmeR7mK9kd1Q7nVqUO0f+WGDvUoP5Cl+0b6H6xvqNVPJa8KTpbHKenioZBYGynHIVMLLMD68EyGy103PztxochOzoqEs1XS4Z7YOBwauej4wQlwvm3afa5RngEAuqvoKGk3Wi5iLN+BHNC6s3rPfUqp34z/N/4DWDfzp1ob4Jrn/k8iAfhS3pLz/MIUdUHOjQ4IEXDcKM4JqlxR4wMuitvph0cRnPCVjJmFz2YqnA5tdrZl2oJSVu3Ao5aSIyImh0VFa+BRQfdip//+hLbfql6DB58ozmA4mAHdDJJxFZ2Iz638uo2KhJk5Bcra4dN6w9Sey9lK6UsRa+Ot+1VmE1gYfqQEjCu/y9RJP7tpW/vov5UuQMuXYS+x++s58hMAhqBbZOP9qDfMFtyvQ08FxGLUUzyaC6gPZewCWwO0U21VeFxApafPPr6cOwOVsPOnLVkEks+HNFvYKDNXn0eLfxhjLrn6HbCKHw6RZ5A32WR+vjB8aYe/tX5jrZd1fjtIs2iQzV97nJyRQC3+Nu3kOSUPrhHVlG89vd/KFJ7jj7Xo3pUG9qXLF7+V0pt2woR+Pmj7A2d9XP7vsm2VGYXMTKKHXz4xr/bA9AQLDGwNAEy6Almdz65cVM77GLBMc7l9gg6gqVX7SHVTo+BJeI8+e+Q1rABdsFMytiTEhMnIWuMnUK37sQdOeRkfEcn2Vn+bYES2b3iyK5vMXKHbNDU2w4WWgjjNVdj8rba693UE0M9GDbSb9ajGd4ejb/3wrN6/1ss6nFqT+Az7btCTk/bKfqlYmUU97yudWsi9MVmh1JTAVZdX17ntucy+/KSRHB3ZnwOyZ4zRcQcUCAN8/s9CzfaILDkuzwJK9xNc5n9lbtK9LzjrLFiIbo+xjs/N/LB9DsOrChmx8v3YlR6SgIw10BzyIceazyxv3h9VRT+BwcP98e5Nvt3g0PlHqzdBIVhGKeGmQz4OIbLHnRgbxuTFaoO9SGqbTrFzVpWWq9yvmyTusn4PlDUmALbVny5qcTzfLnnYV3GToEOfs4FWGO3M3rgboyZrl8AYlSyXCeu+EZLo/XRROLBExwh2hU/8ZtpV/2mz0ZlGrJ6teNagjhzAUJr4Lh96wT3NkSe0lcUFaKMGLFmV8gFeBN+7hZ6OCpnOqs88MFa40+yNLBn7aDp6l5X3EbSShX+5cFD0HsXRt5pxYdikOtT2E/FO5nWjPK6f0RLVAaNq1gUG5ZOM437TlbvGaGznQI9m0gnG090T+UQ9u/lB7l1IReo3zlqQybSHqFl7koh+8ahCCOPXXru+7E+PD1tihLGX9D2LJRtwQEJ9ney3UAv03Dt/yVUSUT3eaA8uk5eX67AJi9H/XPQ++ihxQePtwDBWtDaaxPfw5H4J336gAgpRu84DNafrDBf/cF95uFTNddbDlx5eN6NxvlVOybdkklMoep6qPCMX+C9E/9U53BXnqkpqi8zyDw90RrpnpP+j4kLBdeYi4kj5ejZ1ryyg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fNGtCgPLLN07xhz6QHJ+UVI8jMZty3/B0eTg1BlV1nr4pwsuadSdgt5GAwnp4nQjzf6jp6R+CttU+GIocD90lQQXniz0asLnDzwXLzA4T9gpLgPO80GsaBQd7+zTuZdgHJoimrbr/oYSR8nCRZxcpAjg30k9Ds8nonMpeEmpc9UhtQ6H1K0U9ZsVsSW1vvv2HDpR3cq4V5xs4/XX0rAD6TeE4GRpmjxjy4HFfyGvYVA1qLQr3hd8G1hENV73i/3h99KIabrLbn7mrgcqvN+2y9CYUY4cu4ePp1ejWpgCrSoeSwp9d+oWB+o5xaAaptQvQAXwYilb0yrLUgSw2wDZVJiuY60l4Pih99+JZDlTddDKEiYI2UHKA1oqBhxyI+jOBJpKIApv8/DgbsExYi+jPU3e++Ivhn22AyEN/LT6OgChihjs9+8+3yHJH3l6Xt8bUxkWrNl+Dqds9y/ABLH/yA6+KVChAbzxfjiZT7EaeZmFhT06EkbDBxlubJtnM28j8UboAQNOGvMKEyYm6kSeDKK6lytU+TU0G6TEiVdMyvVTjkI3P7iLlwptXK6lDrhHPP65vAaLE2TtjYrejK/rM72blYCaduyFpDqHRQpDor8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 461b2ed8-a362-4fa6-aa84-08dc21ed62de X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:23.0659 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TWRHxld/gMpTMsE4pKNSh7f/65pGGV4nBVtdjUwWUGyBFa4LQ0r5Gzol8o7hkn/vsnzyiP/Ey6W47H7fcYkqhrsbs3DHZEoz3SseIRv4TNI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: YjM0-NePGx91wHjOdxokCEKzXAWcunkJ X-Proofpoint-GUID: YjM0-NePGx91wHjOdxokCEKzXAWcunkJ From: "Darrick J. Wong" commit 9488062805943c2d63350d3ef9e4dc093799789a upstream. The latest version of the fs geometry structure is v5. Bump this constant so that xfs_db and mkfs calls to libxfs_fs_geometry will fill out all the fields. IOWs, this commit is a no-op for the kernel, but will be useful for userspace reporting in later changes. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_sb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/libxfs/xfs_sb.h b/fs/xfs/libxfs/xfs_sb.h index a5e14740ec9a..19134b23c10b 100644 --- a/fs/xfs/libxfs/xfs_sb.h +++ b/fs/xfs/libxfs/xfs_sb.h @@ -25,7 +25,7 @@ extern uint64_t xfs_sb_version_to_features(struct xfs_sb *sbp); extern int xfs_update_secondary_sbs(struct xfs_mount *mp); -#define XFS_FS_GEOM_MAX_STRUCT_VER (4) +#define XFS_FS_GEOM_MAX_STRUCT_VER (5) extern void xfs_fs_geometry(struct xfs_mount *mp, struct xfs_fsop_geom *geo, int struct_version); extern int xfs_sb_read_secondary(struct xfs_mount *mp, From patchwork Tue Jan 30 23:44:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538368 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7148B37708 for ; Tue, 30 Jan 2024 23:44:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658270; cv=fail; b=tzojtNlcfXcVbM8yYvfF9c7Au6twSyZKPtXmKa5WSFzgTBeUsah0XsuT2ZS93tnUKHfAjkhf7EGwOFZPcw3yGCGVR/ZZa9teVRj8ofx6r2wOAQIE7WKKpgMUh82yyq9FbtT7c4/vGvrma9DShJsx+fJ8lx0+DI8EaX4yOn0XYhY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658270; c=relaxed/simple; bh=eG8awgkBXJqira4uL1/ZlPFLa/Fs7ncDGlTeGM5stEI=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Vfai32vpx7mBpx5t1QabwwwWs567EqsFo0ZGGUojoFZlO4BQ8TvfCKrrCkuFLMqPPjO6E4OFG94+b5Kslqad7WPQiVSNgv/4jA9tfhPnD9giEXyvoFNqkKUM6lrQK/ZWqWVnd4Llgt+jA1V4rzvUREPPzGqMvsbX8SuE7ffmRmU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=KLsCIlXf; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=l5mQcAXE; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="KLsCIlXf"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="l5mQcAXE" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxSTD025981 for ; Tue, 30 Jan 2024 23:44:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=WtMU5f9cz3oVb9hB8U3CqlFrG1In6pQNeER+/0nkoMM=; b=KLsCIlXfbkC8BDlS0AVL66mgL4DIP2ddHZujmYN7TKQjvibCQAA2kHJAz1p65fXIRku1 JSBtWCariEkNV66WmRzpliiuoIar9fkJvG7OfEVCKIyElmEN7XNc6QDBNgiHUxk6EVGf 3KdNQgYs7qOnQxK2bPwXBNMjPsxPE/S+PmZ42/cfIXP1vAwmS8MXRu4Ffb0fREf7GAWD tx482OO8/3gmDMGp11I67MpfkN1H6/8+djzIECimtDVFovL1JKA8GrD20m9eCE4ZO+D8 ggnKUmHK50cFe6RidEQf7OOx7CEjAwnEBgdhDHLksmVUJ1LJe5CCmSuC69f8PSE2EGR4 Jw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvrrcghk7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:27 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM0X45040253 for ; Tue, 30 Jan 2024 23:44:26 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr987yc0-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MXxM12iO2G6vVmmVcb62LTpWY0JMi58ikCIRCLaPzrWQepnDDkNaM6xWY6KGzP+Sob7u3zxl1JbByULfur6sGZE9/rHEguBb+vXlMXjdiNc14ca7jv60urFBPkbJscHLZeMZIJ1KGfxZqg0vvC7s2aESKUZx5uzLf3oecAmzAXSSJ/r06Qh69BcywuQC6bTSxJ6fjbFaEYhstKNuQzLfzlkAoFWLkDdJ/U2Kj38ELTKZOBeoxzNIH4nrAvOlzf2S+DNJRa4gV10tZlg/4zc319YBFzAhUEM8kni/5z5AsCz1an3x0e7t0BlHk6zbg0Q2GsXh2z6H4v5gJ7B5/Hnizw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WtMU5f9cz3oVb9hB8U3CqlFrG1In6pQNeER+/0nkoMM=; b=ZSVvBPUbv0nD4rm8jSPLE1R62Teh45Q2OQJwukIMptbMveBUdO8CWc/gKQzLqIJfwMGTE46SD5p6O+jdD4U9LNoNFHteBSMXzb0xqZjbbG8eCy4wjBVigo+0WZIbdXwKAQ4sLJxxIeNqNSQ5MfnxYe+8CzyMNWM+/S46Xx7DyZr6incTXKQ8z+/RX4pA4TzJ7r9PyGKO7FkWm3haBKpxEvvkEUBcyDo2NwBFKFlg1/gVr2f8LzYslLMsR6g7lROKj45XzFHObpFleFS9aIn7ZiNd8mgpe2pHBNHpWRTgO17583YqILRxWsyg53IfVsa69vlLb9grGIWqnlj/7J2SwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WtMU5f9cz3oVb9hB8U3CqlFrG1In6pQNeER+/0nkoMM=; b=l5mQcAXExJ72ocdn+E7Gn+krLRKmVfGF5bIEXDx4p1wWAygG/ZeLju3JzTp20mlY0gqEGu3hQ/IT5lLhmqrNKXzjJO5gOXKHlJVEk6zZetZtbR9VIeUWlYg33YOrL1eo23Ka7UOQyk+knzKhfyyhzMCMjaluvUFEs7hTeC7QKiw= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:25 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:25 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 02/21] xfs: hoist freeing of rt data fork extent mappings Date: Tue, 30 Jan 2024 15:44:00 -0800 Message-Id: <20240130234419.45896-3-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: BYAPR21CA0009.namprd21.prod.outlook.com (2603:10b6:a03:114::19) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 1915f5c0-85fe-4fba-4332-08dc21ed6416 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pYo4lYSb8kv7/eA2LKsBRoMogzZZ1NEVonsmoWTscZCVL+vZy70LKnkO8KBJmHDegh5gOyqV7Sk4uW4EjuDTpJtiP8HvsBFwLERtD1piCtybOX+FPIUn3aA3BV7MmUwCWKQo42AqSLtxG/3mBgqJGbwsLwVzMJO9abPj4bSTjygzrqPYn0SMszm5a87Y5eW9Uo+ku+MYYfl8y7MHqIImWTLcxeNm2ME9sudweoqWsgLhKYmSPcoHG5BdDCm2YlT0im/0RnID+f9WPdBJvx53QCFYN2vdynFX29+pXXGLsetdArVXsYDY9TAdZeCQx82nBbi1k/uC2vNS+Zy0YAfdjMK7ejMOyngaN/0GVJCiTxvPi7iirf5sXTj+YOl5V/ok631sesDWWv/OiwU4GoYdL/MDZ5imEN6+nPBER6OkjXXCKXa2chiO9GH6mK13GjSLFll1YSMCHjTFWeH2IzvCNAegGqxPMMdcBBHgUYEtsfcLtIMHshyLs3T/3qLvrS6hvCjiIzdzmizZQOSj49LRmqTUf2rZIK0FXSVTmdRMpAADVE/jfkP+L0g0bN+WfPLP X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EwaqaDfW7DdFnR43YUqLIkmQTWScWCaUoIqGQGbOGSP9mWfaXxaKyvbaXj3ctsXk1CApJ9glJ/NY+R0a4k0DMec7RDXuP8PPhD5SRqmEP6hi9ecztSku0OLqaLedi7HVjEuMLma1LT4A0/QbShvIX9uS5BSdvUICmu+p6LuoO8+pMo/8xUEWE6zWkQ0dJRT8wb2pLr/nRnG3w414PNQ2EuDSgVN80ZtlezAdxKjk7UlBHcJAQram5LOmDMkHCQrITpEYcvcFPBylqRJ2bYskYZ0Jyd/9xIGPElyFWemWugn2NezGbpQlT7taFKKMt+de2F5TtoreXNF7esNyrrhPpgg4qJ3QhxQbXFSmT8CkGSXKHTGD3pE1uCCPz3Jn3wQskJ3EpHHmQwupC/+H6H8kYkD2xQ7UorhKNkuHSfYg6+HZgNNVGakfZmChVUN4lYEbde6Xql/HUMis0EnjGRF2GH7AWgfE/zHsNW2ea8Xigm74ZYu/6vot9qZH4UadDl2T/REmsyQ8vRqUNTW+tPQzKYCxRfaXhOEXUr4cLyqpBkj8ydyGWGj7F2HBINPsh8+3JcVX7vitKcWuUe/73Hj3me8IywDPpojTLR+1v0cPnAJUtElQs4h2vw8nGO/aeAAU8jVESkRkpEboLOVeNpv+Ug+tmZAnhkIV50GeA3agZLhxgOBl9ae2f+SXmXKq/DhcCFLHEZXnzHj/uM8xpcKAGRVshvKP/U73FKD/ldJKRUyKzPshqbbpmGXyAb0217H5MEEyvmmSraDwD7JmeEAyttgZtO/QVtSeOk5bmstrfIz6zYM2K197wIaiwalJsEvwviF1j6Y4aHe8ZI1B5TAPOF+Tyfr7qbJ8ATKMqQ/XFGjiNe05wuQ2DQlmVVfG+2Kh8NCi6i6Eh1TYDBvbFPGhoUXBJmWqQ8cTsShIRy8LaZA8jDt0fWQtsJGjN3kQ+c34y9Tvd7UINIsmHiUEci083TQT4hGOkDLbL2Y3I2Ag8s5UKAg6kowNpDYrz+zcHocfwtOU55PVU6ySA1lgFlTu5ixlv+RZRmklFccl4D7vmb6U2qvtuMLCUK54ddtUHL+6n1Guv4WCb8E9cBFIIZ6aF1+AVumvXvl94R+BDeUlS68aSBVNaYCNCPP08Hq18iiKpo0bUklccrDahMvEsDulcMGUIncER6iWKBMglwrj2rNGaxsUPY/CNYqWDyFV2v2JdO55PnAckIO4GsxPFHXD8EGo7SVKQt810yGo7Xl2RG+2UgN/E3L9AkpyuHlo1IGVCgdp8qPM4V6uT0JfWxmVakwvaR8e1sdFUwQyOaEoe4Nf9g8nt1hNsorbXSU8aXkNG+IiXAbLu4kV8vOWnu8FprtVhdj+VFBfHHgxdaqDGXDOsejHlgaqjO8XONkQrCpTzz608EV12MLExs2hMb/P5WcpX/xaV8d6VwpFoTsrPV4vks1UYtojlbhqGHjDKwfkPsiNS7LhWnedWUoByGo67YmiLz5DxneKQ6gBWGdQn5KWphGRy6+Zf6LJrjNBs+bNN6iAMbKBxeo0hxPpZpQyKG6kPRPpAOlDQHNexaRmHKE1FP9l1QoDaHycCRT06nQkwmADdQ8iEHIKcbXbNA1gMKAZCmBicWldTZ10l0VnNkijdQ5PrgKjVdwirNgrnnLuMhy7SYifFqgqIjpjMQ68Mg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9WgrqxsvY0UmpInBj5YH3CDUe+oJBcAJQzjZagZmlEZAq0QgV5/cVnpf3nxJVo0jmAwiRTd+rEwauKt1BRI4Zn/1vQJL0TR7w7Esyb0OKJZuACVVPgSgstyE0s/wPtWK9PQs4yipjKh6w8psyvyvMKdKLo1OqFKiiykjKLSKUw7wuV9Yyc/8hRN6sd4TF9aaIlooUQbcTbsFhrmSt+NyAuwrEyKAN2Vpk0vHNcov1uQ3yDuOg50sknSk3iHo3+itE+GOVsqOAX6Ip9JH39AVZ/1jdZ40n86A5S0jJrz+IDiUcI4TE5uKeH9WJZSdDjGJQIb6tcDcgPCPSm0SzsHB+YvlSgww9ATE4dQF4B0hGzT5W3POB3pBErEoX06qvkNFCB9u77Hsp0Dau8lJAnZdldqrSi0Y3pSE7kAxmMjLnYNwALM5Fe7L8A/Nt8sWhpqxX+8HDxknMNFcUh+QEDB5t9BeYiK4bHporDpP/5hu7IbDZIRbfomKstnksRqEhzV9zR5FXJIaCviwJu9dn+dFe8G6awqTF3NsR3/b4iDo8pzPmlGF+HDiex9p1nUosrjl/tzyoziB7tQj9rcSH/1Y/9lkA1tvdamavFmJir9qlss= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1915f5c0-85fe-4fba-4332-08dc21ed6416 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:25.1345 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qbKtNKxsiDcYrMuJ9NwPTXScwxD9ok/IdM3iK1t0Mie16rUXIFioarz7oUnN1M6xBp0/L1/f6HTcXBWH9iT8KIEUg19aJjYLzhfu1p8/7nU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: RAVulrRPW_U7-E9gxsCiYuBKkUnt-M19 X-Proofpoint-GUID: RAVulrRPW_U7-E9gxsCiYuBKkUnt-M19 From: "Darrick J. Wong" commit 6c664484337b37fa0cf6e958f4019623e30d40f7 upstream. Currently, xfs_bmap_del_extent_real contains a bunch of code to convert the physical extent of a data fork mapping for a realtime file into rt extents and pass that to the rt extent freeing function. Since the details of this aren't needed when CONFIG_XFS_REALTIME=n, move it to xfs_rtbitmap.c to reduce code size when realtime isn't enabled. This will (one day) enable realtime EFIs to reuse the same unit-converting call with less code duplication. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_bmap.c | 19 +++---------------- fs/xfs/libxfs/xfs_rtbitmap.c | 33 +++++++++++++++++++++++++++++++++ fs/xfs/xfs_rtalloc.h | 5 +++++ 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 30c931b38853..26bfa34b4bbf 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -5057,33 +5057,20 @@ xfs_bmap_del_extent_real( flags = XFS_ILOG_CORE; if (whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip)) { - xfs_filblks_t len; - xfs_extlen_t mod; - - len = div_u64_rem(del->br_blockcount, mp->m_sb.sb_rextsize, - &mod); - ASSERT(mod == 0); - if (!(bflags & XFS_BMAPI_REMAP)) { - xfs_fsblock_t bno; - - bno = div_u64_rem(del->br_startblock, - mp->m_sb.sb_rextsize, &mod); - ASSERT(mod == 0); - - error = xfs_rtfree_extent(tp, bno, (xfs_extlen_t)len); + error = xfs_rtfree_blocks(tp, del->br_startblock, + del->br_blockcount); if (error) goto done; } do_fx = 0; - nblks = len * mp->m_sb.sb_rextsize; qfield = XFS_TRANS_DQ_RTBCOUNT; } else { do_fx = 1; - nblks = del->br_blockcount; qfield = XFS_TRANS_DQ_BCOUNT; } + nblks = del->br_blockcount; del_endblock = del->br_startblock + del->br_blockcount; if (cur) { diff --git a/fs/xfs/libxfs/xfs_rtbitmap.c b/fs/xfs/libxfs/xfs_rtbitmap.c index fa180ab66b73..655108a4cd05 100644 --- a/fs/xfs/libxfs/xfs_rtbitmap.c +++ b/fs/xfs/libxfs/xfs_rtbitmap.c @@ -1005,6 +1005,39 @@ xfs_rtfree_extent( return 0; } +/* + * Free some blocks in the realtime subvolume. rtbno and rtlen are in units of + * rt blocks, not rt extents; must be aligned to the rt extent size; and rtlen + * cannot exceed XFS_MAX_BMBT_EXTLEN. + */ +int +xfs_rtfree_blocks( + struct xfs_trans *tp, + xfs_fsblock_t rtbno, + xfs_filblks_t rtlen) +{ + struct xfs_mount *mp = tp->t_mountp; + xfs_rtblock_t bno; + xfs_filblks_t len; + xfs_extlen_t mod; + + ASSERT(rtlen <= XFS_MAX_BMBT_EXTLEN); + + len = div_u64_rem(rtlen, mp->m_sb.sb_rextsize, &mod); + if (mod) { + ASSERT(mod == 0); + return -EIO; + } + + bno = div_u64_rem(rtbno, mp->m_sb.sb_rextsize, &mod); + if (mod) { + ASSERT(mod == 0); + return -EIO; + } + + return xfs_rtfree_extent(tp, bno, len); +} + /* Find all the free records within a given range. */ int xfs_rtalloc_query_range( diff --git a/fs/xfs/xfs_rtalloc.h b/fs/xfs/xfs_rtalloc.h index 62c7ad79cbb6..3b2f1b499a11 100644 --- a/fs/xfs/xfs_rtalloc.h +++ b/fs/xfs/xfs_rtalloc.h @@ -58,6 +58,10 @@ xfs_rtfree_extent( xfs_rtblock_t bno, /* starting block number to free */ xfs_extlen_t len); /* length of extent freed */ +/* Same as above, but in units of rt blocks. */ +int xfs_rtfree_blocks(struct xfs_trans *tp, xfs_fsblock_t rtbno, + xfs_filblks_t rtlen); + /* * Initialize realtime fields in the mount structure. */ @@ -139,6 +143,7 @@ int xfs_rtalloc_reinit_frextents(struct xfs_mount *mp); #else # define xfs_rtallocate_extent(t,b,min,max,l,f,p,rb) (ENOSYS) # define xfs_rtfree_extent(t,b,l) (ENOSYS) +# define xfs_rtfree_blocks(t,rb,rl) (ENOSYS) # define xfs_rtpick_extent(m,t,l,rb) (ENOSYS) # define xfs_growfs_rt(mp,in) (ENOSYS) # define xfs_rtalloc_query_range(t,l,h,f,p) (ENOSYS) From patchwork Tue Jan 30 23:44:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538369 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25B537EEE4 for ; Tue, 30 Jan 2024 23:44:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658275; cv=fail; b=ZEWKdVVO/u+QBIsaw8vXLxUbwB0d6Cy7VD62X+8jpqxSoFQ+pL4FVdIxwFdyVs0eCjqoYFzkSeQtYrHDg0+anfpp8hbPNIGDeC6BOXSy8S5G/u8p40E5Bx7+uTThYdRd3srzAR8pEMjposd7lfHxATeDa+hEh6uY+jZij5jaCB0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658275; c=relaxed/simple; bh=lRpjgFQMQWbjh6ZkGtiVxygUvsSeURvFKoxMTZrCUvw=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=bz6FBsZz1iQ9mNdx0OaNa4lIn2T/N5+5fIWqXoCcr1CPBOH2lHPNWPoXwdBRQ7N1DWfshFFerPLYllOZN26DGye3aw7V+/Plh2G2ThI2rp/U6JtpxrOFKAOj6WA6F4WyA4hoiqntdQufKt3z8cKqhBbEoXlUzri80U34vqhW8aQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=P99sgeEh; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=irzS19yV; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="P99sgeEh"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="irzS19yV" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxPfi023742 for ; Tue, 30 Jan 2024 23:44:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=vA8fwPw/gtnmEWpERlcWOfQ2TjQ36X+WkUwZvqYm/j4=; b=P99sgeEhPmYJ4hddY9E1oFfMeDCbAkC7Pee1JW5hEV6hNdtX3KIo84dN+x3J00FxWooi 8tMvloCSsI7yFLHm12bNvFcKEG1Al8hVF41exNQ1NWWYCUouV+apc4ye8np3c0uSL0fv t2D7EUBT4hYS2HFxsniCRxtbTW0avljhe/XBvxZcM+Ij7ilLx8JIaWzXI9+E+CQObSLA AxxerRPiRG017dPOvFxB9Mj1VeG+B3k/u2uDB8241e+p6Zu1FJq2esX52IfFYao41cVo gs9wKfEmBweloQ18KCo74sPsKaFbVJuom6w3aQG5pk3qyNTs9qlZdSItXUEt9NHNlei9 BQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvre2gjjf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:32 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UNF6IB008488 for ; Tue, 30 Jan 2024 23:44:30 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9eh1k0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iF6NgmzSvr34zEcW+zS5Y0mgga2XFdl4Bwj/QNiwCAiwUPrTlWqOE0VVqvsTcwRFuxmATb02pnh12JXfLPcCNO7IdUJSLiTLs4ZKgQSoXjsKSZ4ak0Gou90zWSda/6W2OOHultxtnDwTR/xwOKukNTAUQJ15B9xZA8pOrj6XdViWnK+GMz41fVgaDKzxn5nj3aEVLFGfLpf93QIJHdDPiBsy+O/YWob2RVl8A1W/oVZ+8pgmlR37C9JwVf7c5dqmokaxK8KRoRAWdI2nudEXTmWDRqqENvfy61B/h0LDH3SStd2bR0v7qwPFvjUYL4V/cHi14uzvoyl0gh7+yiZKGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vA8fwPw/gtnmEWpERlcWOfQ2TjQ36X+WkUwZvqYm/j4=; b=Yu/DM+XrzB04O+EwY2iviYCeNQxHCgeHITcyyRpuC0Tep63bMT/I2m6Mo/XHPcsBtZFlGKtNf28yMfcu6uJ2MXR3fsnmpPH0Khe5YRu/srfMq6+20bJvpe7lodsJejt9KH2husZnamR5W0VinAIl7UxzY5d8zip/K7bk0ORIs+jdNgnyM8mB3eHAaqZIiwPsFU1EBOQoqCfnNpr/KA1crWOBwmylViQAKf00ZFpepJ7iSBo1H1OubUrGOexajtV9krvR3jivL35zYNPFrmA53HPOc1Xq417b9My2wIEQwLgXBlvKuxROkNolq4tLZ6d3ac5JX1bfs3887C4ylULc+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vA8fwPw/gtnmEWpERlcWOfQ2TjQ36X+WkUwZvqYm/j4=; b=irzS19yVyQ5+zmVAQ2aiHDrNz2kkJHny4gprm/UFm2qs7K0kUmvwk2bpZ/ptmj4LBA4/o8Ta4BVR3uWWu4esBJQGmUDedWbRyG1bBDlMpV3t2YY1spvxVrJdz9hxkq6MO5FnUYgaIW+npdTOZpg1hqwr5ysrJfVK7WsXtZ9hapw= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:29 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:29 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 03/21] xfs: prevent rt growfs when quota is enabled Date: Tue, 30 Jan 2024 15:44:01 -0800 Message-Id: <20240130234419.45896-4-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: BYAPR21CA0019.namprd21.prod.outlook.com (2603:10b6:a03:114::29) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 44e20441-f2dc-4093-85fd-08dc21ed6675 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jZRDTWFFbO+ZNhfyDdnpSYKhsLW5rM83S+1VFKiX7Rbs7eFZ9rtltCLu4hTSEZU7G+ELU/H0Fb2EPH42LIOB2P2L9nOi5dLc+2cy+UDU9AS1c+o+vt3Z5UX9BVfaF83EgRdAKzWlHKfTgJxkWVqH+7tITzhA4u1v1cDDbFCi152SrVmXwjf3DxuFSmMJH5wobMZsrm/E8lrHsnzLOUwLWobL85nuczias2eUe/5nNzRbROWTa2rCV6l3XAhBAYbQ4xVnWHMyBlO1MpFZZixGSHqdV+y+bfpqXWhqmQxbgfvCIUsSdeLPbFjv2fFAxE4BmXqiJeQsjvhtWgG4T2eLdEbNGUTOwvWFhKhQaen5uoLI9rHBMPUFcBUtaDNNgcaZ7Dss+B0ytkkVqslziSbtUoUQn9xmxuoZnfSQij1pPC7eie5p3ft2hL2ojtl2MAw92LIcXDBtLVw5616zb2XLBeWKff92Qsp2fohAidTLftSodnHdbZquFGwymm1ci7mv13ER/901QLD+bncUXoDV+VFh12E1CX50MZfrydYIEWm0/9cFR1rnVr2YZZS52ccX X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(15650500001)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SJQQ5NF7uNO6IH8XBPqMqaHkeumStvTmugGLDyyG498/wA93u67bHS55mwRLm/6QtqucXlIrTOE4Jk+zOvdYHO+9H2Nb0EHPnyJ3julcSRNF7zhMWrtR6oRi171/dgYXlIXEFX+UAC4LSuzTucLPWZQ9MH++J9qqW/8vd5OQSt7ZDHt2GuIbw5+uJWfGT1y3VUkJUqMC3mTsCsS8C7oJCes2w3TXCQOx90qaRvmTErrQfXaT/6nCF8p65ALLVamXxaxBhDQk2AMmO5lVKN0oTwEZ+zqqCKFa/mY1PoqH2dHxOYuomBa/THs2sj60VpnGLosWvi0M6zYQjhRlbaG4ch3hEJ9F/wercHEtkAax+qWzhSlh27/JsPUh3SJQSDMIP0541sBJUxeztUrgilm1wdMeinakftm6/+ccRa9RgWcJit7WtR32Vev9P8Xoxyy4FUwozIZnOypB1Yduplsq1DnmZkiXuyMOsJCWtLlfU71AuGQYV9KuOEzyb24baPVnlpY12yCLATP+G+4I85peFQq5rJ7H8n5XHksfU0pIa3+9HN1SPM9YfkkXezFZbpcbrdoVBhHNyym6UI+/iL3izNWH0qGne79HfBZRwiHQviNDsAUEgXRTiuhjdIF4bElp+XVkhZv+ZpSppxbRqd9tYonYjko4ZR/fdTNo/D1tVsVPwrFNwNp6AdgLYlQPXZM3ujuAoH7w3kKp85LaUJQHYYBlzkOr4usVmfLKZDDTp9HlGx6gDLUnKVfqm6oywcPmYt+7MK63iEZa39JjmkIXsrMoaynG191yUDMPXo/g/B8Kdj03iuB6E68j9InJwwWtEJFAUOjtrJlZeOH8ogqLXocnlOFTMOy2bv0GnxyXAuWPhvr50h4zbFhYg3ssp9F/cuisX+YhS6SPmmCMyxkDML6/aLZoaCudp1Dbv2gA6qKOFR1VNeBFNmZRDtAl4ybJoVaLyve6ZLCdFJrpNm4Zfa00G3by0gJUaffL35iAanOWUqf0Zs6CB2Cm5S0YnMyah+hufkJ+TYEOV9dDvUXvrbzTr2qg6ERWHdXlLW0Kc+LSkCgT4lYao74dO4DjpjF1ctQJzHmySImv7PS/Qyu9xGObGDPe1XOA40fRPN4hz4Fy6rnlroMRyrAGlWE1VhLq1mvOcmJtzzBlqYNIOHcnYMVqFlYYTi2rHrJsx7SBOX9Oqu0sloRdc55E95ogsxaVsQSpEMx6KQuXB145f525K/5oi4REtkqyjSVmhl5f/9HEA2ZebEifKPkxW5FLyoH8D/vdE7DfHpT1Jo8n3Q8oEL4lHKzJtnaNonrEF2xAnMoej60uafufhJ18qT+ictw2Y6xH693Fp/jtDnX5kZsAb00WOOWMjR1jSgfj9xzoXlC91FBTG3QaLP4d6M0GYKaNzXNBrgSV25sM9odc9Ism7ZRJwh+AVLF7CzRwWBf0xpXvU0ZHP6LUHTIUO/zDQ7dNke4/e0jHdc+Kn8cbUGlOeZxSGBtmlQBTrJTJ0CU+HIY7CjljpsP/fggWXTX5s9OKsgw1ARb+r0gnnEkvQ1DjStxyvLt9D4c9NMYiNm653YOWdnqWZAtQdshWDFz6NvEXi2b5etn1SHLy7WI47ZAvZ6KY5pR6qUOg5UP6cQWAfZYzjRcWwnV97kGL/2ucVA12IwWi5yKst/XTM0n1vEx2sQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qAp3Y6rQG3Zjm+q/cwUCmomZ5FlvvbmPAQrKD588aNMwfB3cFJ0PV2zpuQ05CdITE6y9ZrT9POrJKN5NsuVTxFiY6eFWFJPYLt9hPDE3Q2bWrNeNeMZtTq6S/8nN0i3xu3kWQ/2GYw8wfCBSp1w7YD+WVRTc/UDOqp3DcL8ZdCyjBSzdkIA+dqI7ZwxguVcXgP9+fmueOPgC0SlIKDkpla9x1wKnM1OkimSDM/8OuNmWPWZltqfxPR+PTUfpZbwm7uEX5OBll3A/uwbXNiG+tMFFJJZutyf/PTeY/Rxzkzs8lTyvK374qUJCC39KljRM11XWQm3XYSVthXYnD7hhAtOy7WF6gXluGObIElGbF/ofnS1s0JlBwc67jXTO6uX7f5Aw+QR/QVrbb0TCUetl2CioIz86/d2BrdGBp8AGb1RhDH8GPc+qQRp9js+kAqvYCnHDqdweRUFKR0yfG5vIFAvXQRw0DzeEy5tIowxfC5OPRLTc0N1dZzqeUWIj5ppj8F0Mlw/qSQDBu3OhXi/bV8HJo9tjKNtEquo6TUGSq4Wkz9wiFnysXoplaqWotCUPQPN7p8wNyC13W6f/PVsQT6DQvUcG+ngrz2QstP7qF/8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44e20441-f2dc-4093-85fd-08dc21ed6675 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:29.0530 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: a+BOvSghBE65kWmekb0CtZvTctkyZz8qdLkC6L23f3GFUlDfXGPMPfJbTnlUnAdZg15mXMPXdisZfYslIUV8jJFw6tv6g4Tyr41cO7HrKbY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: Ck93P_YqWltDUF_Xspf5VvVMg2EPxmDS X-Proofpoint-ORIG-GUID: Ck93P_YqWltDUF_Xspf5VvVMg2EPxmDS From: "Darrick J. Wong" commit b73494fa9a304ab95b59f07845e8d7d36e4d23e0 upstream. Quotas aren't (yet) supported with realtime, so we shouldn't allow userspace to set up a realtime section when quotas are enabled, even if they attached one via mount options. IOWS, you shouldn't be able to do: # mkfs.xfs -f /dev/sda # mount /dev/sda /mnt -o rtdev=/dev/sdb,usrquota # xfs_growfs -r /mnt Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Catherine Hoang --- fs/xfs/xfs_rtalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index 16534e9873f6..31fd65b3aaa9 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -954,7 +954,7 @@ xfs_growfs_rt( return -EINVAL; /* Unsupported realtime features. */ - if (xfs_has_rmapbt(mp) || xfs_has_reflink(mp)) + if (xfs_has_rmapbt(mp) || xfs_has_reflink(mp) || xfs_has_quota(mp)) return -EOPNOTSUPP; nrblocks = in->newblocks; From patchwork Tue Jan 30 23:44:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538371 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1A1A37708 for ; Tue, 30 Jan 2024 23:44:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; cv=fail; b=KMHPSH+emaXvGxOqAOJZHkMRo50Qw0InFh3xcjvF2bcXTZEXOjMobbZI+mGPl7U8SBF1oM1XIWoXf9fKtgB7xlfj0MfAw9E/O6HqutjR+y91lTnqQkfs6l7Mh/I/UEGCv2UdB9Z09CB4rXX4AmFHTjkEsHGCpk9k2+nRtCNJ5oM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; c=relaxed/simple; bh=mEraLLdjAqgQt8UqpWEOY7nP6XS/EykgEkL/tLOGET4=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=KA2wkfyVgyTG/TkdOsG3KK56SsXt5wTfnPyEK3koVHyRKd4ulB6LgiNBgd4OV1Cd1Uj0dGVA2xM9p8irs+FkVkQ7BIfxSETic5B0I+eYV/mnuDqTWJUe7cStP8uiah2MSuCIqX4wjq0Ek1wkO+3bjIoR/Dw4M0COrC2aMgsoYQ8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=CyGjjTyv; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=kiMIQuI/; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="CyGjjTyv"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="kiMIQuI/" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxT2G025999 for ; Tue, 30 Jan 2024 23:44:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=bYI+mZNChQBgr/ucopMGIvCAUQzi4CBOh2pHbbZN/vw=; b=CyGjjTyvZ/iJgI3HZnw4ISIH44o5aI0wK/qatLfrz5vM5p3EqAqqdGweHHCFFFkdJFff ROEnMegGMYCgI8eCpUpjIRef454V8QT8nG8x/++cWVffa1DEiTtxz20lsLiC/Cskl6L2 5NIH/z4uU2vnSqzjJS57CJ94qXutG7YLvfOyDhlzSVmjpePSnaWeBc/4YvvuydewDDGQ hAVUcp85a3tlCJCDGGp3rJPaZ/OjOkaaZP+Pem4RMYFKxtMzS9/qfDNl+MRHGVI97QoA kTZXCYjDpHe+Sph3cdoSKeqn/63C76/n/y33dLfbTmwF1r+A400RdpeJVBPol7ZRg/D8 Pg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvrrcghkq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:38 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM7lKf014564 for ; Tue, 30 Jan 2024 23:44:38 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9800uu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q5xH8RQC7M0PL20jEyzBiPzukaJuR9dAnhHUcl0plazvB3tSURlL5ag/ci8+kGUW0MbATunDfUJcSTGKWXvHMI+I+Nxp2WWoZBI9ynSqD3epUDkusM9J9DtnL/U84ID2reaUXLTbelG6c/l5a4uNG+f3eswqszvelUYnTFTRVkideR3UyAZsiZcWJ1PxluX1eFthfh8rx3BmQBfRjqhaxVvA+BjFnvZjz0LT1+HmwbAL0KTFj2IGq/ezp9yum07PYfAgzYVp96L+W2pLzz84eOsJg/M0bO1s29mkF5yPTJfpDDCjQR5d87N2c4WWSKOSYPNe4kIYhF1Apk0o7a5YHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bYI+mZNChQBgr/ucopMGIvCAUQzi4CBOh2pHbbZN/vw=; b=EZKl2+z0R/YQqT8tkZlNSi0EZ0owgJrFb/XpzSWWkFeE46dOdjTgvW3cdvAcjMlxkY3Q3JyrXFovmyeq26XMhtruGl58wqsyG/3fj1acjiG17P9+9Y52kvDvnoY1OJOGoHQ/0wRFthXTOcEyjaFxSWTGyMXPoDlech4SdhNKcstOPZkm4/7MJLZgc5FZc/czR71q3rD5ydQqj0E1/tKHjImmzugknaWIqUqnp6qggLDrn1Y9ur2likmY3phqinLlfOKFKxHzawr0fRad0J3A6rXr2zyVaJDGOt2olN/lib0S9h/cHnzZUvzgeopeIc/ulg8sYqu9b18n8jldpQxsHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bYI+mZNChQBgr/ucopMGIvCAUQzi4CBOh2pHbbZN/vw=; b=kiMIQuI/FTBRFmLYJEe8UXSmDtvkcdXusNq/i3qOZW2dFXyAgaBkjUOPKtvHbqC+iEOsq9UuaqEE3gANQ25UAdPHZJRyqK+0A9rJUBe2ehB1Z89tJnXWT3RdjaXOZds1B9PezLyryfqp2YWoet+CUxusS/P756MgrVXt/T1fNnQ= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:31 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:31 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 04/21] xfs: rt stubs should return negative errnos when rt disabled Date: Tue, 30 Jan 2024 15:44:02 -0800 Message-Id: <20240130234419.45896-5-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: BYAPR21CA0020.namprd21.prod.outlook.com (2603:10b6:a03:114::30) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 0495778f-73ad-48a8-869f-08dc21ed67a0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4W8JTiSSgEo8VPWgjVqzLs1OBZ842CyWBN2gXA7oD7FM/kBo87iDqs03wC8+a/jGxz5R5dIb4Ko8xn2FuDiYgypxbEDMpwbtTbHlUjQqXOHaIEjX5qUxCZltI48wB8ASu0GqHWJRgc13IcIbqatKP6bNLr4w1SBCOVAkeeyqFnbNlOL/gjZjxz3gx8AuyBln7AbHfQw3LXSB5aFiQBoXWWo+OMA1dkf+4H73IRh39Kw/l+aJ9FIBfs+/ZaCAVNJlUkbSagY/E0JV5+COc8GQh/P5YdbX4i59uxs8O7tMz3uPRnws1K0SjoqbdoQLQ8SLdN3KyYII3CRbOXSnSlkjE6hIxx1F0yNU9XkS8TlbdJ6SFL/pM/aGcfVkcgvuKJUANeJxxhfXV/6HFvlo0M7i8EwoWbWE5t8T4bhH3d2y9ArSp6VKvl0naiA/1QHfIm4JCfo8yr2lTLuq/jOxdvo4vYduzxFXgZJjouuWGLPVygi1B35TrLFLGwXl7VmYtUzFY9m8yJZrJEAOsZoyqbq8t8hcIRWjcd1XeziWYI63C76jqqNVUJMrp5XYj30S603r X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6Hql0+X0ljnF6sF5vvg++JPT9wxKbpX4JlPxLZ4yUC5QiD1ss/q+dW5Ku37eJ6oArAtre83dz7oDYUcdEc61uS6iNo3A2J8LyXwWVMVb6giU2+ogXppD1v+/dn0h0u0F6pycBWIfg3baS3ivilE6nWfn97xZafpsaXU5xF72ZkMp4xULgD3BFtTmDuk4IB3yw5aPjLnaLSi6rW7izLG5M0xm+FjQSGzmn9slVCG6Da04z3azURw4I5sL50yXNmAon9IWrO1Qdi9Cq3s1pKR8INooYzryJvUZTFgVBXKmF42cPJsYLIpVMijLu1lh/9TtbfnRmJu5Ge3X9eI861iyD2FvjZvZf7ExTs/SelBczsT+QnL/c9Eb9+Sah8QL3tAijKfY12kzHASIuuTbdjxf+mIWYcnxSncLhEguqkoTANXhJHopTSuX7i6xlwnD2nipBpNtOvY4617RTdMlR9zCtLy2JjocKbtf7n0sCJGfxc2hFq/L6/iT9opQkltrFl/Ix6aYnz0HhWPAJYunlcB6fAyMZ1R6K9tA0VN6BOKaOCB1qlTXHBGEb0c3+6873GKbSSmwV+5hyYmWdD8MzIdQWlfWeSl38lTdI+Q07PcZrrMMC9zcMB17KEasw7y4OSDDGSC2LS3LFRAuf0+wyJFhSeKLWJvXSCVox0k9wJMhMa6MvN3+/IUWNKkHjKYji8R0d+e3YPFOiUGWSB8DjC3JWpNZ8yDiOyZ2rOj320d3DIMgNDPwlRaMNJrPET/kzwsTq2l2tl6v4Zg2Xdn0k5jJihRr0DsSZkG5R7HRkaXa7A38a89/uufeOLuYHYfHwcfyUf8ELpoUKA1nSwhE5gM6rgA/C+V1gM3+ZcihFjkevKaktymFfMdKNmTGzqgJHQYm/mPB75zMGfqPAuracHkqBkEfx8sHYvAHji7mmMc4Re2L78c1Cy1dOlaWcGxPDQVoXLSeL4GhlWhNBbJ+bfDeiryFDzvLfiVgAH7JhKvDW1n9Dg9VkWW9SQHMPVwLUtkvNgiBBRUM9RE+mLY6rYiBSjyaQZ7ZaU/RSH27Z2YSl8PBfzf5+MDlcK2H4QnASPodW4SmqK4JExDrtfhTchAI9kicb1zkeT+2nQywd3Xbj1UIKCD6o7DN3GJeStp6exQRebyhxUfLFzVjLOHcwTZWoY2s6DFoZJsS52bCh9007XGGQIko9mnZjXKKYn1iSCBSgBL8lfEeflWSYQlTnibSTDHgqnBAVk2d35zPBTHRVhYasXXAv3vSWwnoPH57IkI+gtt+31hKFgGKJEGZTcPfZn/3oB4mREPUqihH+dcQ8Hv8ASEgjgm7aDo8gpnlDdLWq4+NGwX15cdcgnBAgWW6X3GTS2s7dqPcDzMqriFp54/tLYPQVN5o4pfIbq7Xp7rcm8NBGf/XrLmlDjDICTu9tBvt8uEYQksgk12LwoDAGkGsg+0LX43UZcD/vdawjpvTDaa7W4WOIG0rGVEq3QJZkW3oFBosNtDYWnmOMOoG/7rw2wrXSxa33r2T7Eyc9Ov3pD0/29VRitSLRekA3FcZ/6ciHI7axOlS6a5PrxV+pQFF/jOhwD5ejmGV6iGHHGC/CHABduUh+xufuI7KJhO8i2wb9Pnw7aKyu4+MaUC0feFvKBDodx+ISMpwF+Vu+I9ArUgTls6REbLh84/E18SiCw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: C/qgWrb1sFdMrGrMJCCyRmBJV90upcPJv4u+KyZliA0s4lUmYEol2BTBIfBM6amuQ8o4cBY7HOE+V8Bs8C93DT68B6kWPPZzTckmRx7nGFc5QItvkkBaDnjw6X98XdZlu6WVgKHc49uG9VOQzoNvwGkkIG9oAlK5VQyJDcM5Ix3lwKfDeEd1TjHySKXnkAGPO3UFy+ZmEHvXZgr7uRSTdTrUY7Esu8+H0Y70dG0sppuXK9VTrwgEruhdOOavertWAIvR1hccCzwTQ8/bKFZ7grfQmxjXAhZ/3zM4tTSorjh3cr3P6zot3Th1y6SBnOLAVD3cqtMby/0iN4Se5U5ji8HqzlBRxpwh2HEz0skueBZYcFKVMxS+qaBFOk48bZ1t+2N2Bn6P1whHdvuBfpcI/u2cpeNRcQ9nYSUlfayJtz+Qc9QyaCmXKwsN6dq3U/+PzJIU1PLjd7IZyambNBixKGlMrUhmIB4xzjjt9IMEUk/E95TLJpAEehl/A3Ipfi4XVFPoUielyyoUZShO2LBWhmrqbnGwk55rN5VDMfqLGY1J40jYtiA8UfrG13JSwxKSCf/YgDxvzYWFhKivs5yC3YhCMadXGNKVNxhIZP98gng= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0495778f-73ad-48a8-869f-08dc21ed67a0 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:31.0840 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DAPl+e/AhAVn9wBNTgG5GguO9vc/RM34+5zv1Aa1bkHDUSnm0zNx1e+L/2kUl+XxEW3YYmV7MgYBaDcJY7E8cr54BWU8qS32lMbJRGhiBhc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: tSblZflADOs8nTRcnq4uje0Vt7ngehmr X-Proofpoint-GUID: tSblZflADOs8nTRcnq4uje0Vt7ngehmr From: "Darrick J. Wong" commit c2988eb5cff75c02bc57e02c323154aa08f55b78 upstream. When realtime support is not compiled into the kernel, these functions should return negative errnos, not positive errnos. While we're at it, fix a broken macro declaration. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Catherine Hoang --- fs/xfs/xfs_rtalloc.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fs/xfs/xfs_rtalloc.h b/fs/xfs/xfs_rtalloc.h index 3b2f1b499a11..65c284e9d33e 100644 --- a/fs/xfs/xfs_rtalloc.h +++ b/fs/xfs/xfs_rtalloc.h @@ -141,17 +141,17 @@ int xfs_rtalloc_extent_is_free(struct xfs_mount *mp, struct xfs_trans *tp, bool *is_free); int xfs_rtalloc_reinit_frextents(struct xfs_mount *mp); #else -# define xfs_rtallocate_extent(t,b,min,max,l,f,p,rb) (ENOSYS) -# define xfs_rtfree_extent(t,b,l) (ENOSYS) -# define xfs_rtfree_blocks(t,rb,rl) (ENOSYS) -# define xfs_rtpick_extent(m,t,l,rb) (ENOSYS) -# define xfs_growfs_rt(mp,in) (ENOSYS) -# define xfs_rtalloc_query_range(t,l,h,f,p) (ENOSYS) -# define xfs_rtalloc_query_all(m,t,f,p) (ENOSYS) -# define xfs_rtbuf_get(m,t,b,i,p) (ENOSYS) -# define xfs_verify_rtbno(m, r) (false) -# define xfs_rtalloc_extent_is_free(m,t,s,l,i) (ENOSYS) -# define xfs_rtalloc_reinit_frextents(m) (0) +# define xfs_rtallocate_extent(t,b,min,max,l,f,p,rb) (-ENOSYS) +# define xfs_rtfree_extent(t,b,l) (-ENOSYS) +# define xfs_rtfree_blocks(t,rb,rl) (-ENOSYS) +# define xfs_rtpick_extent(m,t,l,rb) (-ENOSYS) +# define xfs_growfs_rt(mp,in) (-ENOSYS) +# define xfs_rtalloc_query_range(m,t,l,h,f,p) (-ENOSYS) +# define xfs_rtalloc_query_all(m,t,f,p) (-ENOSYS) +# define xfs_rtbuf_get(m,t,b,i,p) (-ENOSYS) +# define xfs_verify_rtbno(m, r) (false) +# define xfs_rtalloc_extent_is_free(m,t,s,l,i) (-ENOSYS) +# define xfs_rtalloc_reinit_frextents(m) (0) static inline int /* error */ xfs_rtmount_init( xfs_mount_t *mp) /* file system mount structure */ @@ -162,7 +162,7 @@ xfs_rtmount_init( xfs_warn(mp, "Not built with CONFIG_XFS_RT"); return -ENOSYS; } -# define xfs_rtmount_inodes(m) (((mp)->m_sb.sb_rblocks == 0)? 0 : (ENOSYS)) +# define xfs_rtmount_inodes(m) (((mp)->m_sb.sb_rblocks == 0)? 0 : (-ENOSYS)) # define xfs_rtunmount_inodes(m) #endif /* CONFIG_XFS_RT */ From patchwork Tue Jan 30 23:44:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538370 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A199D7EEE4 for ; Tue, 30 Jan 2024 23:44:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; cv=fail; b=XGtY+PWJIcYAHlui30qQUsz83MgG/WFjbaqQjXaAW+OGfupGJ1zddkucflZrUmhco3wxXDigSVtX965679e6DQuJ7Biyze0ps3t1nP0gGRm3JV/5pY3mm3oAv6RlmL7Dsy7Q+fP6qHdklkyjYnADzLWNVfOx1SDfcvXB0O+yMsA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; c=relaxed/simple; bh=6NU8jXfF3y1dMdGjBwDfsEPQOv2g8hDn3+JdauLKzoM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=o4oAX+qOPGRvZ/PvsqigH31aIA7Gp0rFtHxQAj9eNk9a25XYGnGK1pTnhq8kXhUX92dkw5cYi4Ng40TMxuXCZ0isSrBkV2O6kQ2zYFwcXpUqKP7z77L1DRemCCBi5qOrknEmURhQRv+Ekyb9ugeUJb7xFhqhjz+W0NL6och9TrU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Vge3l6F3; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=K65uaZpe; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Vge3l6F3"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="K65uaZpe" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxPT0023727 for ; Tue, 30 Jan 2024 23:44:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=F+IEb7c+21Wxpkhnb4dFre/qwU36rFvNI+SL7WfsXpo=; b=Vge3l6F3Ff7fLzQmQEKI+26ZN+u+jIRWo6RCvKMyozF3078Jsh4PaQTIAS9i8jjMZO1n uRSoTl7gGqs4h78yIcIal964bY/pCKm7NiE2jhY7qH9x1juZqACsKaWIRIN6iAteGYV8 0ji4NDE1NSMyMtdNT9azH8/JhWne0CKRgAY1jTa6x1Bq/JIbNgi+E35QkQjFeYUr9IeG Oo1IREaKDPJxbIkulci390axeEl8rWo53e8r+afa2oKXWwKpwufTdy3/FwVToFtVdrUM zjrZ8u7h2qjuj/RWoU/81ho4j/JJ3eefowqSs0sSWQqtrI5UZkq117Pd/xnemLKPBxlG mg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvre2gjjv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:38 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM7lKg014564 for ; Tue, 30 Jan 2024 23:44:38 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9800uu-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z2qQFVXh/jtEHChiBF+KJpkWETKOe4SziIcx1E7LLJKIUKbwvBgkHnmjtBUiuW2ZByetIBmGtitjKOSzIveaDTRegpfdQyCyJoDCeqgb1RRNlPUVgJR9rkACr4igKH3Z8JGnBFkcGh7fNU/Z8pYe1Sg0NSc65o7yUntf4kDLlA1eYD7+pzvauEH926I3vkX/fTLXyQOinyB5ST/bS1rWi8K34m2lFqjN05woCB1g8EynE5GxiMDqb0pd09jDDKRyHj50qhv9/eI2FiPBdB4naoqK72XMpKX3H4Fj+HSu8mzR+gm51ROLwF7yhsm8rHRF3O5SdwWwFpHy3N6Y223h8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=F+IEb7c+21Wxpkhnb4dFre/qwU36rFvNI+SL7WfsXpo=; b=cAQ3yrsFHnhp/qbsl7CI4GoRrwxRkieQaTAq61mfFGZ23hJAoI/aVjsLOXiedu7LSWWJBdd788ojSpImED0wyCQLf7U9+f15pF15zJ0+yWcu3P5V7ZFR8DyfTUOCchNKEhTx5pJwusGj3xmuAMRyl0xL0gsovLEQQwk2XOWL09Z7nQhL71ZPVIYidonz+5z73u0JmZkdpzHP4ca6NzzJ1B++YSAll+PP7KAhQyU1EXqRXb9uZa+uZK6J8AcWW5zG+D7uoZ87BzOhheGSSEpgh77cWjuXjSBz09yKxGCV++LEwRgIkaFZwPmHkPMj/3kZirQ9CgFwCfWY2wXbDhUwtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F+IEb7c+21Wxpkhnb4dFre/qwU36rFvNI+SL7WfsXpo=; b=K65uaZpeQxfVpT59zE74jq28mJlnp8sz0YhwEy28yXrdteTFzAUlA/vuYLSnFjw7n3u333+WAX69oB0+gg7GoWzGEjw8cdg/nL2h40k4vcnHbhsm3Ll1W54HhspAsnJWFnPDUv6xDq58NQGg5aNOvNKdNofFzmKFcIzXliUgQTM= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:33 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:33 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 05/21] xfs: fix units conversion error in xfs_bmap_del_extent_delay Date: Tue, 30 Jan 2024 15:44:03 -0800 Message-Id: <20240130234419.45896-6-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: BYAPR21CA0024.namprd21.prod.outlook.com (2603:10b6:a03:114::34) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: ee6d7f26-9643-478c-cb16-08dc21ed68fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JORQdWU7ljEV+3An18K35RLL/6ytMvnKpzAhLGws9prLs0MklgV3lTx3x8JL4MyUOwYJuai6crhk8KLwk7zpt6WEp+kF0EJr7DB86P5Cqz/Fh4CpfuOqBPKh60kLVfHf6Xdqj6rRamEkhflpfj+aqT8ExZSaeaeVoyuZX18FSlVkPMZahcuurJ0MTk9rHHNytMRoC7BySiZcXvjf2Ph+mXhlPSAtn2NAXu6xeuXBclSw7YlNldQutWSEG3J2pP2TcJLki3HgdrizCwG98x1IvBUdL7uNec4OP93wP/1xxsvLJt3MIrAi4Ob6pRWqKcOTYI1I/mM1YiDZeGxBhF/Dn+AZZVdiUBd4HRaH27+a/Vm/L4WsRTLjDO4QqpW6WCNTdm5f4av2B8wvdjG6Ek/fXr7Jek+qc4Q2GemmI/gG4jup5LE8B8cmzDR2Py6dLANuYHtatImWdNcNIQBfgO8tcbx76Mketzfi+fGInFrlf/WN3HUWYx5YmwhvV+S+Ra8MJ3vhZxf/mNmUmZ9+QOBitp/PsIU7dz0BWot0Q6Bv6LqdgfFfzBYvwI81HOrLTgae X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YemgkLXe2fHlhBo8G0gO8n5F41PK0LyxezfWLRnxxMRZfQ8Wpw7WrhLFgdcnH/SE0kFFnW4NHsNkIiADaYQFnOs1QrWLulVVxoWVxF0+XIwymzBOYNkjYQkaoqF5nkSl8f8d8EtfmvKth2WxaNkempuGph695treudMkNyvlAI8uAD1PJS0TYrDPD7SGz+bjiaOjzMDF8UvwvjZlCobrspVoyzFkyV+Rz3ACVBaL4lW+MVJ5ogfbQqeI4bZ4Izx3/nD8HGln5ZYLJBDraGbaH9NyD1BO9RTRuR7BCbsjsYMx4IS2/oOaa896Pdxke5AptCqeHERRwoow9/pZXDDJLMXNT+8EVIrYDdUK7fVayG/8/DXOweT2jFOCArciINcQFju2L0VDurJRz08IBKVngxAQ5QKzqKlLjH6B2prwJjqNVpa/Ee0VrQVKBXhea5GdTjYh/3Ta3iB+e5C/jbM7inR7ms+0EnMEURBcjyRsr6Z+6BhqyE/ApgBixaCdDt3dgxWl/pvDQdo9Mw6D9mzFMlCCnOvzt+I3B2uP4ELEspSTH3zonhJUIF5eDLnzyYMPJuMvzoguYiV8tKaFJ2XKa/wjzlD/c09+69CbXMVEbzGoz8whlR2zytbedA45gvo5yXfbpblMjQe5ISjjqfX9mqMdyNFo/5KwEjBFiC79n+eEmHvtIC2JPuoNI1aIF318mN1i4UcxQMXU3EZQPuPV7JSSI8uSit4stiMiVMucRTk99N2maSNx5bt2X2WNbxzExa6S/Yj+ms9XblJMYg8Eovb8w77U+Q8iC3L1G+nDgnIghl1SP9p2uo6yGT7MZqsnw+42/+u3ypcVY4EF0ju1l8RLahd0/DMBR2sN5O3hfc3S96SbV4oAFV1A1bW19evIrMk6wBcApKpDo/+yQR4d1KNW0whK/3O9Ff2e4Vum0IcpW5QJT3xOlgIzDpiHAmF3AMh/7mvHBCQfqF5l3+LkH9b8pDXA+b9NVNdHL/C2uwprrP7mINIAxijh2TmfPQI7J3vBU9pyZ/FdCRtVMPjsONylUggBPyGHnw/Ri5bNd9MNtLw5E6oeTPedff30Mza+05PU2NvLmxmwglOplf5FsmOpGfCYNR21lupVx7kim52O+1G1c8XTYiLJr3Qaztz1vPYJdcWA3C+u//VHhCKRpOp42wQqHOUIFb49/nb+dCyNyHThP3+/67bxmuTDrsPUGi2PSjRBd+G/dZzRziDQ/B0qncOYRU725zPKypJIdpdyE5FNg5bvTZ0+lnef/87UTSnS23wGq0nZ7sEnZk/HNqj4FiPoZQApR7Wib+mCBV7ZpA+V8q5k34L9D8I8wKB0L5IUzx1QeTQMvxVwrzfH61EpugbSe02WpAL1ZCmbIMrsakL1OhMh/BcVd5mjoTNRMxUBToE7axMTqW8yxD+4la46STigSy4W4k6kIET/d0RaHkF9tzAhXuN1L4I7G7qXah8omCjpVezSo57T/2FN4HjFv2qzt9xKjmCtTjZDhOc/8q0JS6xpIbK8u3Psxapyci5Ih84qpJ04zomJwHVGQENZkNUUdqV2xh2sSU20GjPVSRbe0YzLGnBwiQrXi8u9RMCpShgADrpE7Qy3SPPq28b2Q2WmRM+2lfbKq/TnkpIFqx5H9O21k/NtORVyyoibbK3EoP2GT/Un8Przvw+G7A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LP1qSOwudMx0mBPRuf1CjCsH4ImPel+wLWX0kP3AKyTwxu7Z6HQkUXRKsIp1Jd2fRLGEmfS1g0emgdNUEOmUb8HgO+ydttSpxGA/83kKR9EXMfKnfccFyI5riRRntxxvKIosiUKLbNzf8C5qBQbwMzkyLqa8iCmFyWJPknZp6gsZMGq56hqwxxQJw4ePTxGD9FOHYhDFW7581dziKbM0v/En+qDFIfeunbI7kmSP59J1mDOypFqVy+eA93YCFvz+hlmF9j2zqmdCzBXAzdqX8XXXCBP4vF4sgfFRhj8ff7MPcg16GtR6zkmEvU2C0QeLTE/ASSICnCFmcF4dAFWkxisVfaBkg8S4T0ePlCmj/ZgTnwarfXa4vHqt45FDeCGelf8eCxhVt2qHTom6slq+0iB3m0YuagdJqtFJT9zUrRcHVKtKYe3l6wR2oCRA+Qto6bWWghM+a7WD0wDoFYLI2w1nGGgUhwE1JHwYp13tyOkbBqX9GVnzyHkOiFl2Are7PfheK7vOPb3fzsltfcTVLFPPmLJDZ37vAUVKemE0q7VOe7AIkTs6K2jGZYm2Yd36UYlwAYciCtz6s04bisc3YeDJvgHLMjvktHDNpyX1s5U= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee6d7f26-9643-478c-cb16-08dc21ed68fa X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:33.2736 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yirIZSWfS87UTBV7OFMaRYLg+Gb1WUSekvDzKeCF+QrWGGBbxUFevxsL30mCmyGSZpINJNbLw/SXUMKwJ22ZuP10MrIOw3Qe1eyJmO4h+Sk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: IL1qtIH6PrnmL6VV4DnESmFyiY3Oqvw8 X-Proofpoint-ORIG-GUID: IL1qtIH6PrnmL6VV4DnESmFyiY3Oqvw8 From: "Darrick J. Wong" commit ddd98076d5c075c8a6c49d9e6e8ee12844137f23 upstream. The unit conversions in this function do not make sense. First we convert a block count to bytes, then divide that bytes value by rextsize, which is in blocks, to get an rt extent count. You can't divide bytes by blocks to get a (possibly multiblock) extent value. Fortunately nobody uses delalloc on the rt volume so this hasn't mattered. Fixes: fa5c836ca8eb5 ("xfs: refactor xfs_bunmapi_cow") Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_bmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 26bfa34b4bbf..617cc7e78e38 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -4827,7 +4827,7 @@ xfs_bmap_del_extent_delay( ASSERT(got_endoff >= del_endoff); if (isrt) { - uint64_t rtexts = XFS_FSB_TO_B(mp, del->br_blockcount); + uint64_t rtexts = del->br_blockcount; do_div(rtexts, mp->m_sb.sb_rextsize); xfs_mod_frextents(mp, rtexts); From patchwork Tue Jan 30 23:44:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538373 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D35179949 for ; Tue, 30 Jan 2024 23:44:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; cv=fail; b=DMCUAnaNddLl8l6+R8evNoSFdYHPfQJq/upkKcmLzaXKANWiztpwC3OdmKXmSX4/wIbcpQE/ySdnpBdGw7b7IuSa6FmQZ8XuNnaV/SI4hPKXkwg66Aict/g5CB65CDGsolrsgDDFmdCtvrcmD2XHfsjYz/bhv0eG5s/GhhmQdkg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; c=relaxed/simple; bh=/Vf32951WbjLwk0YzCK67Kzyt+8nZouy4yut0yKV2Ko=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=YG8CMTBT+RJ9yoAXNs1VRQ1OqMIv4TijwPGyzkQe1MwPUtv1PElW+u/NFgc9mQ6HDzon2HYFWQEf6NxH1dE/Q+8Ca0ZezgfJ+6uTEND2taevT4dhoebjah1Ou/g5PN/+koNnbO++0r8rMGrXHi3+F3IB+oPzDSOvehLn2srUp5s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=CSbLKymM; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=GTClQrmD; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="CSbLKymM"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="GTClQrmD" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxj0D030554 for ; Tue, 30 Jan 2024 23:44:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=Zy+scyhp7l+kFH1EaJfPS+TuHkOU/JmszeYszauM/R8=; b=CSbLKymMlQt97pC2wdrOhSXWn/Ngu9wvYxE7q3RYUpytW8D5diXQT1ZApi7KfnVR9Mpv k2u+z3mHLRXUNi0dKvzGniPZAE75jexjBvQhkNppmdOIDhorBIsz43Xv+VuozRzAApl8 ulWCd8+14A3iUguvxFY5xZ/AcS+Uzfi0qI5e+B0bPjR0/QsCfSNbhsoJvBvOwpJ7/sks eXFLAJF6zcN51cQhVMMtUS7/W8xLA+EtLHICuL+0jJfezfr6lAGDYkSdNalOccFFcf9K XC2k/9FRwbl7glFQHn84T8YIOWHgmd+NOV4MdQaN/FSw4lC+q2j+O4+cNJ7Unu6jQbrz ZA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvsqb0d1c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:39 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM7lKh014564 for ; Tue, 30 Jan 2024 23:44:38 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9800uu-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WkuxxNppWTC02ZV6tATu1X0jCE6utFMqh50pev0HUdiqcWqF0qSvGOAiBHM+o0/W5eVRsKkZeHZPFOGE8BaxDifeMiwns40hs4nmrQz9Hnr8TsFdTMhqHTN4Do7R7e7LW3wRpOYS7+AjBQ4C14Z3FoSP6a1xHZOU++P0tZrCkEqkfF/TiYx2kQpYEJ4aRKrIVtaK4mthmBPOHgmJuX4ReSGpH+3rMhu9ZKAbcgvDSQLe+tG8cEDBOpxHOgOjhsA4lAkGSyRvMTitkZvks0Q1tIo4tKqPPn8DcKOJLVKIA+J9yPNDw9Jf1sMDM8HeFy64qzO5e3yDCuSGH/whfVzvHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Zy+scyhp7l+kFH1EaJfPS+TuHkOU/JmszeYszauM/R8=; b=CRlVdX29++yE73fta1WDTbscWilztbtuXVII+iSfM08XsjOJ31tFsDhTvELE5wUYKmAcXF2oUnEpVabOCpf6gQZKVrJDk4daealQNC1ZUg6EIHxFC0KrPUitPCkTZ+C6+sWW2co1cZKlSkCDyE/nC6m4pOwzhpvq2GVTgIbSXjjsoJ8+nh63QWUzta+EJ6nRO3rssqNsMIXU0ZhUAl1LcRGIjTeY7RX74pqdpWE313rebKT4hWa5La+w8tup8G0aA8Qe8a12am9mUEp1978KxpIevhNJfGWN9K6TtBbBuxDVX6i0i4WDkvCO6H2noDP1BCj7k4uafhe38L6oQrKtlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zy+scyhp7l+kFH1EaJfPS+TuHkOU/JmszeYszauM/R8=; b=GTClQrmDvZmQDUMMJ8ZTEglm+kdQT19pJhDkmSjDjC9mtGQSxg3UWDo93gOkgw8D3dt1Ku7eUh7PFRusScV0Q7OtQLqBW/8mJVJE9Gcjx9ZBhtF0QcQjJ8BN7CKR1eyYZo4aE+QBfJzO1jsJDJzAlVUywnReJvYCuyYsyapcQU8= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:35 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:35 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 06/21] xfs: make sure maxlen is still congruent with prod when rounding down Date: Tue, 30 Jan 2024 15:44:04 -0800 Message-Id: <20240130234419.45896-7-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: BYAPR21CA0021.namprd21.prod.outlook.com (2603:10b6:a03:114::31) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: e1141d39-7464-4f1b-d6f8-08dc21ed69ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NwZ8K5eGAYNYzVkMF7vMuSlSR0POOWABzoHYtztI7aOejQwdYKf2YofYsWWyqgX37zKtItFx6m+7mlvJN0Z8PIOyUcJv9+znB1fpRBeMIRx8Z5okO6zuGFlDhmMvAp12o9QDlipMd6VFtIfj3mn0eKqZpmvgnx3cy1N8RVcenb9Tq1sKz+mifsd/Tr4u1ak72FKUTvUXSNU++up2jkFylRdyvHHO5jQaarjpjUDUALouoidD840Nzeo788T08Dwvu3tCxhSN3U/dHIxwU97yVKk2UUO7hQYzjuxxL0zu1V70LqvjJ9rlezH4xzCn8OmlBd8T0Tyk1N8H/a35rywN/xQ7FxtzUeSg2AihIScdnxMYkegPTWh3wOtObtCJ6sx24DnstSGL4lv2gkbT1gNQnqcUUpu7n2e6gFup8+mQzJg3vZdFjwMh0Y0+rCX5AzBgE5JwQLq1M5zdd92o/9qAtOz84TdHsakyZxwell1PMLU2D6mR64lF+ehSJNvYcd40xWXCrBCqau74nmpmDEXxKLPGG3jnqV0VNTbBvQ5ZrCE1F0eugSdyHjWJjtAfxK1p X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Z4+ab+HWXpPpoNfE/DfrRnM9ewBIJvhx7g/U1DMz8bu0vkkmc4343OcQsHwB+mHdtPkK5WPqVYGaBaU1kZ8TW0+gPLDWoYh1OCR0Dz32CHVpvycQM9OQQAHNElpExshIMQRAXmY2vmhJ7hjgpKGGd50Z8dNUk44ffc79vmE1vf9/XxxGLO5h2C3Ll0HawNZJQ7CGNg4bwBXd9ebztIqAmgdlHm3ExMhM+ac5bcUT+7+Pf9KphWXC7K9waMJbDv6vh7EmpYJXT0m32sqwXFXCCG6jLGY1sZsHsfsoZ8mRMNSOqq6ETjY36b959EOZWK6lhYUFiVnDO4LRhuKIcEYFEnzbrN3ZNSq6LDj5OU21NVbIGY/3T1capjL1B5+QLI+Z6SMceVk6+whvLmLk6uH03CrN3AxBMe6b9/h9nCLsEIz8egMPlLGTUOTj88eUEELYn4R2ZvomHEzJM9OdqCaXpDeqexfgxR/Z5HyrWEA6KqrWx5m0SUZqePXUZg6tk1MWQLAx9RKNatVIVBU7jHVuAyPDifxSFDj0PdnPGKtqAXC32ltRMRIMuaXfh0eFY3bg+vOWvBomz0sLQDuntAjWsupx0JHxj6hjPg5LB8xSp3kr3iYgVOwXNBC1UDBSEoIx1Md/ZWGLBcYpnmTFlc1w8yOTbwpuXt+wlqUt2cSOjWrpLmxQSKGSFTSMKaR172KAjaWcOhTQk8DzZb5t2Y2JKQA11GhhpXl/PWNMUEyDkPzV4WaLXjDvnmmiBXkNUsM67Vcc7XAMRKk6umTPUsibfzK21xJEqhMSQNEYCTA6uS4n+4oZ0sICNNQ4qg8apydMytnPCUgmhNgYUiO8AwSJjjGXCgo8uzFbTglSF31h55+B2xIj5T3beNz/6TiFDkP0r99PhjELAAPCAAJVvX6azM+kX1ZvrBHNPucYR5QzCLemwkr53eho3hSWLqw5iluLVPc9ACn1lnkLLQZAhmKaXD5vxAjCpRyyoOPQ7GvOm26dfFhhFo1SuXAkmiJqS8bK2lyIPzgFmC9SuZo5M9k4XxtJ5aY22Qjj/tVuAROQj0Fxg9ZMx6nR9OXit94yWvNS7RrVcrVGxvha3NW3XFxU/amVl+2CQin/BuH+u/ADaLeqygWnHTWbuuOtiu0CTWV1RgFSk3+s499X2lwhjKDidOyJU3rh4nV4T6HdNDsnJJ/pLApvFDV4t/M6DvtDB/+L+d9zduqGS8qvrQO4qnVVI8wYdldWWxKiZUaQ4kZCzfQrCzhZzcPtT1wBreBuXdB93H4gGlBshQ9Dqp6X3zs9a8AfOeG+hxUEblngf2IQ/G0sxBvPZWOf9bdphEO2VFmyGSjqJerQdjVW6gWj/sNBkkeIw297CCdyS0GGBZeFxn3e943WqkJZom6ayBSbsZ2E2vjpfAaFauMFKy7bzifpeXfAfQhNVm5ZPWkcn0hk3/sDDLuCXCTM/sVBgNPhEo9xaMuCfJhGudcad9YU0DaGRUZCAjxa3weCFXYLsvlw/foELxbqH3cwtyEI7M7/yeSsI85TZEdqQUwjLi5OWk6SaeXmv8P2EURMcRBr4FgkoVvteiTnVMOxbby6oNENXr5H1xcs8X8C2UIzy+9O/HR7lBZTpjv16B8qxj8wUXHxz8vT6IfvYsw2D1d7PzlFj2vJ/yKqP8SK/TWgUArpxlg+jA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: AWLSiYdDsiCtfJffJTQXajI0VpkFaTPZ/RfFPaX/l+HPygDTP/eY0ASLqc56hXCNebPJZC9sOXZvjM92UJaxR6qwsYrlVpy2jkp6hv+u16DSCKXaMOx+wz0doeMensltgEl9cy3U56URBoXHJ4bhXpBCErHrkQT/pFXKSTYka+pIFiSxeSLkdsb4ll8cjcqfbaXA/RDd2RXmwGwTPHH5JBGAvc1FO6J1PFF/YjCXWQHD03FzGsxuYx+SU7CQadlouIo0ApjfM8BNz/O64N/fWWOAQNC1xB0A8IRF//H9ubFT3cHhxXHD6yZb7Tizjn49WHNwFoEmVZdaCf4ICZqpx4qFu/BPM836icwPkrWtOeBlXD1avyzWohIGIkKHmeWAk8cmNjBC/jHdyH/PmU2DYUvdoI6vnSz5adrQUcDFxFAL56GgEqggS1/HwTv7JeCr78AVIvpWDr/ejoplltm2KCKeGJ8llqfUcUq/W7EZ8dh9wgBkAS72IMeALlhyCk5E8tcJhtppRz/qNjnd5brBOFarsGa7zRgvsY2S0snjMnek0yQk3l0ukN7P0+XXQysTiIBgIhvSIzu0UCt9g4vVOy9DUcySFz+qXifXXrgn2uA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1141d39-7464-4f1b-d6f8-08dc21ed69ed X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:34.9686 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kOyS3nAwMldGHNoRpm0gMZqxJ5E2K054a6SJ/Da8D/z861xd9PVZI0a84cbczRefSqTfdarDHnlkQ1uwBOuRPbyej15M3Z4LAfMj2dQhGo0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: 7D1iGMwR360OAOep7iWIwN8-lDnGgio6 X-Proofpoint-ORIG-GUID: 7D1iGMwR360OAOep7iWIwN8-lDnGgio6 From: "Darrick J. Wong" commit f6a2dae2a1f52ea23f649c02615d073beba4cc35 upstream. In commit 2a6ca4baed62, we tried to fix an overflow problem in the realtime allocator that was caused by an overly large maxlen value causing xfs_rtcheck_range to run off the end of the realtime bitmap. Unfortunately, there is a subtle bug here -- maxlen (and minlen) both have to be aligned with @prod, but @prod can be larger than 1 if the user has set an extent size hint on the file, and that extent size hint is larger than the realtime extent size. If the rt free space extents are not aligned to this file's extszhint because other files without extent size hints allocated space (or the number of rt extents is similarly not aligned), then it's possible that maxlen after clamping to sb_rextents will no longer be aligned to prod. The allocation will succeed just fine, but we still trip the assertion. Fix the problem by reducing maxlen by any misalignment with prod. While we're at it, split the assertions into two so that we can tell which value had the bad alignment. Fixes: 2a6ca4baed62 ("xfs: make sure the rt allocator doesn't run off the end") Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Catherine Hoang --- fs/xfs/xfs_rtalloc.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index 31fd65b3aaa9..0e4e2df08aed 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -211,6 +211,23 @@ xfs_rtallocate_range( return error; } +/* + * Make sure we don't run off the end of the rt volume. Be careful that + * adjusting maxlen downwards doesn't cause us to fail the alignment checks. + */ +static inline xfs_extlen_t +xfs_rtallocate_clamp_len( + struct xfs_mount *mp, + xfs_rtblock_t startrtx, + xfs_extlen_t rtxlen, + xfs_extlen_t prod) +{ + xfs_extlen_t ret; + + ret = min(mp->m_sb.sb_rextents, startrtx + rtxlen) - startrtx; + return rounddown(ret, prod); +} + /* * Attempt to allocate an extent minlen<=len<=maxlen starting from * bitmap block bbno. If we don't get maxlen then use prod to trim @@ -248,7 +265,7 @@ xfs_rtallocate_extent_block( i <= end; i++) { /* Make sure we don't scan off the end of the rt volume. */ - maxlen = min(mp->m_sb.sb_rextents, i + maxlen) - i; + maxlen = xfs_rtallocate_clamp_len(mp, i, maxlen, prod); /* * See if there's a free extent of maxlen starting at i. @@ -355,7 +372,8 @@ xfs_rtallocate_extent_exact( int isfree; /* extent is free */ xfs_rtblock_t next; /* next block to try (dummy) */ - ASSERT(minlen % prod == 0 && maxlen % prod == 0); + ASSERT(minlen % prod == 0); + ASSERT(maxlen % prod == 0); /* * Check if the range in question (for maxlen) is free. */ @@ -438,7 +456,9 @@ xfs_rtallocate_extent_near( xfs_rtblock_t n; /* next block to try */ xfs_rtblock_t r; /* result block */ - ASSERT(minlen % prod == 0 && maxlen % prod == 0); + ASSERT(minlen % prod == 0); + ASSERT(maxlen % prod == 0); + /* * If the block number given is off the end, silently set it to * the last block. @@ -447,7 +467,7 @@ xfs_rtallocate_extent_near( bno = mp->m_sb.sb_rextents - 1; /* Make sure we don't run off the end of the rt volume. */ - maxlen = min(mp->m_sb.sb_rextents, bno + maxlen) - bno; + maxlen = xfs_rtallocate_clamp_len(mp, bno, maxlen, prod); if (maxlen < minlen) { *rtblock = NULLRTBLOCK; return 0; @@ -638,7 +658,8 @@ xfs_rtallocate_extent_size( xfs_rtblock_t r; /* result block number */ xfs_suminfo_t sum; /* summary information for extents */ - ASSERT(minlen % prod == 0 && maxlen % prod == 0); + ASSERT(minlen % prod == 0); + ASSERT(maxlen % prod == 0); ASSERT(maxlen != 0); /* From patchwork Tue Jan 30 23:44:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538372 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36ACC762D6 for ; Tue, 30 Jan 2024 23:44:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; cv=fail; b=NEHJwhNwf9Jy64xe0mtqDOXSOyVwr6uoqJjDU1ExPBP+S2hXRM0MG8YiG7zEFeNSPmd8h6LdRxd5FPeQpje7nTiZZKocZJUqR5bvPI7JVCCyLfN5K8sCY8shfQTALuDqC7At6OErCfknuE4A2zaomLEVEmo6iS0Uo3fnk7xCz0o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658281; c=relaxed/simple; bh=eewdmrWtAg5TmPJgfEXbBidlK+HhDAzwFomIK7rVKtY=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=qlLsl/RdmMJhA0UbR8oypKPWw8pQD7ncir8dLc6evw+UL1+KNJhA4Q0jlnQWzTppxbgdqB2IzfRguqCFAQ4J3P1JC5xnntYsc+jpvaHCWJJcsMhBx4dGo39jrXSrPWUd0zgMdDWexPzAmwCVPz8KZ3HCngze2tTCUJBesyayDFI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=PKQhzY90; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=IcEC39cb; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="PKQhzY90"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="IcEC39cb" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxP9f023766 for ; Tue, 30 Jan 2024 23:44:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=uv9qbbhytKoXIro/SeVixN45gQ8NSEid7dbusNjE0lA=; b=PKQhzY903z/M/4zaQ5cCvyvNgKAQmh520KRzAa3OHQ3U5GWcfGSjBNh8N6G80j4pSKiy Tr/4MA4Tgr/mHuAdUjErHN4M+tB8vNmW0QkjksNlJWmLTBNN8Adgz9dbzYustZM8zoQA 0w60mfWIraIexfT698AYDZ3lRcG5QVKm3+vueBOJJC52KAIfs46AI2r79tkzXQ3T6UpG X2m8EaJqrGRNDXE8uaOoTd86VPjfP7PsqXR+4gcS9Y6PyyqjLyJ0w2i5ZDKTHHPz2YQQ 5D4t5XcIgu5Iv8iG03Bn9F1mR+Y/G+id7NhSqbNAaGwlMEGsQt4qZzF+vT2reUoUwY05 bg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvre2gjjw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:39 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM7lKi014564 for ; Tue, 30 Jan 2024 23:44:39 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9800uu-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WY47AEN7Oqiyf+3KfWbS6KxFvQktD6lS3orPdJmqYyzVOfUkHKCcpsiG0UfFdYszzbg3uaQNamuo1VBafO0nWbXOWJVR/UvG7lnBMeEQPXqgkuxcV3ocSBy6GzZZcjwlHSpsERrlOzKn0Rbw3hxZFuCGbFKmV1+EF4MPd5LqNK2KeYr/l3nIvoBZ/b1CdG3ny4FLImmjmvFfJ8u21dARVHKXwJZXrpH4YGydIru4ZNujhYS008VBEz/amRVpAZNE2+xz001XkTSkanDR5RlAguMaFNlAZvC6X0+5lnK7f43zGjPi1q4jfGkNdM1L0ED8tIGzngsKeFm8LuCQqNcAJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uv9qbbhytKoXIro/SeVixN45gQ8NSEid7dbusNjE0lA=; b=MLIwk7AZ3vBoiTSmRWU2LUODntN8cXW492AxNH7WqvtYoffbI23THsnxT6zoJICUTHIn9Aozedt3xzJGJQBzUEAfjrHWdnhcx3GWxntBaa0k9QoKFRm2Otdg0Ska+S324mLXmaScIBQvPpf8fJEzztO4jWpPf/Rgh4dO1uxp98CI4S74KyaC0jgx/E0QvGV5B8KNRN8r0NgkyY621LratZ2O6mUC88W6uxSLQmV8cTQGnLUYteF2Gmex4qL9bZzoUFmxM5CdDdZQCpmGTSZKZF+ZB0NbxOd1s969Wah7lyF9wdDTIaqm0SI1SrbgpvOM59oMltzfTxWt40VfWd2GwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uv9qbbhytKoXIro/SeVixN45gQ8NSEid7dbusNjE0lA=; b=IcEC39cbimKl2xqVbS/H7w5saAgCUOrnRoWodRzFCFMwbk1n9KyR14k52M7NVnrdh3XNWnh7TuAqAlqALQwcpGWeNQTdOFT2R1CkvQpMwit3403y8o/QL0RhHSckCaLJNVhdaVy/g7Uuh4QpgPI3LCDZI04i9yaC/D6+gpm1xx4= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:36 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:36 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 07/21] xfs: introduce protection for drop nlink Date: Tue, 30 Jan 2024 15:44:05 -0800 Message-Id: <20240130234419.45896-8-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR13CA0236.namprd13.prod.outlook.com (2603:10b6:a03:2c1::31) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d03c5db-8745-421d-d5d6-08dc21ed6afd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1IqYsJN2g5PNOznDr2E1bxbCvYTgE9hQdTN6SXRAbtTARHEAR9QQPMjsgHAC2OxSZflM5W/FdJs3uXvaVNg+zNKi1JztxtdvLoQXKOic68Yk7zoBrmJzdWivnp9wHuCkmpj3GO0YTETdqSeVIOI9JCsM1c9B/GC0mgzDlTAw50PI9jynqKXAf9Q+H/EgbDPbWrGFwO4nGFu6cOaXNpqsMvPfaK2TtHaSzVi2BYMpjZI0Fa3jVNSsLdx28K4HSY1PbdoWL0+EIQuvhDVcs3ET3LVT2aYvAdGEmLravlujgS8FZsYx+scU2JE1nkLXAnHNJJQBc4DcahUTi6Nzml0SrpQkpF6TizUgWMWnpN/4WAkO8zLWvgFwk3XOCuvZCV5e+RDVaUGHnmPv2NXc1QzU2ukjnCzsrqkIm/edx1uxgpnclWyF2kBv6Z0pf32qc8/o4iSj5DTNAN82zEmTCVRHyjfnGk/gKu90SuHYtGJyCIdDVchgqDCqUgZMrkt0AdFjGGKOOG6QOmr39yipKc9CLAtp5u6sXthrwIy49IIoZmii9oiuE2my2+83/oyQ+98r X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(4744005)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MuW8Xlj8osigl4Nd83xXiSetYrrYKqIxQhHvPsd1KJWn19LqkVBC6JzNFl9DHU/B0EAST6rYe/n+yy7x7JxAHzQ6QztUNkxXZRNqldyM7wS/uVKQRPqZalPzRDy0qIPVMTH9UssfiZvitveSB5GQPfnoY9mvmUKJdq7lu8NPuCZFZxLUNpBwOyT7+WahZp3s8uTA88vAV89eejBOMX+2SZNwTCB4CyrUDfrNSh7HquErwbCJJW3XWgt19CVKvVbaN5ZkGOR7HwOoI/53etsF69rmYDcWDvoT7VVz4i1gJ24nsMZKCxZvRuzwjeTCGc3Cg+tXy2NS8WcnmY3fVtC5NXp+Nsvkt9Oof945O3BaUobQKcgxfaUlwQdEJhx4PqyBlFxWrWZPjY8INEiuJzIYAvEsv8b6gInxlDcRDeiRx2Ej1uFAIzLTM0p2f/QrIOvwle0EeDgr2RUV7mUw7MmoR3udxyBnuRRUvrokBVoZBWalPgO2xmhMLb6HHDr0/6AFdjHsUk9Kx66rra9CM7QAqwqTNfTHtlaoIe82WRJXT8AiYHVOw5UIcLVHcFbfAACDqyE7hdHnwaibnFwz9WP8j+e9P2j0jK+wyxNctZKiHxll9too8h/xCrIodFRoW4gQyRhSfhrXZN05pb0jUzVFYLuJArlayDJzQS4gzr32sQGkYAzVXgFobzQVYLXovF03nX/SPkIF3ddMSmZ4pVFx6F0Y1po9YhW1YWnXvxk/bGXHQtDCjZ673RWNVAtZD9XfYMIoyXGNH40n7CyHS/HNKCD2zqk29h1e7R70t+/EuVPK0wAXJE39fFVz90s8S4/iI9zMLdXqnEFUi9JbJ8LjNwwHK61bkVT13xWDs++ncKCZve5ug4HqST2Crq7r1fk1611sKJybdgAiC8SAHdEebtuz41NwlhOxWqKZGObnpCVBZv1EQOS4PVqKuv9rp0/k7Cqt4PKIr62P6+/y9Rhr9cSqEqXN921aPdsCQakMpKYTrhCQQCZE1iUgHYsd2n3TGbEbOW4pSrSpuqQwf5f0xr9XOknMjmx9zFP4nOAMdtwxNDgVEep1m4/UXB4p++wScWWXQ/iLOpXYn705hhQcSkKOCk5KVNybraLfZAl3Dj9/BhoEHf2yauLDKXBbaFINhiQU9ccLmNORCkIov+rI1DmbJSU8wisZodioQ6H+tTJ/R2JJ75n9RcvFzQuJ4N5Jp5BBNKWaUdxwfyqLbyfoXIpkgTYOb/9tGtye0ukFHqqRymZvffz/t33sHs49dTq8cnLH0YbM1Xnc1s2OPuLuNAyqsiU4/b6YR878HWDFyKu8EhS8svzs+MGZimANuij3az5DCel2XYd9H2eNAqkp9swPRkEixjfJuxnl0wPsyG8RH62nExHBHVxo60rjJJuxoYAHjk2HDpb8MAOZEVTQg1fYYAeIfWArLQT7z5ovyc9lz2Oryhzcv3LEQ4gdgvvdHnPLfZb9mMLy8Mx5DwP2DfJ3WpLGDnOLCCTFlOZvIA969a4JRwnW1KIx9CCHB9T8I7tbgMMAFfpaNsBl4RqWTlaEiBY1Qq5h3gSb0emuAfVwOZ15Gwh70tp677sCe9pT8pwXTGbYil42+gAmeQiuRlIReqeuaJevpuOkZglbxYUNdxerAK7qveWJzy80xam56SceyUEmS1KR/GPICjrcmA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bSJbBJCw3m3mkNvp/SA6C0L2Cn5/J/3AFi9p02E4a5+3ucItKEXnp+HbHqLiQk+B+SnhLAOYxkK0khzc9JsnjKNwXwT219mzBHX7XRrmXLOu2rIi9ht+wwKDoWWEonX+pAZGYs8xeIvp6HVC4//t+Xow0nYQ+zQ17V5IPuV/YXz1y1yiHY7X3JQI55bN6w/oZ9/KPwwDP4ROtyT8pqdxBDApHs6QmIJbF84WnVSatPk94gArvE4cab0tCGuoqgm+4mfz5C+05Dv75mhMmRHTVc5vaZsSuGjZyOQVhU/uJ8W/NRimDEvLwr6a9n+qsOnuE4fInwW86xZxjkZQPP8BrteFsRfoyjbln4FYvOs4divq6HgjQGfWXrN+lV3o0lf3Oz+Jr3YQPDLWc8n33op1dUx/fQi5e9QaY1ABaLAICkJWrUQ3ebZJTqEPI3PbiP9oQ8asQ/oDEw4hnjK187itkG4/jI7UA8PB7uai7qG7TX47ddD/tAVIUVJyDTpeHZjK7dVdIxBOerDbg6ZGzoSkzpW1xKpiUyM76KAshXQimHOb1MDVYXBYOdcNKspy2MGmJRgXQJLB1kRxtbW44OB51F4c4/G46T0kbISNKNHl5xE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d03c5db-8745-421d-d5d6-08dc21ed6afd X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:36.6811 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Rwn3RKKNZr7ywRA17CUSviNIVr6HUCJI5FhpaOCidntHLJZQFq7dOQcvV9h8gb5cGApPZPGfMS/oTjlqhIK2K8xxo0j7Y68D0wvHg5zoRmc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: oVduVAKQLbHDHGKks8PM2ahupTSQC1Qk X-Proofpoint-ORIG-GUID: oVduVAKQLbHDHGKks8PM2ahupTSQC1Qk From: Cheng Lin commit 2b99e410b28f5a75ae417e6389e767c7745d6fce upstream. When abnormal drop_nlink are detected on the inode, return error, to avoid corruption propagation. Signed-off-by: Cheng Lin Reviewed-by: "Darrick J. Wong" Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/xfs_inode.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 4d55f58d99b7..fb85c5c81745 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -918,6 +918,13 @@ xfs_droplink( xfs_trans_t *tp, xfs_inode_t *ip) { + if (VFS_I(ip)->i_nlink == 0) { + xfs_alert(ip->i_mount, + "%s: Attempt to drop inode (%llu) with nlink zero.", + __func__, ip->i_ino); + return -EFSCORRUPTED; + } + xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG); drop_nlink(VFS_I(ip)); From patchwork Tue Jan 30 23:44:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538374 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FFCA78665 for ; Tue, 30 Jan 2024 23:44:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658283; cv=fail; b=NN8Kub/BKCl3gX9Ouoc2VLwr09TXza1vgoMbvy+qI7oXSBmgzmPc45IOKyZC652Z0nAzXA+RslQuKCnIzqXb3EIagA6Lxqkq6/iNMX6WuADYM0XPCh9jlLZ+0pvdYRGQQ9wS0u9niowu6X/O3qYFIDkgxcDO8ftP1ZafrQUMaHo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658283; c=relaxed/simple; bh=9jdLXbKPGvpjeGaLcBjPtQQ8gALOgO68AiaPajhH/JE=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=gIwAcdCb/l5+YIkJDwTIziYP1T3ByK711a7aFiFtLTCSdGDlL3WlSQubJwDY4CI9HofasfMJ5bJJnzzzFinTv2M5iI9Qk2aYt6w78k+YrQbxKOSGfCtwjlliydt4j+fnxUfHjhYkMqbJLDSEJdKuz3Ib6TW+ydewoozSGQsq7xA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=PPu0qaJw; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=JI7AXVF0; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="PPu0qaJw"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="JI7AXVF0" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxubB030724 for ; Tue, 30 Jan 2024 23:44:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=dH6ITgYzGSAXRWxmWl+up8WZ2wFyu3w11rbk+rKMkdE=; b=PPu0qaJwKHy5ygfNPTSIpjgI/C7vkn3cdanDWrJnFJ9V9+XiqXJz/trlnDI6M2M1UTch 993q6hcC2ZPsSKi6IRHHvKtGf68w96qhRuzhHgx7tilLc2ImPPEgq1XT0CwDb6ojvzhX vmQq9joWhpeUX7Ze3QLo1u6WhxbL6sz6d7nXAwLs/0OV5UVNqHoEfoGxTQeGevvRxV65 kfpGuDJIF8swv5dmOHh+tlBH89xRgRJGpAplUibRn6WJ1voI16yMB6tSv6HyZrljrKja SzgEZYJr4UuiovBcayfc5pxtBcV0iTQqDyyJy1iVUwPNThQ5xq/81HoPij6oBYN+XWC9 Zg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvsqb0d1f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:41 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UNdDDP031587 for ; Tue, 30 Jan 2024 23:44:40 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2041.outbound.protection.outlook.com [104.47.73.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr987ujd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h7h9056rDfVeQqboAsWkx5ZpRe6fZVMZ79P+MlOlm/NbmFSi9c8zgQmnv3EUOBnAA2KnSL0euTIU9ytD4849molux5A6LGl6kRFXvTp7EIS2QhghuKmJnQQ+EjZdnwq/4YhIpv5BCPwHev1OPebfY9reCv8Jh8ymSstPPynlKiMlAT/liqSawacoNdVYkf3dUvc3wnz7fzWVMxOunVpW76ptsc79B4YclJBW7YYIjv3NUUx8qZfHySMI6FpEB2qNs0W70261qfzyW+RoAQyvDL2WRpbiLSKZX/BHnpzQTtkLQDe93icWJDVkUPOYqBdcpc8z3Z19ubDDi1uiJvgpHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dH6ITgYzGSAXRWxmWl+up8WZ2wFyu3w11rbk+rKMkdE=; b=dZ4ZTVqWUl8Gt3otk0bfvq5VkDinlEsIyZBYhBg9CMxmvTCtag18/8mEFmvHZVbSBJlYkJBmNkKGvWmNbhxx9F0eANer1Lu41KTOzimOL84DJzAkpp7Hneuxj/TR03S38YEBRb5kVqhtbro1aOl5IVLQvh3wkysoqdqC/dCC3u10FsbPNNfOaa35HMheLdbZCyo2jN19c+ocmW0OviCoWm4R8GP9VP6shTrbHuU+tieZq5N5ZiwfJz0rclqRwBfge0Fz1Mgd0yvy7mN+m7JltlcSlMWcHsIFN15Ex1rfRKHrnIztuOQUXOhNfziLhoznYQSFDXpMKPEaDAtXPBfniQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dH6ITgYzGSAXRWxmWl+up8WZ2wFyu3w11rbk+rKMkdE=; b=JI7AXVF0DYZSXyJdHZaC5K6HkHOogdj8qRHWiNEbbyKrI50PAkL/IKKOv89Ae09jrCB9F/pSQkaD1dcDyGhZ5HqpGxGQ0ru/0IGFCO52+Z/bjO1ZMOpmgg/v8W0FY1nigfYKykO0aPvFosd9Fu8AE9mu12KFItScJ5/01sJ1/Gk= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:38 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:38 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 08/21] xfs: handle nimaps=0 from xfs_bmapi_write in xfs_alloc_file_space Date: Tue, 30 Jan 2024 15:44:06 -0800 Message-Id: <20240130234419.45896-9-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR13CA0213.namprd13.prod.outlook.com (2603:10b6:a03:2c1::8) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 55fee1a5-0945-49dc-cab8-08dc21ed6c3d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4anqb+p51zlimV7PcqYR6NacXEtIWv3XB0ULvQC9of7fWAdfUNLXUZVkVknKSDKByZZSZAamUOY9tEicog1lCsxb6B/+4nwquXVR3mP3ETf85BOBRBwQ2qdfjBmmYtWwvArBvv1GY+uxiUcvLRQLRIMIFMIlwcdCYLx/L1Gt3ffe4v0YD9BrWyD4Egf6BCyNPvBk31GkjW9ngIKoLYKpXBBm6ONUwXf0pq4YA4bHPJyjstRd/flXdJ++Xyx+wf506MzpYvGJRtyhKLghWa6pcyAGrVDBrGsTDg7Gly02/Vp8TRugcKaOIzEzO/r0SFQQC2U94TYtA3TsvdvbzU6KauWmmSuh94gdSE0hvuJe9cXusYTzucL2tyP5Nt8WiPWqFXRQafC9A1FAPHI54uXbUTDGUVa8OIXG9F29PoQTWr8NAoj42je1cwTYB4zy20EioAh6oTxHWCe2imYTcbCCdmutByHYHMmpAvgUt02aOSTikU1xg7BdE3uhXLN1qveUtbDgdkHG2959urBI+1crU7BtSn6Di3WMg315ztjOX5xjlLVcupukiIa0h/NB3Emr X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OBcmVx5vyjz7cfx/hOJoJxrrR+MmKdmL6YMb3KuBtu1ly+85IpssXozHdUotX1fir7LqDvsUrak5PCvSvB7vQqaE+9s0iF/rSmYFUPFob3rqI3+OcBGIduLcDmobE8BG75E8QUUjmdI+lYlIl/dzymMcceYTQtW3a/PhbGbvt1T0/VcOprktG9va8lhfnP8iKWW7erRM1yAO1aOVZiobyOmDtKvLziNq3JEx27W113QrTrM2foyUbcrnViLNelFlzdbP2sB+IxVV6kK6j+3wQEYbK8gw/VMCxTajLWuemghShJUllibcXjH/j3AOAkI3rreimwFIKOVM9AhUR4pSOkMYu9K0htKqX+6+EdBdn1w0NbHHEKGKWOnzheTJvF92zqIX28ss31rs5N+g2RUxq5U5tngm2pmhAr5YhEd+/COorKkB1czF6pdFm4javw0y0blxz7LW2Q3z4Ms2/1Zev0iAcyX+bwW5rg2MJyH2lO8czKwmZccMTteOC5aNuOHMM53gJw9J7+WOjHjF2CNunC/gE+L5tsjUCFC33M7lpgycn8z8oXNvRvBwlcAld6Sjx1dr/wZl70KWr3gAYVcvMVLx6RzI/odcaxEE7HJASfZ/sIpXoU8O8c6n91lNncbKXtXfs2zhIAJezF5AFN0MpBzCr1HvQ8/ARv3e6cmPeKTcnB4OhoR7YSxFsZhFCfHmTytxLZqEqlN2FV/R7qeMhDmK/JUXN6UOwucK3gQkGifxNgIvpmeIjV8qQOU6eqHv4AMQb+MG6WKuT8tjqZltvtDh+n19YpYLJ5w5xokLfyPVBDF9otjZiXRSHcBkptWB+71JM/k6GO6o3wkLHkoP+TXTFH+991X3PNw1VaFcysxADvdRTUpWw6OGUjOO9b4CBfIN5JLeY/3fQQVAAxuB0wnyyrii8rpdF4OLg4kN5C3ipuBUNNn5zXv7k8p115C10EXXxnydoqdHGeVMNztlcHkvX63WbV6vDY4Bk/HYyEFUBE9eCitDEp/9XStX5Oh8XXYDNoXm1C8Ug93lh3TocY5EmvNW7irr2QNfpiDvJpdcLjyddpfQn9YyyLtAycsncc6QA8Gp4N44+zGxF7fKOYEwYrRJPgFbnlIBSQ1eTj0bmt85j85WPQl62jzn5zWxKRy0thCLZifJjNM8y+i1sMnUtou/W3Hndxym1EYxxaxQQKh47DdWTzKmkvwoL4Hx4LFfpnBnYDq8x3Ef8YQaPmLayO/lU+Jhj3916SNdAxKqLNekZcYoeObQXPFW9A4+IdfoXRXxNnNvyvDvTBf0ofVlZMStf1fav55MaOPfH20zzQ/u+h5TfB461CP4QjSLa7FGfQd/36aSKCm8KK2I4rIT4favhdxMmwuCnONzbJPYzBWY2IEIP26LCamFbJv34ug0GIvfrn6nvwR+pG1cuTUQcMM0npQUgC2ergPC6n8ZmenKl+9heZWqqYfs2URH+BYcUO+CdMc8gDwUBJ2byfkyynzDCkapBh7vZd2q+3pjjH/f7ZfLdhYCJbm3dJSeYz318M+LiR6qZkg9bfK5gM6NtzuWXJPwnFYTY0Us/V00feqeCN5jVk5G3uYIVBwRFpkOR5pk6j2fseRJ1s6gdGZhpghN4xgZGjs5JxpkyuHjUrWCFPkoZZCMkGTireu7CzTWmBJTzGZYClDb0bw8/A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: RDpH8LO9VTcQbBJ9n8qdRmCiDWVZv+gzwSGb3Huj564Ym4yalufz+viTIJk+i9WaKiBSZkiDVf9KoPzC2TOrEtf0BVvQRMxV7HSALdQUaJpbFlkEuoyszxb9KrmrC9t982Ufdm3y7rkzmvCQWNlEx60rnRvRMk2d5NKdMzS8nbo+0DCu5Lgldp05VqtwUvhmyAMy27dmExuLiac68ZfZumvPlqf98Xo3XK3UUq+vC4FGENqtzVlvrC1a8fVJUkXcuF5ZdQKhQY54zGLNpOVkSzqEYdg8OXBhFImbbSYWqBLgsTZcp0m4tiYNSZFjxzwJK4eZS/PKzT4YAmYTwF0KCD1iJpFa2cWL4HVvXvxnZRYIHXhpGbqO371D4SuDuSCsF+BFiuNkHYVbBPx0dRTqP6KEExGH+XhIa2BgQZXRkmOqj+DsH8sU2ZzX/LjQla0ZAZjhrRBa3vYOQwgjYI701vHzov1fQtqbIWWgfwtoGyNrs1GbjTQ9rmQEyKAttzX6hvGJA5mkp/E8rqSafox6uYzIEgCnSYHLXr129BdB3VSR1JNNoyjCMhOWwgkaRxgNV5DvtkPKbAGidcOQSUQk/ucQGMl58SKroe5Ms5mtAv4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55fee1a5-0945-49dc-cab8-08dc21ed6c3d X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:38.7525 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1V9nBEqMaKvqtRPX9iuucnsDZceTVgeE/YAcCGzWWV2uRM+h47PAe7F+5V31Ccta/dDTDCzuafRYHobWn87BAPr3B0jB9Yc6YlP+Qd3s5qk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: K0wHkr16Cf9Ct-V6VtewccVdKqNroTYE X-Proofpoint-ORIG-GUID: K0wHkr16Cf9Ct-V6VtewccVdKqNroTYE From: Christoph Hellwig commit 35dc55b9e80cb9ec4bcb969302000b002b2ed850 upstream. If xfs_bmapi_write finds a delalloc extent at the requested range, it tries to convert the entire delalloc extent to a real allocation. But if the allocator cannot find a single free extent large enough to cover the start block of the requested range, xfs_bmapi_write will return 0 but leave *nimaps set to 0. In that case we simply need to keep looping with the same startoffset_fsb so that one of the following allocations will eventually reach the requested range. Note that this could affect any caller of xfs_bmapi_write that covers an existing delayed allocation. As far as I can tell we do not have any other such caller, though - the regular writeback path uses xfs_bmapi_convert_delalloc to convert delayed allocations to real ones, and direct I/O invalidates the page cache first. Signed-off-by: Christoph Hellwig Reviewed-by: "Darrick J. Wong" Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/xfs_bmap_util.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index fcefab687285..ad4aba5002c1 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -780,12 +780,10 @@ xfs_alloc_file_space( { xfs_mount_t *mp = ip->i_mount; xfs_off_t count; - xfs_filblks_t allocated_fsb; xfs_filblks_t allocatesize_fsb; xfs_extlen_t extsz, temp; xfs_fileoff_t startoffset_fsb; xfs_fileoff_t endoffset_fsb; - int nimaps; int rt; xfs_trans_t *tp; xfs_bmbt_irec_t imaps[1], *imapp; @@ -808,7 +806,6 @@ xfs_alloc_file_space( count = len; imapp = &imaps[0]; - nimaps = 1; startoffset_fsb = XFS_B_TO_FSBT(mp, offset); endoffset_fsb = XFS_B_TO_FSB(mp, offset + count); allocatesize_fsb = endoffset_fsb - startoffset_fsb; @@ -819,6 +816,7 @@ xfs_alloc_file_space( while (allocatesize_fsb && !error) { xfs_fileoff_t s, e; unsigned int dblocks, rblocks, resblks; + int nimaps = 1; /* * Determine space reservations for data/realtime. @@ -884,15 +882,19 @@ xfs_alloc_file_space( if (error) break; - allocated_fsb = imapp->br_blockcount; - - if (nimaps == 0) { - error = -ENOSPC; - break; + /* + * If the allocator cannot find a single free extent large + * enough to cover the start block of the requested range, + * xfs_bmapi_write will return 0 but leave *nimaps set to 0. + * + * In that case we simply need to keep looping with the same + * startoffset_fsb so that one of the following allocations + * will eventually reach the requested range. + */ + if (nimaps) { + startoffset_fsb += imapp->br_blockcount; + allocatesize_fsb -= imapp->br_blockcount; } - - startoffset_fsb += allocated_fsb; - allocatesize_fsb -= allocated_fsb; } return error; From patchwork Tue Jan 30 23:44:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538375 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E73537163 for ; Tue, 30 Jan 2024 23:44:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658287; cv=fail; b=CnENB1+58P7imPDYzLCxiVdbfvoM3D1ySc1rvHf0pCe6hoHqHw7DvMB2TMAjGraRzRKfpTz3OLKhVYkQxXkCvENikVWWhDjNMbFMZHcHXALqxYJC0/d7rRwMmXdOeYtTT1sCwxd4ZZ5PyLmVu5HIZAF5XfBDctTrSYWeJg45Eas= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658287; c=relaxed/simple; bh=1EXSZ4iU3I8pgM4bkKizf5fGqqe4QT7Of0bIhF3Y3W8=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=JIpBPurZm/JffyaM++IkwQlZFYnr31vpSRZxWEy1/EXtmS9abSgW/xQ9qW4XLPPmxiNDaA+PcquorAOfExG73B4/bvUHnC0M7EeahuKCNesMjD7ZJoZdV6Hqrexc73bg6LlwKfo5+Pqtsz6xCNomflQ1DbvYzo/oUw7PbX3btxA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=kozaPgiW; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=eKpqwDKC; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="kozaPgiW"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="eKpqwDKC" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKx2ix003587 for ; Tue, 30 Jan 2024 23:44:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=P9KaY+5IMBkxdj2U2wEtdky3D0IGhPhNPnyjLehqSQ4=; b=kozaPgiWaUCIpmlDquWqK6DMxaUtlF1SFqmtfcjw3Dz2l2Q96Bv4sVMjycOtrk1wg7ez HAyxZlhRvjm9JbiijAPPSOFsShi7npbQJqyvhZcKAxM0N5801D2cMDzQsL/xi2AmmX3Z 1IA5Qo5/KT9VBmUjP+Ha3aTV39hB8cz+LI58hxFp1BPkYjPelCITRKxcJYLxcJhzfIdw M/lX7EzfCuY2PXYI96g/z16wi5DqTFr20S4B+urDIWtmvX0aoSaymK8Ok9NCCluM4E1x MDhgyMlTZEA4UHQS5mmYZgALxMgT8T9Nw/uj0iSIDG+ijb4KHJwdc25TuLaOjYwsGtH0 Xw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvr8eg9hh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:43 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMTGBD007813 for ; Tue, 30 Jan 2024 23:44:43 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2041.outbound.protection.outlook.com [104.47.73.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9eh1qh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eQz+lyaOirCftNMrdu95FmMg9PFxtDI1IWaeNzbEQfaFOgCMdrcC6gJabD7q3Dxd/trV9up3UgsLbvtCBUVw17l212m1y3SAkXM3yebnBI2cf8StENW3ltlH729lq5Fl1FQduKnyWThF8A341bTqenH+W0pWg9v+W//1kKkSrzFnoOEbligXErI1UEzrqhB15zoqnvL5Pw3DJ+/56VaQy2RWRJ9LGyM0SUNxgC2anFLjoIwHiX3AroBbZe0K3fhpvWVW6b5vDO6MPPn4i1uwpQH1YEvMa1hM97jaOGlwnN7ENi3ahRqY+yp2ml87oY3S1XZdYvQSHQULa+vbgYyK1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P9KaY+5IMBkxdj2U2wEtdky3D0IGhPhNPnyjLehqSQ4=; b=GsFC2frRz7wS/x73Y25GuHz5Lcg4SrbUM/f01lcUrQg5XHwqtQlfFtU7R3GBWLScDiQLWCGXrr7Dgbytzl5AXrcqaqqjxMAby+M7/bnYF2NPhZnhpmCq4wk4CfKFabFMjbyYUQHn4NuqPPDMVW3u7sJ+JQecZXU+C/gupBl0RXcsuIVN391nsdLc/RNi/NfyA9fcxblGPYWWJfTaAYxB4jLg/c7KnMhFI4U/CIbM27LqSwqtRL09V/IdEmP87elUNZggU9lFHvlQMNZikH3j7ngO+1p3laKAEGlypGGLwz+j/AnPY1oXxMplRKynH6JvRn2TMMdCe78+i9MOezc/ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P9KaY+5IMBkxdj2U2wEtdky3D0IGhPhNPnyjLehqSQ4=; b=eKpqwDKC3pNXL7nfhgyZ6sVsN2iZTS4mIBCZd4LecLf3chjEop2VFdavxXqFMow4Hd19Hl2qsRvrad/Yk7j57zT9ApJzlZQ7VwDmDgdmLXCSv4Qhj8NpTNrP+XVewoXONfv8iRwxkF4DPUnnls816Xn9U4ZlirLasBovFzcJ5xk= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:41 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:41 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 09/21] xfs: allow read IO and FICLONE to run concurrently Date: Tue, 30 Jan 2024 15:44:07 -0800 Message-Id: <20240130234419.45896-10-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR13CA0239.namprd13.prod.outlook.com (2603:10b6:a03:2c1::34) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 0df8ac19-9015-4457-a575-08dc21ed6d94 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YoayiRmttWDpK3QmJW8dz98lOBnGal9rBqrTAFMrTNJQvHS97PkyUNq9u5z5LHiac18ZPxRJw/OS4h1Cyglk6QxRhJNV6J2xoEmqfvofxZ74gv59ZOBuYo6ZJT7iRIBOZ8XJfmG+IHqnp6813gf6O4OVM1sZzp3Fvf/hKULVy1z18JXTGZoFneOGlaKxbpgPyMIfrDCpWbDmyeOMM/H+N7oeNyjq8NignorRtx2ENUBRH5p5j5qd/BTGfQ++mDDmVoq1pLXHG/vaOCPoQvWelMGqC0Xl6EcOt2H+MOB2AlE8gP7DRELXrAb7rUpHNY6qFjA9EbIZGS+6A4bS6itrp2sEV8RrDE01W0AQbf1qevrfPFpRn5xvJbNY0aauz4QRrsBMN+Iue29usF4po+zBwccVSaSnxp/u8vmjiquabckCDi604StqNs6RKwgIGOS4yzgdpdKC6gB8N5rvAPLm+M9MTDmwKyLIlxWhXYv9+OIjBEMvT06LfJW/pKzxg2Mf63TGfU+vfXX+5af0Z1adaiUvxmYf2tKaIZfItd+J/Ec= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(966005)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VOIZdVo4D3jY/Mfnr9/vvXrWqdrK6/mXhINjyBAOL76cVjGBOcYt923A0Iw5SCEuRikPurBF0oh50JHUwGzQae8yf8YkHA/vpAA0RgQiQoBqMnPy0R6NpJ5fLIOGqs3Q99u3VeDd6Ott0os0bRNTnZFNjgVpI6RUH0ZTfltyM0ZOyT9LMbo4wbqSN5pumFVpIIrnJaNmeIlGtCm03YKW3DUHEP4Zj3NjygsPVo9W5uukyPhArThDdypqYNtTy8HI+b4YxQARNhaFkb4WOXcuOTSPJfIpj9zOKTynSdZtJXHMGaRHjejxtoqjSzzGkE9dH/RBy+HKRdYAlZ6IW9Aj7ED2jtmOHhu0/+FIutCKWPsFmXwUENxJDefk3YRY7dQLX5sKtE6zKTpLaMTogaiKCuFAEKsiZ4jFyfgxvETL8hCNCNNiTrkHVxWCa12Y8K7pRtYyhgpKUjQ+jb+wc57An4PkbpHoDYVFcliuWLDe7HV/fx3U/5RUhJwnE6zWSQ4Y6dS3MsBgPXFy3dnLNxu1li3pklcGFNfkdV8LSKMI4P2u4cI13/vcNAygLEqccau234zldw3NMNnGtWD7Nbe+HVqUTENFqpS67uu8vILRZA4JIFjuVJGRiQ0cR0f5XedMtX/flwDnZeYExt0FaOH00FuV7fynDpfIgGW4cnnsMPYSQg7d3qHm3So08qjJvD/LgcsRm4e2iTGqFBKjHUovkcGY4NEqj9iVHWA03FkcLKoFgL01r41KL8eKhGNpyrr+4his6dSF0wtWK017ND9K5gcZBKBQofjtulW457FFioF4Q6EbgWv1Lblm/8hnNRZq+A6SshjF/upiS+kZrvRARE551klVhsBBbmwO+8/zZrUwNs06/xvvSPHXh3XSWWEkNZ3NXB4p8qmMhrVvUf+iNOkdKTKTi+RyZ4azpYUuAQPcOY7MfZoO0Mx/jYW9NHWfPrfNWw68VAnIxtgkBi2MumDynTyoyptDX//vL6X522ErSrIr5v8tANgau+063uP7rs0pPQ/efreU5yZ7tQtK0wn5rsmh0Gn3Nur305KLjt/cWiHjiveegSMTZmvkH864+6AYVR+GYQou1CPUIHRdMA4Zu0jgtTtp03yBVsY8WbwqAbUu66yljDhwoNoZFBAk+ccn7rPNhDdZ2jwCyVvhlDOC+XiiS8z//c/ydfRF0gNVA9Y3DNcgxeIq1lSyteSnfQ7+rWtr9cqniCk1pl1fbGWuTzF9uGGuQZyxC5mnGkqemYvGhZ5NPirLjh07+/2pC8qIkOb4HIXmSkcaSaWbc/hF0AdX2forFNsKubak8ztTJepvfFXPH2ECOkaINpcrxq+clJXmgfkY85kEgTh6kz2f1MfCOxKtbpo5Av46aA4ZTS4i/Z5qQJ/0hg8TUZ1cIUCBML+BzKMOPbNlpQbi/SVqVD7RIJqab6Q3BdcCuPgVP6aosbRrJVVLFfv9jbwlKsq8K9aFs03L6bUykV5ZnURqUq/sxqaUJDgqNZ121DLaJrmrWlK6ikymw0o5Idlm38xCnAgcTgWxT98LPFXTRl9HLD/SiSWzNmWhztovbej9fgzDFzl/FE8KDWBLzhJHEBO/mx0ig+/Si10jN1jOI3VCHivaXusX+EudoUi6vjUbG7deGLqcgjIPlh5hYZdRn+e9fTV/Xn1Vx7J/kc/7FQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ml/Dq3HOyRtOCx78cdltfDfB54tzlch+WMKepP6bEU2uH+JA927dA4eEjG1GwwDZu7lemBqaf4ffnaMzSxx5pJnqcFYOAXbvY+YjJNvgnKP9jfrh4n33iT7tGb1CiuCMu8AhrC+/KhjjeuNM05vikkrUYFij1kwRDNvjA1wBuRJgsX4QE08X0ThGFqudA01J9PjaoYqt6WZSFKbt53PyQ9jY0Zs+HkVP9wB1gUY1gZoE04y3hInlgPKsutqg3+dMFkzF00GoJUuj54xwqx/jlzruwu9um83WAlLfGgAHgeU7uL6xiyzuOSq5DVkvC6JT3O5Cm2v4/nwQ1SaecFs1AguJ7dM+mwiWoY/qGz1vsUYA5RRkmzby+ijjVgasGBv4xjxUmFI7VV1YSKWedHvQcJ0PFpboMTqoePooAvubVoCc/7Lmz0Y/dO449S8LWXrNIsj8b5nGJNnqsZKvi4bhQ78Whpcd+/u3spJVvvLFrYuLfiFze81hj4M71ddssRXqs/Pg3oeXVZS+wEj+vnC73eInExjGdMXWnZOH4/hG/UoNx3mzfLySXJCiDQgt77DPCMYb96GI3bq3tnHaw04vG5E0plgVINXzpZgbCDzGpOY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0df8ac19-9015-4457-a575-08dc21ed6d94 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:41.0875 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YXTId8us9W/JM2NqfYF9kIU4bR5q1kqfwe3WjRSIPt2++qUligoqyGVXXX8q4UpM0F1KyH+T47HUw+hcD3Y/gFH018qpqbWL2z2sleCLbJU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: th5z8U7rJxmFbx5iqghspK9bnJ-C-Hia X-Proofpoint-GUID: th5z8U7rJxmFbx5iqghspK9bnJ-C-Hia commit 14a537983b228cb050ceca3a5b743d01315dc4aa upstream. One of our VM cluster management products needs to snapshot KVM image files so that they can be restored in case of failure. Snapshotting is done by redirecting VM disk writes to a sidecar file and using reflink on the disk image, specifically the FICLONE ioctl as used by "cp --reflink". Reflink locks the source and destination files while it operates, which means that reads from the main vm disk image are blocked, causing the vm to stall. When an image file is heavily fragmented, the copy process could take several minutes. Some of the vm image files have 50-100 million extent records, and duplicating that much metadata locks the file for 30 minutes or more. Having activities suspended for such a long time in a cluster node could result in node eviction. Clone operations and read IO do not change any data in the source file, so they should be able to run concurrently. Demote the exclusive locks taken by FICLONE to shared locks to allow reads while cloning. While a clone is in progress, writes will take the IOLOCK_EXCL, so they block until the clone completes. Link: https://lore.kernel.org/linux-xfs/8911B94D-DD29-4D6E-B5BC-32EAF1866245@oracle.com/ Signed-off-by: Catherine Hoang Reviewed-by: "Darrick J. Wong" Reviewed-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/xfs_file.c | 63 +++++++++++++++++++++++++++++++++++--------- fs/xfs/xfs_inode.c | 17 ++++++++++++ fs/xfs/xfs_inode.h | 9 +++++++ fs/xfs/xfs_reflink.c | 4 +++ 4 files changed, 80 insertions(+), 13 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 203700278ddb..e33e5e13b95f 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -214,6 +214,43 @@ xfs_ilock_iocb( return 0; } +static int +xfs_ilock_iocb_for_write( + struct kiocb *iocb, + unsigned int *lock_mode) +{ + ssize_t ret; + struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); + + ret = xfs_ilock_iocb(iocb, *lock_mode); + if (ret) + return ret; + + if (*lock_mode == XFS_IOLOCK_EXCL) + return 0; + if (!xfs_iflags_test(ip, XFS_IREMAPPING)) + return 0; + + xfs_iunlock(ip, *lock_mode); + *lock_mode = XFS_IOLOCK_EXCL; + return xfs_ilock_iocb(iocb, *lock_mode); +} + +static unsigned int +xfs_ilock_for_write_fault( + struct xfs_inode *ip) +{ + /* get a shared lock if no remapping in progress */ + xfs_ilock(ip, XFS_MMAPLOCK_SHARED); + if (!xfs_iflags_test(ip, XFS_IREMAPPING)) + return XFS_MMAPLOCK_SHARED; + + /* wait for remapping to complete */ + xfs_iunlock(ip, XFS_MMAPLOCK_SHARED); + xfs_ilock(ip, XFS_MMAPLOCK_EXCL); + return XFS_MMAPLOCK_EXCL; +} + STATIC ssize_t xfs_file_dio_read( struct kiocb *iocb, @@ -551,7 +588,7 @@ xfs_file_dio_write_aligned( unsigned int iolock = XFS_IOLOCK_SHARED; ssize_t ret; - ret = xfs_ilock_iocb(iocb, iolock); + ret = xfs_ilock_iocb_for_write(iocb, &iolock); if (ret) return ret; ret = xfs_file_write_checks(iocb, from, &iolock); @@ -618,7 +655,7 @@ xfs_file_dio_write_unaligned( flags = IOMAP_DIO_FORCE_WAIT; } - ret = xfs_ilock_iocb(iocb, iolock); + ret = xfs_ilock_iocb_for_write(iocb, &iolock); if (ret) return ret; @@ -1180,7 +1217,7 @@ xfs_file_remap_range( if (xfs_file_sync_writes(file_in) || xfs_file_sync_writes(file_out)) xfs_log_force_inode(dest); out_unlock: - xfs_iunlock2_io_mmap(src, dest); + xfs_iunlock2_remapping(src, dest); if (ret) trace_xfs_reflink_remap_range_error(dest, ret, _RET_IP_); return remapped > 0 ? remapped : ret; @@ -1328,6 +1365,7 @@ __xfs_filemap_fault( struct inode *inode = file_inode(vmf->vma->vm_file); struct xfs_inode *ip = XFS_I(inode); vm_fault_t ret; + unsigned int lock_mode = 0; trace_xfs_filemap_fault(ip, order, write_fault); @@ -1336,25 +1374,24 @@ __xfs_filemap_fault( file_update_time(vmf->vma->vm_file); } + if (IS_DAX(inode) || write_fault) + lock_mode = xfs_ilock_for_write_fault(XFS_I(inode)); + if (IS_DAX(inode)) { pfn_t pfn; - xfs_ilock(XFS_I(inode), XFS_MMAPLOCK_SHARED); ret = xfs_dax_fault(vmf, order, write_fault, &pfn); if (ret & VM_FAULT_NEEDDSYNC) ret = dax_finish_sync_fault(vmf, order, pfn); - xfs_iunlock(XFS_I(inode), XFS_MMAPLOCK_SHARED); + } else if (write_fault) { + ret = iomap_page_mkwrite(vmf, &xfs_page_mkwrite_iomap_ops); } else { - if (write_fault) { - xfs_ilock(XFS_I(inode), XFS_MMAPLOCK_SHARED); - ret = iomap_page_mkwrite(vmf, - &xfs_page_mkwrite_iomap_ops); - xfs_iunlock(XFS_I(inode), XFS_MMAPLOCK_SHARED); - } else { - ret = filemap_fault(vmf); - } + ret = filemap_fault(vmf); } + if (lock_mode) + xfs_iunlock(XFS_I(inode), lock_mode); + if (write_fault) sb_end_pagefault(inode->i_sb); return ret; diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index fb85c5c81745..f9d29acd72b9 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -3628,6 +3628,23 @@ xfs_iunlock2_io_mmap( inode_unlock(VFS_I(ip1)); } +/* Drop the MMAPLOCK and the IOLOCK after a remap completes. */ +void +xfs_iunlock2_remapping( + struct xfs_inode *ip1, + struct xfs_inode *ip2) +{ + xfs_iflags_clear(ip1, XFS_IREMAPPING); + + if (ip1 != ip2) + xfs_iunlock(ip1, XFS_MMAPLOCK_SHARED); + xfs_iunlock(ip2, XFS_MMAPLOCK_EXCL); + + if (ip1 != ip2) + inode_unlock_shared(VFS_I(ip1)); + inode_unlock(VFS_I(ip2)); +} + /* * Reload the incore inode list for this inode. Caller should ensure that * the link count cannot change, either by taking ILOCK_SHARED or otherwise diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index 0c5bdb91152e..3dc47937da5d 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -347,6 +347,14 @@ static inline bool xfs_inode_has_large_extent_counts(struct xfs_inode *ip) /* Quotacheck is running but inode has not been added to quota counts. */ #define XFS_IQUOTAUNCHECKED (1 << 14) +/* + * Remap in progress. Callers that wish to update file data while + * holding a shared IOLOCK or MMAPLOCK must drop the lock and retake + * the lock in exclusive mode. Relocking the file will block until + * IREMAPPING is cleared. + */ +#define XFS_IREMAPPING (1U << 15) + /* All inode state flags related to inode reclaim. */ #define XFS_ALL_IRECLAIM_FLAGS (XFS_IRECLAIMABLE | \ XFS_IRECLAIM | \ @@ -595,6 +603,7 @@ void xfs_end_io(struct work_struct *work); int xfs_ilock2_io_mmap(struct xfs_inode *ip1, struct xfs_inode *ip2); void xfs_iunlock2_io_mmap(struct xfs_inode *ip1, struct xfs_inode *ip2); +void xfs_iunlock2_remapping(struct xfs_inode *ip1, struct xfs_inode *ip2); static inline bool xfs_inode_unlinked_incomplete( diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index eb9102453aff..658edee8381d 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -1540,6 +1540,10 @@ xfs_reflink_remap_prep( if (ret) goto out_unlock; + xfs_iflags_set(src, XFS_IREMAPPING); + if (inode_in != inode_out) + xfs_ilock_demote(src, XFS_IOLOCK_EXCL | XFS_MMAPLOCK_EXCL); + return 0; out_unlock: xfs_iunlock2_io_mmap(src, dest); From patchwork Tue Jan 30 23:44:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538376 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD17C7EEFD for ; Tue, 30 Jan 2024 23:44:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658288; cv=fail; b=QKwYalJ0fsMnhnRC9a8YMeHZXYVtKYKzqIbsnRDukW6Yh3DZePOZpUEJj09XnyrpfhB1TbzuSa2pEuBo87n2r/nZQBbVD0z6QL+VG2PPOUY8hWOHC/bp0PGTEkEeeU/S4LUNYrQbKC7N1AB6JFSv/Jl+XPSJePHksm1KUD4juAM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658288; c=relaxed/simple; bh=ptQUU1riNYeaZ6ra63JPwMP6vbPi8VoDd9PokttUThs=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=U3EA3OTosZOewGUaRA7R+HlKMcZA41bqCGhW+vtHm9F+KAUYKIsLNBw4Ihpp3lGh/UMvfzNBV8b3TJBI96ufZNOR2lEr12nu+UyDFZ/lDyPYdAfXMqLzZX42lbelb6Nm1w6s4VwqAa7yhoyBqWKK7xNnsU0R/PXmOFgizYNdtXo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=ZEhZ2hSW; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=BYWNVAaG; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ZEhZ2hSW"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="BYWNVAaG" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKx9K0017002 for ; Tue, 30 Jan 2024 23:44:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=Rpp41uyfpYqkyVkZRwrxUVLNdfIlk2H6xU10UsUHj90=; b=ZEhZ2hSWyBwHOj7Y+U3JxzH7iern4Z/Y3XuLYkekmAyLFkv1+INtgKeXThWoqh2J+1WE /hfxg91f71Q7pAGVDlapXFSfIHTLKLhpv69W19CCY0O3VFKSHhoBkmqoAxSOhwAoqyQ9 7drTA94ZNhabI0Li8rFiGLJGTmol0gfVaSVTjTTNH4qlgPrmOm8EuFJX9Kal8e5U0CVs XmArhj8aU8gUcPsRyEbOkTMxkjtYmuR7RBRdWCxKeBoJgtbCwMfJxo51709VH8V0UF2B SfqbkvGmmQ4jDfrez7mpXkkex0Qiq/qo6bcFdwvo3qHj/qzbo4gGjjR3E59aETKl4Q52 8A== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvseugcmf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:45 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMU8or014620 for ; Tue, 30 Jan 2024 23:44:44 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9e97sx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dyggK/BM/gsxhxxtEc8ZJgUlAy92ORjuZ5BfeXyWPbsiAXhZ7MEnEZ2V96v1BNitHw/EuI7Y8a1zX4F12lsGZdHNgHI177s3LAMfTmrt7X+7IMpq0gubE5nAQs7WM2BPROvhrE25x/KHJ8qglM4nNtTTEa4LcD0AolNLyfMTF2vJxyAc2D9SEQQh4hzO7Z+QhxA2a0dIzApqJ4seA9TQyUqQk5LJtLXXYPKKV8f3eh9Dg9zihfAiEgirzKbYReXKauyvdoVDq+8M2hJaJK/yZfp3doEk3kGlTBMRm4wg1QjEpk4m7MGzx3u0j8SbywnVZMsO5OJ+b2+aRAGz7DndEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Rpp41uyfpYqkyVkZRwrxUVLNdfIlk2H6xU10UsUHj90=; b=gIHJvp/iKtPQ2ugoMseoVOQs37TNlQ6rhWwCRM4/WFG+p2zh8hcu74BL+7bf/eUZnhyji3cbbc6xTkClZRhwZEfCchZeFI0XFjVFVy5MoKbC9F3AaMJKOyGPmiQ5YayXrvcjkwtICTTJ9jmCS23v8My9TTmco2fLAliy7vBMAr308XvWvMZZSC2Rzgr1mONlERXKPZR3oA0qH7LQpROZNjvDUNV9ts4beS3NGZKYJiH9ydpuoiWg7Yno4dFZH+CiucCYgT2rs3qV7ME5zjhjgHb4vJ8CatWUE54cW5ql6hgycONm+l0Hr3h8H6AVxha9kxv2x/Kdp7pqb7Ftn8RSEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Rpp41uyfpYqkyVkZRwrxUVLNdfIlk2H6xU10UsUHj90=; b=BYWNVAaGdkQmhROkiL7T5+nevaJBo7QPUMDsvFsuY7UtMkgB7Hpnf8oEZ0Z7LrO7ipdZ6N8u+0Um4jGiZ5S7YQAxbJ0+a+5KFAosaD2D9CqIMRBIAgO1ir33HIEz0ZvmMJIOTBbY82nWPohp+EYuL8fuw9vLS1a2EzhbFlJ8EJk= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:43 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:43 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 10/21] xfs: factor out xfs_defer_pending_abort Date: Tue, 30 Jan 2024 15:44:08 -0800 Message-Id: <20240130234419.45896-11-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR13CA0225.namprd13.prod.outlook.com (2603:10b6:a03:2c1::20) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: a956ab7e-a59b-4e03-48f0-08dc21ed6ec8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qSW/ez+COMH+aSWQcpcWmKkZyjcx++NhWd4om9yAG9HxmCTQyImvoq60xuhZEOz3IFfrw0jE8pqckFv+YUTpN3+Og1thre61z1wV0MEXjvfgJCZq9gAw7tRr748Y6sjrpIngXfI1SN9hgDnOVm0akycxwVITn9/eyll3AAH5bE80B4LXb2qd0w/9kBke6nc/7r7hd6fkU2nAbkAPTEFsnewADAUkFu6Uh9NVu4J3RAM3jHEx7bmu4x+rNHrFzZFxIxaCGRSMJxfiZL3URTDcDH4mH8D1XjKFGIoPHkCryKtDnROXF8xkcQEiWtaOlahMnE6Xjh0FarPEbqNjSB/dBYD8i+Fe1Y8bzpKeLTpipyoVrosbW4W736xnX9jFfu5jgz6cQBKaB05d1z5oBun/jNtD+akhE02UubW4YrB/c0hrnzfz/KUS+Tudum8y2IQjAuRrl+b89/qy1UTeFbcMfYFOitPgU4d+EpfCRjaxgleJLVbyTxKUHw/HsLlzVMb/kHZ4kks/PfxJ4ozfVQTT4/CIySrAB5o8VzImRDqeVvv4YUbRuMixOybklFC/N+qQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1jgyC9wt22acZbbhrssihqb/Kx5e8Wvn222sJRaF8MVzJoptUCWd6fFUG5YLKjql8vJe78naYxopYoemliHOZ+P7hcu/L6KGX99MA7DPCTHdYcyiewag2fcWVUINo3EBfEAoFeSRfVFgnggYz1Wlz8CU8Y/AjLvPEVdhox6pQdyzQWZNEt4jUGxe46waRNAiX4R5HP96DRaQhuNnU/AxG5470k4amOr8weAEWXJ79r+Uvc76Ua6OdWPfsxsQx2amvj0E+Wavsnt6v7mMX6OToV90iNlr7WfP1rsONSEX0zYPZN8uWIDKKbba5mFwIwO3z81x6brawWtS+sAOJdxHAb3025pi6Tppun5d03tJ2/XCaz/zlXsEWC4vzq9dVeP4toUjJY/K8Q9k1ZXLtxN1b3tEFH+DsX98FxRjW1xykkSoALXvLXTLN1yj1A0iHcuh8aih2DO8R6blnOBxAB6+9dLZIPU+g/JxAwJgZ7LBDmArvyNigukEyVRq2QnFKS+khmd+CsBIqGHXaouHfmBcJLsv1GXYfts+eQ+xpyKbvCImbFc05Mn59GSehCWPeyQ/gjKkNy4NonUoQRrU31PgGugnAX3WOorJMbytYWusGEFQEVY8Nsz/BvFSI9GtSt60OLoOLMPrU/BwFMZnuwZxI/9jQN8jLkO2mk+G8A5PjQietWznHgN82/MsOeqgRH71S3/TQWH+qON8+/8WTNJ6FYz7OkFenjSQglKB65w957M/2BSEvrbZvziObbJqzLBX2HgVEIS8iTUFTQawCq9oRleuiH+qIFmd76Wu+CeCqF4zar4c7LrTpN3t90bb6JxJ2kFMya3DWasINKUojGAhi5AbnidT7NnxktGqGGakwICLkJQo73PKFJJ4m7Bx67mKf/o8LXpq/Mc3zHDOPZP5pZrJjChJvIT/ZeVr7XwXXlq9jpq8NUBcQOshUAeVy/xwCuUxI1Y0DJESwzsDq9Sun424J1tDbHOY/o9k4LC3FLp4N1yypkheVhZj9nuEbnmsAkqWgJXeJ5PFwJSXOfILPxv1gW8q9/fC31yecr/2kG7o7CMaOClgxz7SnkaxeXOi6PHqNQ3a2gShbL02xq1bxoYwr/LmTTXIRXU/0yB81rgBAKfe8f7s+FQb8fothPFh0v2YeTIzjGCS7hkxreuc8vDCHzNZ4ZtR2v5WE43RfMnyfCdFCaz2aaQ+wYdnTHe7/B0sHHOKA51XOo06gFCiW0Vli8/zOoiqATLhNx9Ml7Akxtzbs9YcIZovjd1CTUMMbob1EFX+0MZBAuPxiMGwK23g6ajbZ0LNo6LKg/M5xX4kOpMYxA8M7HCEBpw5dt/iextjSWHlzRqO4MRxuJCAXJmFMoeqvV+bjsuYErg/dXFut4YEn75snujxH8PLAoReWLCRJSc8W+dBWtjzfPs5csMlQXoeiBgb7Vku49Re5aAYJy3WgXTMXynEgPyrWurRnmUPWfTulUc9FaVN4sfWYDxMo97jfVto7jSO6vdPQ26jTp12H/wYMkpPh7t2JKGAfYVPr1lkXqMnKGT0qlyhXGQa2e4cjqzGA6q1znbbVPlUmg7FQBYDxPsUXO2Xhje26Qvk1gbd13ol5Nwlnz7QPNX0Jpesyt3Ox1ErbqsluBDxp/2Sl9I56vkPNtIit0baTHAHmX2ASbWwiWtt50Y54A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: c5va2D96GlZ8PzcMbMeswuhi8S2XpxdE3toZSB+I3T+Uc2nTV8/SRnUCmU/HdCUL6YxVp/udEZtJaz4GXPlamfMI73xUaSMRy/2/BsbxuuxjTv7Jk+djVuS5oVOcD3cOvJN2zhCkiVwYxjrqCRPaq6Xn735/cYlJ1XjyP8+gYNqSQXXd8DF/MIkx+OhJisxRrygrtMpVfzynnoKeArEKcXbm9otDIjTzs6Mu/EVrt0rn72AXeShOupLEPs44HxnO4ENPBGi5w7VeTfD5rQgABPUMnNCoDV+V9iW0GJpG+llLsdj1LuHb5ZkRL+oswauLgKpk2f2PBRuB37S9apZKLFfoci/LoYumzUzmrCeU+gwNXmCh3DHfcXnQRjRh+KESzhM5B3DgCEXkaw6mLvSREas+bImybmQIEmbWAjOOm2QV7h1Mj2krefKeg3WhwvZ2Rvm/LeFK7cqNdmt9bS4ExRjmYSstuogUWsOXizE6NOy6/zgg322An0GL6etQ1gPQvvvN9cHuW4W5kY9m2d9tyX3T4biCi01RKqD3z0pknWgRCzAdxDi6ZWFFXAWSfzTQ+YSXHz0wK00tRRqaH9OcDkiQEvY6yJ5UTvlE4w1M10c= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a956ab7e-a59b-4e03-48f0-08dc21ed6ec8 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:43.0803 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: J9Qb6C3czi8w5NTZTKw9o0H6Az3q+6M5U1z/QDAp+xNT1JVoVyolgtS0oZMOvkwD3rl30OEvD3q2MaxT6laouiFBtn1o1vvhjU4uZSy6N34= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: XGlKKYDQKXYTsE7ljwjUpc2YBSejX-li X-Proofpoint-GUID: XGlKKYDQKXYTsE7ljwjUpc2YBSejX-li From: Long Li commit 2a5db859c6825b5d50377dda9c3cc729c20cad43 upstream. Factor out xfs_defer_pending_abort() from xfs_defer_trans_abort(), which not use transaction parameter, so it can be used after the transaction life cycle. Signed-off-by: Long Li Reviewed-by: Darrick J. Wong Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_defer.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c index bcfb6a4203cd..88388e12f8e7 100644 --- a/fs/xfs/libxfs/xfs_defer.c +++ b/fs/xfs/libxfs/xfs_defer.c @@ -245,21 +245,18 @@ xfs_defer_create_intents( return ret; } -/* Abort all the intents that were committed. */ STATIC void -xfs_defer_trans_abort( - struct xfs_trans *tp, - struct list_head *dop_pending) +xfs_defer_pending_abort( + struct xfs_mount *mp, + struct list_head *dop_list) { struct xfs_defer_pending *dfp; const struct xfs_defer_op_type *ops; - trace_xfs_defer_trans_abort(tp, _RET_IP_); - /* Abort intent items that don't have a done item. */ - list_for_each_entry(dfp, dop_pending, dfp_list) { + list_for_each_entry(dfp, dop_list, dfp_list) { ops = defer_op_types[dfp->dfp_type]; - trace_xfs_defer_pending_abort(tp->t_mountp, dfp); + trace_xfs_defer_pending_abort(mp, dfp); if (dfp->dfp_intent && !dfp->dfp_done) { ops->abort_intent(dfp->dfp_intent); dfp->dfp_intent = NULL; @@ -267,6 +264,16 @@ xfs_defer_trans_abort( } } +/* Abort all the intents that were committed. */ +STATIC void +xfs_defer_trans_abort( + struct xfs_trans *tp, + struct list_head *dop_pending) +{ + trace_xfs_defer_trans_abort(tp, _RET_IP_); + xfs_defer_pending_abort(tp->t_mountp, dop_pending); +} + /* * Capture resources that the caller said not to release ("held") when the * transaction commits. Caller is responsible for zero-initializing @dres. From patchwork Tue Jan 30 23:44:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538377 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AC26B79953 for ; Tue, 30 Jan 2024 23:44:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658290; cv=fail; b=ABjQxrDS/7reHwOihTUIOi4N2pSGs6Nn0MAEqtcyfiFKoLoHJQl6zki7bxuKXtTDxo45NY9VcDyL1gGF+dTebGrQO0QrAJPnySRcRrpeKA0JhHwnCLwhkZskrEqinu1t36P7Z/HeTSYK+6HSUOY/TXA6tGZHIqME/tUAopkq18w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658290; c=relaxed/simple; bh=FfGCslGG52T4ySOOOLSL19+i5snGO4w1YfMvs7VtihU=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=IxfRu1hWQBGwQIN5als2srbUggGQYkppQvVTJcGVigYXF2Mtvh32/ZwVQtXgKkXmtwJQ1001/7Vd3cbKteHt8WHtlg4Dm+w+J4DCDt+o+Kq49TvGm+OuEGUtX/k2414+5tKi9SdnNcnOUv7FSRLwko1ai4XtdAISVgqd8VDlHfg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=k62lkUyU; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=SMtpbTYN; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="k62lkUyU"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="SMtpbTYN" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxjje030547 for ; Tue, 30 Jan 2024 23:44:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=SpuJ2ko1Ml0rNMMvgSg/q5UB5W9Vmf/u4ej6IV6Vq8s=; b=k62lkUyUvna4oL+1Ft3R5QF1Ac6HXbDeVvLn257I3pvoqLzJDD+nsIJIN8wP1Wg5/7GV O2b4U5QYsHKz7i+IeixJeylgp2YVDmRUGHsieffsjZiJt9eF4uyvCfCIrKwf1dM9yA78 sxlzq01LFfsF6ak1xiw+25/3ZxCtBKewh1MbNR0oBIjgXRaEMt1uycy8DIBlnVIiMDjZ BPmCxl+mJIfz6bh9JlFMBZ2nKiws+WIu33/pbl2KAPOlxIm0VHmA8/0wDnTr8O0/hMXR hqwp3C0qkVBFt9ecBn3YeUS+aBE1V88FakGrdEKdtQmRVX6EOmV/FUPeTQQ7bSnpov2L 5A== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvsqb0d1q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:47 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UNH4sT014555 for ; Tue, 30 Jan 2024 23:44:47 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr98010v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jbLVHkQ4L0gDDcvwcy25Zf5mA9wARYaizY4Tq8USQ17MTa1o3agsvqLjqjRUsDJa+q/YoZo6idICgrtqIVTkht58fqVwXZon04oUGNkYMsPZBY4s43Xr+LhYj29fro5sak0XzCgjq+IXhQGghIsn3sK05pe+h/9mPES0zsJCIksGTDwsTQPgA+IC7sSz4CBlO21lWgkBCBvzfsPu0mEy9MhQ/Ldsg8wMTyPMfI9uWT+8WxKKSox+iYaiaZFD4Wb9yShUtBvqREtljJQGnT1f5QZmCihH0uCCwsh/YQpel72diwYtlr02L7T1Ii7RjGq0QncpYeFi1MIdxPiKckBHAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SpuJ2ko1Ml0rNMMvgSg/q5UB5W9Vmf/u4ej6IV6Vq8s=; b=SmxknNIRgeQyeRya6aXDwNlE5SFmvj3+Qn3tzCd7L1jsV81zxZEeds3cmnR6BE4KJsfsb0dYFSoaX9X/Dy1NTGKh1LIqDKLqbWrIW5arT9nMjjCSQjuBMFxSm/y5l03XJsR66lrw3WQj8xCRDuUlBqitrSYmKrIsqRwockC16Vt+1dPSeaoeNePsb/QG+pTyuzTnr+QHn0iyYb7PWtFSQcpG/E0VNbenS/8bCWVNvn3EvWtnpCS0irprVAQvh3lUZGluRYhnQl6a3vyvoU7RmxHQrcW+KZRKMBVbzAU8UgJNXx7/oD4X/BE4Li3Ro+WVaNRpAqx+454JzJ9CeENQ6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SpuJ2ko1Ml0rNMMvgSg/q5UB5W9Vmf/u4ej6IV6Vq8s=; b=SMtpbTYNWEowm/YGeEm2wHwd+kExK1eQIInRsN+fzJRrjsrqfDXF2cI+K+WZOR5WxK3z2zvOyKhCh5WQCv4ko9X6r/8sRa+Eoa5xbgw2j/a3yo/9dh/CKWtYF2yFG4RuXO5bDvHYu2gGSeqE6c86uSulEFj3igp7rWViIb23ctg= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:45 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:45 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 11/21] xfs: abort intent items when recovery intents fail Date: Tue, 30 Jan 2024 15:44:09 -0800 Message-Id: <20240130234419.45896-12-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR13CA0228.namprd13.prod.outlook.com (2603:10b6:a03:2c1::23) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 0039a277-cb64-4980-f382-08dc21ed7011 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zE/Ax3XJMn/2qY/PW+M9qPT/t9wu9p/dRPCDWuqRcr+T3u92KPqyuvGfKflOoPZjpISYu2Ve0Mzdu24RWBdrYus44zVD1Dc/5ZMsh/+XEW//xIe5nNMWUp0ryVyof2cSoRfHupxuKDNQBU9r244GZeYGMTTORs0aZTuDxwtbA+M98IfWB2fVp5NxMy2dK7wPMjt0//wihWbaHcz+1wrG+7b/tLg4F6Ta7A40DIk0rGu9l2XspnMj74yyJaNkkhUGoVxtacUFPy3AwLCxC4gsiai5N9JYQimXMwTCrmPxrGl5/7OXe7oBh9/pGnuMLHBnTMiUrgJeRsK+q1vgIykaeMT/aHHZv9oRN6Skk5t+z/M+BYCqZUeLrFgvDl9Otn+SMopiqf0C53T+jjrpsfKiMP8cPLEavYmYILdRBqGh6ejtmX8O2WmAjEqnV58Xae7R/Li1zxmPA/QeTesXRwDhnDCBsSpV7Gk0AaV3KDl3mbKtuiWDFxWBPtDb2xUMD0xW3BrEQJC8eGq+Krm3xzC+5gCDVwNqCc1jG0Jl62BWL5Che/5YCPkdYLa0bYIkUFDb X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wyKr6C3Q0owOObOFWs8xouW8ZF/NwdfHPTPARhftOyetu/AqRkDuDJySYsQ1F2Y0BrrYNbephYyIXkqn3Sj9vZxsZt0qP0PEKVw0MaRNuEkrXwuMUxGiHaxkA/o74WaqlRZuJC+N7S/l8NGGNAwwj9//Q5lsa6em0AVMnGcbzzGeDTEUgxrwJMgEV1R0HE4yCQuQ3Gearow12tw0kuOKlrawUkqsNu0eylYCRrsB5Q7mROMrfR4FdEyUIW3h6y6Y/Wp0yDHlzSRU04Eo3x0bmxZ/g+YMTAqjJcuHtZO8BCtJyEuUmwFhcJ/pzvkWTwuZNV4gegP6yeMyNp1L3m22bbLUFCTG3hjkj2amz2/Mu7U1UkmlWz0je+NyE4d48NXXrf5BpcIoIqW9HFZrzVk6ePFt6eLmcm0fNhs/tJxN/o/aLzqUOOKR1MOkJzctKfSN23VN0uMXVWsAkwHQh6mowvKCpG8jJ4qbTld9jQs1ijmXst4a5JeSb4RVvHEJvzYUPjqOFVJ3OibflsQZtuoBN/ilmy5hAvX1vxPM3nyDanaxNUqjBgep7CqH8qcU8k4uexcEnGq2f4WfxJFeWXov9FQTrXUkkW0g6i6W7tt74OAXxJ8ygkkEzRLXAnfu5HhzTV989JneQnoKCHkIp3WSVXzZLbXZl3jXmiZyb5+HqbWOePjt2aRkmphXd7fuu3IWSu3pCfzJG0fVUCbkKAGAIxkGJcwXA7gLawNFKytAwaGjvNMZF9fUwPYo3ZkNyj1JirAE2S0HqdgfuFx0vqUZhBtHIrCh3iBuzTVCOMVMkPTiNucjFSzsFtpl9Nzj9Lzc+tiM+7EYiIr4AKW4JKucHCFGBk9SkvO9Wbi0vqfxiVpPllQHTAwaCwZz1uprkOWVqgtwbPlwUUHB314k3hpJm/9VyEn9ef1W3XtVvlwXS1QRrQ535w/ivRL4c8fZX0Ekh69NV4/ILYh42PNmBrLTBtqsWYBcWZnxhpR7/Hd7td8B2RQNQW/iiQ1GjaA1ZI6YCEcB6ngyRE+lTv0hFLZMoubKeivwQWMhntuZSjzWNNAK95PFSm9tY9mvQekfabcWeuP7Oe8V5DT9JxjWRJPWE3+cHb6ExBqdffIY7sgQ9+gKUMLAg1nbkANEFwxi5bq74aXg9JUC4qKiVVtjVK8U6zt3yg6X+NQZIHrCirbwC5731TdsO/DqVIwEQXAQ7j2nyS46e8ct3Q8NiPvhTN+6rDRv9qHE3vCLRtRgZXZlpYckmheZosZdzlGuJMc5aCrL1gU8Hg775l7mPYYRUjaKqn8AklOGOGFlq4FS/h+Ns12W9DRSekJI37QwUT7sfTlttt4+ptHayut2qkUp+Ck8GTPeZ58GDdb7Dyaw1RcHGoHQGeJRJX52NhTkzQRKKVOtFTy1emvf1MpU6a1cYFxmTp8FKBgv60mixX4LUTmILTM7USKvSv5a4ljSQTBN2+j1wA/H0L2DtJ9ZxudJWA5rzibvw8nul/b0WtaSY4NGvIqefSmkSjgp3m/bqmljB+laX9UKCkRNaZm48J8WztgOeRAbteVta8kWxK2LDJi/XxaiB2M2KEie3wYKjwDuNt2mn/vwJS3JOckSVbCHnikUT1rTb8ZR0+8IgIuY3qY9lOuu+XAJIiXSEi4XlWwgFmtTh68MlgKOmKNIMl3g//c4Ug== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jg9UBRImCzrwKEJ5fM1ItR2AEaGRi6+FuucxSgwj1ZnSeXVBI4a+TQb80pN7CXM5UFPUr3K4J2YommhuckmUPzR/h787vwZe3NLZW6Mci8JJo9rWvFbBVUbIRv2hpq/om9btXSGxo6m/m+gUlLKzABNWVF0sLtrofPidUmml9u0uNv37mz8hyjDxSLvv5+FMfGqZ/PMhgI8l4mRaowMIhU8Xpr/LSyMgBiNj8ErgZdzqKaBCGatR9RfkgPFyGyENwuKFq+WRrkWo83CEHP/QuC4mkgLoAdlxZfex8azrR/HwM0OERc+ycxnLSx0o33tPguQnaIcF7gEEs35YMOtnKsck3zBNXcQvtJNTL6Roy9shY+i1Y2gJQeF9GcTw4dvPu08rF6JQgBxT2dNkBcr4lsSJsiqn48Ug3YzTjYGNc10TRvp8+ycz7lslzCcuz1AcqqhZtKozd+yqF4QZITynowtgXtxdcIP6G+WRdOW4Frm+jJ2IuXwxCxL5ZT/CVMSGmXK9CM1QV7w+o7U9+vmkYYyg/imekm01sCw6UBLK6LYVcpHtDI9rXP7jV/VXWdBvV977onOCWpAwbq0clCw/7oB4Kcd+isrtJHeNoxXt2Ho= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0039a277-cb64-4980-f382-08dc21ed7011 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:45.1815 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zFFsY413/KqLBUZ1LhpZwJ9GplLt8plL0UV9R55sPklxb5O2/NsTuOZd7sF0E72ZCH1b6oUBws61n7BpTXA81bw8OXlP1RLWpOM+wLZB5H4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: oKgbEIK80MCDjKA5TQEmIbSgwuiodK3U X-Proofpoint-ORIG-GUID: oKgbEIK80MCDjKA5TQEmIbSgwuiodK3U From: Long Li commit f8f9d952e42dd49ae534f61f2fa7ca0876cb9848 upstream. When recovering intents, we capture newly created intent items as part of committing recovered intent items. If intent recovery fails at a later point, we forget to remove those newly created intent items from the AIL and hang: [root@localhost ~]# cat /proc/539/stack [<0>] xfs_ail_push_all_sync+0x174/0x230 [<0>] xfs_unmount_flush_inodes+0x8d/0xd0 [<0>] xfs_mountfs+0x15f7/0x1e70 [<0>] xfs_fs_fill_super+0x10ec/0x1b20 [<0>] get_tree_bdev+0x3c8/0x730 [<0>] vfs_get_tree+0x89/0x2c0 [<0>] path_mount+0xecf/0x1800 [<0>] do_mount+0xf3/0x110 [<0>] __x64_sys_mount+0x154/0x1f0 [<0>] do_syscall_64+0x39/0x80 [<0>] entry_SYSCALL_64_after_hwframe+0x63/0xcd When newly created intent items fail to commit via transaction, intent recovery hasn't created done items for these newly created intent items, so the capture structure is the sole owner of the captured intent items. We must release them explicitly or else they leak: unreferenced object 0xffff888016719108 (size 432): comm "mount", pid 529, jiffies 4294706839 (age 144.463s) hex dump (first 32 bytes): 08 91 71 16 80 88 ff ff 08 91 71 16 80 88 ff ff ..q.......q..... 18 91 71 16 80 88 ff ff 18 91 71 16 80 88 ff ff ..q.......q..... backtrace: [] xfs_efi_init+0x18f/0x1d0 [] xfs_extent_free_create_intent+0x50/0x150 [] xfs_defer_create_intents+0x16a/0x340 [] xfs_defer_ops_capture_and_commit+0x8e/0xad0 [] xfs_cui_item_recover+0x819/0x980 [] xlog_recover_process_intents+0x246/0xb70 [] xlog_recover_finish+0x8a/0x9a0 [] xfs_log_mount_finish+0x2bb/0x4a0 [] xfs_mountfs+0x14bf/0x1e70 [] xfs_fs_fill_super+0x10d0/0x1b20 [] get_tree_bdev+0x3d2/0x6d0 [] vfs_get_tree+0x89/0x2c0 [] path_mount+0xecf/0x1800 [] do_mount+0xf3/0x110 [] __x64_sys_mount+0x154/0x1f0 [] do_syscall_64+0x39/0x80 Fix the problem above by abort intent items that don't have a done item when recovery intents fail. Fixes: e6fff81e4870 ("xfs: proper replay of deferred ops queued during log recovery") Signed-off-by: Long Li Reviewed-by: Darrick J. Wong Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_defer.c | 5 +++-- fs/xfs/libxfs/xfs_defer.h | 2 +- fs/xfs/xfs_log_recover.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c index 88388e12f8e7..f71679ce23b9 100644 --- a/fs/xfs/libxfs/xfs_defer.c +++ b/fs/xfs/libxfs/xfs_defer.c @@ -763,12 +763,13 @@ xfs_defer_ops_capture( /* Release all resources that we used to capture deferred ops. */ void -xfs_defer_ops_capture_free( +xfs_defer_ops_capture_abort( struct xfs_mount *mp, struct xfs_defer_capture *dfc) { unsigned short i; + xfs_defer_pending_abort(mp, &dfc->dfc_dfops); xfs_defer_cancel_list(mp, &dfc->dfc_dfops); for (i = 0; i < dfc->dfc_held.dr_bufs; i++) @@ -809,7 +810,7 @@ xfs_defer_ops_capture_and_commit( /* Commit the transaction and add the capture structure to the list. */ error = xfs_trans_commit(tp); if (error) { - xfs_defer_ops_capture_free(mp, dfc); + xfs_defer_ops_capture_abort(mp, dfc); return error; } diff --git a/fs/xfs/libxfs/xfs_defer.h b/fs/xfs/libxfs/xfs_defer.h index 114a3a4930a3..8788ad5f6a73 100644 --- a/fs/xfs/libxfs/xfs_defer.h +++ b/fs/xfs/libxfs/xfs_defer.h @@ -121,7 +121,7 @@ int xfs_defer_ops_capture_and_commit(struct xfs_trans *tp, struct list_head *capture_list); void xfs_defer_ops_continue(struct xfs_defer_capture *d, struct xfs_trans *tp, struct xfs_defer_resources *dres); -void xfs_defer_ops_capture_free(struct xfs_mount *mp, +void xfs_defer_ops_capture_abort(struct xfs_mount *mp, struct xfs_defer_capture *d); void xfs_defer_resources_rele(struct xfs_defer_resources *dres); diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 13b94d2e605b..a1e18b24971a 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -2511,7 +2511,7 @@ xlog_abort_defer_ops( list_for_each_entry_safe(dfc, next, capture_list, dfc_list) { list_del_init(&dfc->dfc_list); - xfs_defer_ops_capture_free(mp, dfc); + xfs_defer_ops_capture_abort(mp, dfc); } } From patchwork Tue Jan 30 23:44:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538378 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E235079953 for ; Tue, 30 Jan 2024 23:44:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658292; cv=fail; b=p66bYgkQVs+0A9YEtprvKB7mBmEx4fpMPEIe4U2OvLNsLLywAXv2HydyEsWHghIZL35dkbdPPrJsNFvTCrPwp2s1u2C+c+J+6ywvkzy3BwAXaD1Noriafkwj9ykGkHMcTBTvWORIssWc/Okbl9uZuaYCC+ntg/BOvxZMzagOr6U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658292; c=relaxed/simple; bh=QGNaP4SUinhs+aAR8gx7RywonLkJKijV3dp3+AJOmhg=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=sI0PbiGWHYz8IhR26lMLBSlEoXRhGEMAbrsBHueIvw5yTm4Iwt/PFfzsFwlgAS2RIzr1SxkRXQPXfAQM75AwnKr8qRLfNuHcNrr/qqpK5/4nJcIjJqu5BWIzTtmayzT8Rpvp2hsGVaquOMNr8EpTA2+/X6rgEkecdmPWjUM5yDg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=eUR5Qs5A; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=vBuYwiky; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="eUR5Qs5A"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="vBuYwiky" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxubE030724 for ; Tue, 30 Jan 2024 23:44:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=3C7l7KSxJHeafQcIe+0S/PSdCveKAoPeYuysjY9HKYI=; b=eUR5Qs5AJrpXN6/RliBu9BbgT4bS8Nl2dcyI/CVdZ6m1sxWkWYGc8zLjes6B31bjxiEo R4OkoCbbKL0hGljR0nv9RTsxUZoLOrasC1PQUAwzWaBs7mx0b67+IpkxXMZHXEod8typ 40rZfsW15ipA+8TJN0hCtr4/ildeMjghqi1HHtZzyZPB//gY5dF6fsWmlXqJhvK/hchE P1eAohdl6pvlZddEftbjhRyCZwMrdUoY4eiFPndUxyGBhCzmAK7+jnHyzdvfiHZDw0sw kaiftq7S5ApYJ8yFYIxC2PW5pSw6Y1PPydzIAbO8CCdtrOToO8wBd+YUZVKM+OY3786F GA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvsqb0d1r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:49 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMhiqZ014647 for ; Tue, 30 Jan 2024 23:44:48 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2041.outbound.protection.outlook.com [104.47.73.41]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9e97tq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ljrxXv880YibfsEsQghLumcSwPbtWSuYNspqezK5l4iV+mmQkEqXMLdJ2DQmnb1ZILZXGCBc4JRudps6HouhNE27Yg+cPbjXNylZr24GZ+bXIoqchbXd0JFYphYNV08z73p2bF9EE3Rw7kBkgRN7nkIfHBeYvPhDt5Wrg7UXdjIxh0WLdkoK4wBQAE6gzLHkmz65QgGh1C5qpr/pI0x1+5RHykSP2Uco8h2POMVhGY+fbPnpnLQajKaJcrb3oBz9jTzGRxcAO3IJdF3kDf6CymZwLETSPXRTThvQnui+HTOw3YrxZstQORFiwqx58C71yr87hhfmt2lBaBrTsVY5Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3C7l7KSxJHeafQcIe+0S/PSdCveKAoPeYuysjY9HKYI=; b=Dnv8700iFrawOLZwrB9FJV44FptE4NchKq5vX17MJ0sV1Z2r8DkheX1Yn7J/a0+nqWZBUTx7trM8dKRShg9rHBX5SGaLSYq06u0NhS8wO7ZCF6txByxc//Ctk3+z1zN9nS3IAoK0ZJN2c4qqaDw9RIfIgOQDiaq+U6DIwbwYcbzLex+ws5eOYt0mFANhsYEsnrhzwq4Co4w9qdx7mzA//oZevJYbOKWCLr3IuDbOXHwgCYx1Uy8/6lFOvYf9cnVzg4TdeZ3/FugNYT1wQgFfQmUhc/umgtGatgNRcyACE3+IPulxr/iRHm9moz2cCkdLY8/Y2dAEins1vis7JyREkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3C7l7KSxJHeafQcIe+0S/PSdCveKAoPeYuysjY9HKYI=; b=vBuYwiky7xJ0TVdnRzHDliWrv2ofgsCMHwq5Djkav+vjKd8d99ecFsYVTf752Rs66RgC+wGEu0FhNTaTb6BM+paxiksmAlXOjbKVDz6livLxYREk7UO+Iu239NADvkZ7xmD+x+kmn9vBDiYoF2JoWx3bjMMBY5UNrhFzwmZ8ieU= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by CH0PR10MB5305.namprd10.prod.outlook.com (2603:10b6:610:d9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Tue, 30 Jan 2024 23:44:46 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:46 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 12/21] xfs: only remap the written blocks in xfs_reflink_end_cow_extent Date: Tue, 30 Jan 2024 15:44:10 -0800 Message-Id: <20240130234419.45896-13-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR03CA0079.namprd03.prod.outlook.com (2603:10b6:a03:331::24) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|CH0PR10MB5305:EE_ X-MS-Office365-Filtering-Correlation-Id: 86a73be3-1c59-47ad-16cb-08dc21ed7108 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fKCFoI2PHRqCUnG+yZOvjZdxU66PK8iJrr4taCIcVKouZD0UeVHlVEAuBmnl+uINDbhRTpbbGhq5BvkKAcuhu1ZNlXL8OxpA7dLXnN0pBbKmbXcYYKWWhTXUSTJZ8Mw3JwZyWGdCk1zu65/6/QqS+SXg7S6UqLXkwylcCPAFlZlpVXvZIe4rXVcPWXacDwBxMKQqCV3dEfY42R+gRQBIgw2lyCHZGw45L2LOV645dVFlqdjbIPmD/xy01GhWQiMe90UPwE5pwMj/2Ac+QYIS9dbHKalAVBvX4sL84ntahdeJSagaev4wAJPT4CjQSAihsVGCyGHgDe3AHIROs4as9SPrwB8fDRFFyao43d4jkrvNYVCCY46hidrmJmqN+rSBzVyPhH6R1z7Gm5lpF1hldy3CWezHkuFK//8ob1pBzcSYqDpbc4K94HEm/vwi9OMdgVLVOE6ruOk9AV/WE+IkkV0LuCXD8rTLpmEMDiiY19i1/Q6Drb0XLPYjL659Oowbm91wEnMa83eK4gTz6LcAo0D1+EtMnjhM3e//0WUoy7gSjJkw9rEKYtNtk3KUnck/ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6666004)(6506007)(83380400001)(316002)(6486002)(478600001)(86362001)(66946007)(6916009)(66556008)(66476007)(2616005)(41300700001)(6512007)(44832011)(5660300002)(8936002)(8676002)(38100700002)(2906002)(1076003)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DbSgg3y3iCUC3ImW1X7QcpokpShmNF4OZ7+FX6iN3J8seUS7oxb0+uaqmOtGa0SLenNbjBZfR6SL/NJQOISmciwZoZWCDoD5tuXMzrbFsA96OsLT4PYCBVV9D5tqzhv1ihot8XyJWddZ1fq/X1LerB7UJbzdNdjwxl7kKh80HNR2l0kTlG4qYDTLuVs7GhlDJ/hZr7SWvMRgnqKOK2oMWHXHsUn9CVoSXdYo3zeln9lRiTqjKjaHXh9FWm6AV6rmyzjlJCOucpqBzlr0zyVCPwA97ZyYU80TOtLnE+nfpFIp6ML0BLwDAynJK470lcbv7UlmEjlE/K7bMCAYL/ASNiYABl/vVkmZjrLyca1mUvSixKL8W3nZ3I5wQnvXUjUCZadwDi+50e32Hx/MucVxh8/KgrjWmNT4PtzjMldeY+Bm/RZoQjorlIe2W/PQ8ERKr/aeex9F4kFNMu23YIOsPzBV37ZQqJ2S5W0mQYQLw3ROEIPIJsShOIh6M32IxKCHQhNgHFTO18MFLyga5JRWMyKAO80/v5IrZBUlgRSN18EOve+yAwhtisxkvIhiLrlm1Cn2dLoP+M/4YNalvi0wPjQEBQm0YfzNuzx8NJEeXRbwIbZpH0BpUveohWa72dHKgTKa8VtHxAIlm99ySCbwQID1SqB+hO9V4TvXGrJha5WdwQBZeaY47V9l6IiisxDtgckP/aUdogp3MjrapSvj6SgZkrXkswRff1wUjI5/TAWqfHCEfUtEFbOc1H8AnGGV37W+Hs6e6bNyLxp+lpzYj6vduJEMu3ACSZRxks64DhUGQ0H+FtHgZlW1ibhETyZLZAyJUQUCeftIghl8kuxomUKWHs9R7GHCfmo3r2frdnMhHcRkogzc56hDolcjfjQLy8uz0uHAfDNtZQjyYgIiOYCQ3MUiPhPezvncAcBKnaQ+PgZ87VfS7LYCNurNTzhPpf3ZSllFHw8ViFbOni67KFC1c2PIIFNw42TDhzepIDT8PbYTER7N/cCJyzQmTOZM++dyU8uuFgKJixhTx3aNjmlPZLjDIYHYqHTHC8vYiPZrCfQ8A4SJxTf1Uy+K1elBCDF/D6/aahCsMwjfkCwRlbwu5v/7U0Nl/xcsdjSRsn1Be8penxdtjGpJjvWY4K5YFwE7020eyFPs9cONRyWEBdqZkcKL4nJK1aLUYm5yr7ScrDqYQJ4mLQ+O+hPK1C1V5LXtEKAXL4nS+4daRDSSd69UKchKRfNLp9MnzUVNp0BSO0WLUjHmvZWwLTDxDqv1UsLWdl3B27kEK1bFdQxwyQ9BhhU3P0xJddXwlLQiSn/9sq6JOK3+6i6m6lr4nmbSecjh/5sNmfjWTnDtZdmR5O/ciOlPkBbG5zCPQ8hjHen3vIivlWLXF4b7TZLD0MsLnSDbaaoJiQhvWO0PbHWwUI2euyRKky9Pjxy+ikhzuTH99KbCkbPNDvP9zzQrtxO6uRmozHPCocJvd5P3SFbjFeE7ywnQRa1AzVGMZS+f6yHbUHy6MaKtrLcww8a5CKaaDkkRVgIxYv3PzPNhoPOmv5zLsMh63dVn7HzLHRzzEnuzzCB5uxn/vD2xjzT/MKksXGDlTa9VY0m4Cl02TxfvKzcsFqqDQyp2oCTNq8GIPLfgRD+T/KX/OsMUuBhATyn3MXDQYAnRQhihO4x0HQrE3w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8wNBByzdF6/7dq/V6EeEJ463dDx6NsUhMtJvrSA32eyj/mWB27xUME8cO50qZJe0uA21F2DmTZu6bOPXyCWXjlfPDn/nM4+v2dYz3IlluvWZax1fuk6wsIjeSEkOqKrK5k3f3vpRM23RJJa1WZtfUzuYYr1iaO8y690Dqz45+swgcUY0K53bPhvJJhvHubqm1go4Z/yzI3iVf29bggfgfNXj4qZEN+C2Lgb7fRdv9X0p6RIZIxVZySihE+HfbTuzvvjPD4SV5CuOvhq8S+ngecE7A0+EOP5ChixkelkrmkQ0G6WNp0TXgTPKTYYFoPtABrBefKoc6N/kNiKheF7EkkqRGxczC925OqUm5XJoFNuSIuWT/64tAfQA5xGA2ynEywwpwVf4cwWRi+tWUgf9JbfSLzB0/lwULlg3EtcMs5fuNTjXQsUhx91mPYOYOvMOpMxgABvWAB+qLS8DGE6tB9ZSbuaSAQb9K+IQ/W9e3BE1mW1JwlWJ1wreX5NYgfQs0jJu4M9K/K/ZOzCCNavh1vaScpXPX4QaRrf0NcZOESEWQSoDsnYtbKlWwMh0vbaM0ckO0kZFLDwFmo90G4548Bu3PQaSBJ2WJ3zVGHwc9xw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86a73be3-1c59-47ad-16cb-08dc21ed7108 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:46.8610 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3BhrhaikdqG/duPuJhIq2+824jHGNziCZmhoagSRjlCfdezwCEVJAqPCshDduJtrC2gDzmaPDPp7jx2WQZj65lOMuXqbCqevPv3V0S+hOYU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5305 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: KCPrr21YFdxFviyo9tXhK4Uiqfrgxaam X-Proofpoint-ORIG-GUID: KCPrr21YFdxFviyo9tXhK4Uiqfrgxaam From: Christoph Hellwig commit 55f669f34184ecb25b8353f29c7f6f1ae5b313d1 upstream. xfs_reflink_end_cow_extent looks up the COW extent and the data fork extent at offset_fsb, and then proceeds to remap the common subset between the two. It does however not limit the remapped extent to the passed in [*offset_fsbm end_fsb] range and thus potentially remaps more blocks than the one handled by the current I/O completion. This means that with sufficiently large data and COW extents we could be remapping COW fork mappings that have not been written to, leading to a stale data exposure on a powerfail event. We use to have a xfs_trim_range to make the remap fit the I/O completion range, but that got (apparently accidentally) removed in commit df2fd88f8ac7 ("xfs: rewrite xfs_reflink_end_cow to use intents"). Note that I've only found this by code inspection, and a test case would probably require very specific delay and error injection. Fixes: df2fd88f8ac7 ("xfs: rewrite xfs_reflink_end_cow to use intents") Signed-off-by: Christoph Hellwig Reviewed-by: "Darrick J. Wong" Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/xfs_reflink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 658edee8381d..e5b62dc28466 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -784,6 +784,7 @@ xfs_reflink_end_cow_extent( } } del = got; + xfs_trim_extent(&del, *offset_fsb, end_fsb - *offset_fsb); /* Grab the corresponding mapping in the data fork. */ nmaps = 1; From patchwork Tue Jan 30 23:44:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538379 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0D8F79959 for ; Tue, 30 Jan 2024 23:44:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658294; cv=fail; b=a3dKs7Kl8dOPMEtJG3q9vgpNsObFdpyMgJlB/XS/kZeEIw/E9EgzFppi/kUVBMOcDuLhPkxBJzbaOCjrPIeyUYQ02WmLUmEHK6cCd7f9BbVbyiMhNJEmdPIz+tOoMThccwar99l2EDjrBS7PpGta8gMSsaF5ZwhqYXxyEMAaWyE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658294; c=relaxed/simple; bh=tM2ISFO5xvWCfC2gB2gXxiLxNsWZ3FOS97s2Egjje54=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=H1EiipQhhOlautiAaNu/nW6HcQ6Ou0z/AimYuh4du1h1oesTQbSJjMYXWiue95TowpFNL3oFeFOD5/50TXuzJ0QCn0EXgQP/vFfQEwoTEhx+JY6ZYJ4QBT8o7fjoRcbCeOw6TdDYcaNMqycgTCY/Egkyaj50SYc0kwYEwnBBUJs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=iuzsJYzR; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=yRynxYul; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="iuzsJYzR"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="yRynxYul" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxj0F030554 for ; Tue, 30 Jan 2024 23:44:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=6a/Vx+pcL13GNO3xhPo/HMGejI0TDJBNgPqeA/+05WI=; b=iuzsJYzRGtgI4qmzkykKzvHbBMM2261rW3dhAr0JeoDwZ5sm++xqTSzIzIYMP8cuk+vZ UFVXGdIngQSC86zzYVojcM8BidNocxurOt2G9Gcg0RyKx/4QgIYm1NiTisW0O7cp21jr 1/XUs98W0NosY3ewS01GznDKlMV5GPVjwwce59J7I8iAU1W8jcVmhYgWhUcWwiw8Wy0Q Ag//V45SuZMSKuYpObuLyvGvi2KsXZs/fV8/8vn16sS8NDrz4bq3C1kWKNjqN5vGWLfJ PoCKEabK2/vEK3aHQ29D1yNEEXBBeE6vb8CDt7r8dWT38m7SjpFogoE/jgw4KBtYfP8R QQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvsqb0d1t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:51 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMtP9W014473 for ; Tue, 30 Jan 2024 23:44:51 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr98011v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BO+19gJF2zllKgQBGrsovpJB7nIgO7zh4K4KY/EH1trARguzVDzzmpCy6Mw7Q+aWYj43+Gn8oby7pBtwuigrEedx1kLuWN1fKTDn9SCxur2naA7by7QY8cZhhEe93iOw5qSeJ3ec1s77GkWpzNtQajnyTb6s4tn+1XYCydcmkmfsAdiBPy0cak117hWYG+y854V6ucPaqOm5AgfFa1eVRpw1lrXfiwyMb9/aA8GAyoEfZGanawPNwT36x0JIcSgbZJDaHNRhMMxD3ZSCk84JWswPcKCO3GijsG08kbt0pVoTMuwxXgyKKHxUv5k0c1bzq/nbNQkix5x29UgIw+cVvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6a/Vx+pcL13GNO3xhPo/HMGejI0TDJBNgPqeA/+05WI=; b=UiIof2AR2Y+WOLGH3Xp8ONfbrXPO8rQHTSm97vimbDFXRNbBwSAED7ufMCDAfD8ewnOuTl/eO4jGMrA8ZIWvQkaZ4T3k482m1z2/8/ylvFZDN4iSeY8bqjcYatpMGPo25/hk2sDzUDWbqr4TokhLbFuXqGOiOv04xYY5q2ivCzxaCYRQjIdY5DUAXrZdcOPQeuiKrzAZhcOVIGoihEnCZB/YhTw5VHOGKYc7dkPJk2gl8YJry+e6idt+86umNgqiEt5GrseyFX+3hSjRychNWpv563YztlH/ggNYLvnc9xq1FxuyXP16BzQg+dmoc9ulVd2vsk0/lFep2OCxasxtdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6a/Vx+pcL13GNO3xhPo/HMGejI0TDJBNgPqeA/+05WI=; b=yRynxYul6+QSvSibcvpDeFLUQvJTpCYjsi4cocBhEnPrMXy9908R7zKsK5A5vvyQN7b5fC4SR0mZUH88nbPauCZ2D4w9lS+XrEQTnw22puzwn7Uq6VjX9Nx2xe13weOpXfaEmr4vpuXLv8CFoc1Pe/ZZZXNPnP35qJQyXwk1bLg= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:49 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:48 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 13/21] xfs: up(ic_sema) if flushing data device fails Date: Tue, 30 Jan 2024 15:44:11 -0800 Message-Id: <20240130234419.45896-14-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR03CA0076.namprd03.prod.outlook.com (2603:10b6:a03:331::21) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: 2be8c793-e6f9-434a-6c2b-08dc21ed722c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KYhRJPE7MjjQYwCnsrrQGWnYpBnhUsq7SgQXbeJd+/vwmp18fXK9b895O1Lu6XAspbby4odOkqLU99+oF7+pGt4AbjT+hgzR2HI6lus/+B8S9U6KlWB0LPDvZQyDNmWj/FDWq12d2knKUr7a/dK6h9wCvflPsCDnHZZRRi4UIaJgnZD1CG5EUfCxIzfg03vTolvyKbOgV4fX/+aA+ttMIgRcVvDCh7tm97zOjOzp1A9rkw+lihyLOaNvTLp06o10n5yv5KFIPyGiBgoriuSSOY9gx9VEvsRHKbeXsW0y2pesGHGGcYd/GKPHvdfTsrXLfvXCwGg8O9OvRxiFxgTLQQYV8lKg6Whg3Rn0X5cubvGwzUtwEFikvpbyFUQUNkvcxtdal5xL5X7bvosLZERV2eW5TcAaNOrbL/FeP1N7fFA2FQHk5qojmLQRfA8bhyh2QlpU73twK/kZ1+TMHwND3R234WOWVLZ4ikaTxTA3aPHjePpZWcB7D4kRPbOcobysibUWbBQAQsJVufDe+X17r/FvZf6hjH0HtPlVsEmQP6lFTj/8gj8X2NN5ab7sXZZ5cUV5912Ww77ui6OSX7Y7dRxppxng/hRxoZl7KFfDfzsvXLIBt6gw1VQhafP7gaXl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230173577357003)(230273577357003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(66946007)(6486002)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aucM0DI2TG8EAeUsNP4t56oBkuBx7M6qfyH47tc7QNY0zTRCv5OtqhxWMfgb2a32e7/FYWjlAgEgm5xHfAUM2Iy01pe00ws0rmY4pUucOcn3y86EBtiZyKYrcuH0bvQOY7+RjwZYWmwpYr3XKPzyGcpIOOddA4PMSq7S0ZZHQ+rRzg++20s5oz3Cw8HVf8q2uQLkI4rCQf6+r+TvIvAHxJqnevWRWgr7+GRZzK4/BShgWmxTVqRa/i8jNbcvKGMkLiUaM00HqR70vSPRjUvyYWHRH7t96gpBSDlCriAYPwEHHkYUrx6+x4xmbx8NHlfF6+ivHSBxrNOhc22cZgkfKBCJAnb2/5RFzX3pchapUDADJxaHnLgtzHPpsr0QJK1WVze545Ql7BJkkoPiMzoVXtmUf7bUHNknYckmrbakAVRqVhRffAuDz/VHhORComvSYju9LRJ8tCSEROBbrIMwqmJeKQ63o0gRzJLCQKJ+JDZylnQ3LqSJO/nkUcFAyAhqBp9fyzsPT9OgGzT4uz/Gr3BniNT95LnLPBGiUBPSF2CVyk97/1fnwv7qqbVLg825lZEZ23GRPQiO2XULsr1kqaq+bre1THwBYKOVrS39n+UenuCJ1FzJy8lM8kPPqKmr/5c+yTcIeApjfxJTYiYUSzPyesHx053UABpsf5VMsCFiy3F2+KQOy1QBgZPmT2fZ5XpSY34VE/DKlq/fm9JKiMArB2WP44vKx5rf8yfzFdTdErxN9gcG1IfRCBaJed7GDOZ6UaEIMxTVEyQadiW/wsVZKK1vnyh+b2SGPFi+WLFO7ZDNOU5o7Fn8vASuNsDpmBtSnYQ5WAWPY1/WvEYRryJ/jiBYOBep3vo4g1fqoBbMijwfHA/vyH5gND3/rjRzUXzNWamRzcTUZMocxlQQf71hvec3VpScXbEoIYo/BH9/1u7AD5DpjKVTEX69of6lc6ACFOwtEGSXx6EdFGY++IOiu4c9CqWlbSOvQ5aJimVAR0o9NF7CHerPiQGVmRBd3F0O25cLQoGTa6RLEJkuoTQfeR1VCD18ce4R1Gv4CDZm1CBFEmOizElKUt4PCUw99gUgAys0iVm/OFxMzObSWzUf/cWsecTdORFQstLj8OTWOqB7shfNJRs0lvOa219MvcdbWpDJX+ijcZYh6M7eflKEWNXmFhjQxTsm7HT2daxlmy21haTAdJ0kVF7m/IysnSVURr6Gf6yQPSasfZdUFO1VHHSJvkeM85zivsE5jZrMtlE39U3OFVVPkSn+lUxomlFlXGwkX01315MsP37pc0W9Szv+Or2Szz4ek6U4BKjgkeFT5O2mP0YCM3DLfHNp8m7k+QUawiPX6u194XYsu37oE+lUbc5vvtZAusGlJ8mfRxtuNC5k0DtQbzerxzv7rwzmOfCCtP3SLafJejtPf+ypaOWWJqqpI1Ys2ZbHEdow6RdE1gWWJc2x2xJ2rTp5RZITPHhOzLqh0zBUn2kZF1VAd83zRfSKZY+EuDZ1HOcos66jm7PQXbmphEfk/gbPc+J9bUGzQE/PM0+SwMMMe6JkShUW7ODDNBOmOi/RHVy3tYtFsWlusqomgBYIxNKUrAYpHit/jGOqFj3SoRArvIS6MGeK9tClMizT5iNo0VlMwestlv9E4Nb0y1L+E+LLnoDvnBI8XpB6VcVOOl/S/A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jwuSMvb6iUqJ2dGoyLVFemaK88vRWo/yHtc4nELSIRAq1VgUfeKNPtwvY+Gy9L85y20wDQvSw6WkpvX7uauyFjL+VV+IIQGlhCbvlWjjz5bq0bR5PiwYUrDhHzZYSz3y9N4LQqnTWstJ4/yg6Bp1VEyH97CG2Zexu3z8Y+tuTvBx0ZMmoUVR5kA0Q9aUvr7H2y6lwizDif1msYK2ECcxYRiwY4eDhzXeDjbcLpfPq9QX4NF01KYbpnfYCHLcYgMPmJS9+/HuUQu20rw6vgZXcDhYhl/nO19nDNl3KYpEloShuegPmIEv/PzjYx24oAgFvYeVUohFDh2ws+ZaGw9UDtYI+p8C/SK+ZjW/W8KTxddIssW/cW0D8yOWTS6dWAvsWV+dsSamKSUlb3hsSZeIFwfkbzs9SAs/mfROBCY8rvHMV+FtY+WtxHc7iyv88i9R/hGKJhB/5vBMR7pTzlkJUWsNIijTWxAGTLzY5DXUfHcb37SZ9Znzj6QGVf9osxWcbEe2xVmtTLtN+dVzoM0iLv+Y1h3BDloClo6Iy+EzCgHGPywobiD+l4v5m9PkFZBlO6zKpTCBItow4O7E9p81P7oCIb5sws4kdqUr2D0JekU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2be8c793-e6f9-434a-6c2b-08dc21ed722c X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:48.7096 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aOYbs+deUGUJ+vMZPjSACc/Fhj6r+VMF8/3B4IAFXTx3ahl963OK4MbsUcdkC2oH1uiPLA01/DRJIFG3B3kCp+9UtWir3TUdXhSjiwEZdOI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: 6K_XOrQmLUp-fU7u90KLAd67P03sMunA X-Proofpoint-ORIG-GUID: 6K_XOrQmLUp-fU7u90KLAd67P03sMunA From: Leah Rumancik commit 471de20303dda0b67981e06d59cc6c4a83fd2a3c upstream. We flush the data device cache before we issue external log IO. If the flush fails, we shut down the log immediately and return. However, the iclog->ic_sema is left in a decremented state so let's add an up(). Prior to this patch, xfs/438 would fail consistently when running with an external log device: sync -> xfs_log_force -> xlog_write_iclog -> down(&iclog->ic_sema) -> blkdev_issue_flush (fail causes us to intiate shutdown) -> xlog_force_shutdown -> return unmount -> xfs_log_umount -> xlog_wait_iclog_completion -> down(&iclog->ic_sema) --------> HANG There is a second early return / shutdown. Make sure the up() happens for it as well. Also make sure we cleanup the iclog state, xlog_state_done_syncing, before dropping the iclog lock. Fixes: b5d721eaae47 ("xfs: external logs need to flush data device") Fixes: 842a42d126b4 ("xfs: shutdown on failure to add page to log bio") Fixes: 7d839e325af2 ("xfs: check return codes when flushing block devices") Signed-off-by: Leah Rumancik Reviewed-by: "Darrick J. Wong" Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/xfs_log.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 51c100c86177..ee206facf0dc 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -1893,9 +1893,7 @@ xlog_write_iclog( * the buffer manually, the code needs to be kept in sync * with the I/O completion path. */ - xlog_state_done_syncing(iclog); - up(&iclog->ic_sema); - return; + goto sync; } /* @@ -1925,20 +1923,17 @@ xlog_write_iclog( * avoid shutdown re-entering this path and erroring out again. */ if (log->l_targ != log->l_mp->m_ddev_targp && - blkdev_issue_flush(log->l_mp->m_ddev_targp->bt_bdev)) { - xlog_force_shutdown(log, SHUTDOWN_LOG_IO_ERROR); - return; - } + blkdev_issue_flush(log->l_mp->m_ddev_targp->bt_bdev)) + goto shutdown; } if (iclog->ic_flags & XLOG_ICL_NEED_FUA) iclog->ic_bio.bi_opf |= REQ_FUA; iclog->ic_flags &= ~(XLOG_ICL_NEED_FLUSH | XLOG_ICL_NEED_FUA); - if (xlog_map_iclog_data(&iclog->ic_bio, iclog->ic_data, count)) { - xlog_force_shutdown(log, SHUTDOWN_LOG_IO_ERROR); - return; - } + if (xlog_map_iclog_data(&iclog->ic_bio, iclog->ic_data, count)) + goto shutdown; + if (is_vmalloc_addr(iclog->ic_data)) flush_kernel_vmap_range(iclog->ic_data, count); @@ -1959,6 +1954,12 @@ xlog_write_iclog( } submit_bio(&iclog->ic_bio); + return; +shutdown: + xlog_force_shutdown(log, SHUTDOWN_LOG_IO_ERROR); +sync: + xlog_state_done_syncing(iclog); + up(&iclog->ic_sema); } /* From patchwork Tue Jan 30 23:44:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538380 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20ACC79950 for ; Tue, 30 Jan 2024 23:44:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658295; cv=fail; b=rGC56vYeS2pArPV0hL5q3H6G3yzxWgznD7c4khlXMaWCkLh4Is3e4vD54rWRPfiDRzAZ8yHhpugjfNFyixRLwZqRJXahoa/985qpoU22+GeQsMycPWX7W1Fa5laprwynQKpS4e+E8vTacNEfFe+DTYUcmo+HtoI293P+rDKutJk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658295; c=relaxed/simple; bh=aLjFHEdhfDp1snEEA6bJMvlFHVX2iUg1BibARViqJ0c=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=S6S6wrMHRsF++Et7AJgjP3Y1Tm17NGpjdNeeSJ5xFUTGDeiAY+Mrv6Oj4yLfMEh0JoshMxAS6Qm4GJLOnpgz3wbX9crHLkTjCJSz8La+319/CkzXyaIC0ZXkTYFEo8M4U4oGTT3vdmBr2ZxFfkzRNo/6BAw5Zzkau1nwnjN429g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=O5BkLkt/; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=JooBJUkt; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="O5BkLkt/"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="JooBJUkt" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxSTG025981 for ; Tue, 30 Jan 2024 23:44:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=0KKVZ1caTeQqLNoRwTQXdwZybi+h6QhSESfBwIlbIfw=; b=O5BkLkt/af2m7dXjOL8FvZb1+lvUhc67uccE5VP2RIRSRKEmf7UuPcK0ijz/0TVHQpC2 BnaHnCC9Xzg4w6WNBr8VmrJPT8CPFN90zCCEj1hDFuvSuHfdD6gevbvCwMUOuHO5GQBD L7xT8lwObgXPnRpNVDDAcyaURsET5bz8Hu/Fjc8sVa+MEoqnvzuiELuqbbNwDeul05Xv 6h6w7zo0xGESdunPfhJOnRwI2tPsPhhOHq+6rczixTDF9s2Gkwgu8KBrM/DYKQdE3tIm 1XWAUFAHsUdjPZObIb4wCQP5V295qnatL5QVPPjaDJUuivOIq1QUI55n5G8pjigshMd5 jA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvrrcghm8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:52 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMtP9X014473 for ; Tue, 30 Jan 2024 23:44:52 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr98011v-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YobGAv1kwCqVp8iw5wpdAQvqWJZFR65HY5lhKeEYcVFhkJPdrrHYhs8HW3oy5EBXtdJ9MpWiTrfOrvoKL4QL1RyzNjVJ0nUK/brlzk3fyeaC4T2FcQOgIsQT2dq2vJBRhTnjVHyq4j+8VubAlSNwvTrkEC6KgFxuXwjr0BxWotRk7L+9hLp8yoW/i3AdUg5v2c25u/kI11+JWvY4JVZP6oSIKRNoX9bfOW2vjp1LS1Vhx4OV7KL/dyzv9E7jFYUz2J2D+nqtyfOxZgdS6A8YUTz4bIQyk69JQhsDyfHDnwcoJM4F1E+hToeHgFd4sM0CQwmbqi4y9jrdjqcIJXuYTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0KKVZ1caTeQqLNoRwTQXdwZybi+h6QhSESfBwIlbIfw=; b=YXq2ZUW1XpDCbx+7bAq4TEW+xI3WZaRNYmtL4v3uc+YqyTUw5uNgzX9dwCxjHkB1Rw4sA9Suf9kWc2Hm3+tU17wm+kV5r0T0zXMN+kfkL5s2g52IUgkGm3SB/vPp3sXzUkc1SXXi+87tXHnuFpz05YwPVVQSLyaC7FhupKcqjCtEMiWd8/nmesqDLK5oPA3lPSLG9MVvS4LhfnFymQvr8WIl/y5idsi6mhzfmsxBuyH1yF74u9xYKGbPhPpJqH1ctA9OjINI18NjdVzivNG98oRlktud0sMbmGu53o108rPW6/gREsYlAqaIB8Xz+bXny4rIR5Du6UNb/plBX+8CpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0KKVZ1caTeQqLNoRwTQXdwZybi+h6QhSESfBwIlbIfw=; b=JooBJUkthr0tokASB7zJjDxuFaPMlXdC47mC8IKUUxHAEKAmGxwiOMTRQ0lsGlIm9vTEQiiPYrwTTE5q+aoaI9nVYbK5/zjc+T9udo7guzUijDDWB+dTMMm8iv7N6KckO8HD4XR2771mm73araIHcMrItvWGARLs85TsCVXGCdc= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:50 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:50 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 14/21] xfs: fix internal error from AGFL exhaustion Date: Tue, 30 Jan 2024 15:44:12 -0800 Message-Id: <20240130234419.45896-15-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: SJ0PR03CA0070.namprd03.prod.outlook.com (2603:10b6:a03:331::15) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c435a35-40a8-4f39-7971-08dc21ed7319 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PFW4wEWdGAsK+2iMKpoj9K+NReZ7Ih/fpOPuOqHn09jyPV01nEpZHcPjDPE1WXunFpRmKcfmaVT8hN1nbWl8KR33MLI0eB+s4N2XIR2UbVDhKB3xbnLvDWbGoNSgej2FD9md3bCOeWpwDYctIhJgjDbtajgVFlve8mixVFTpDiW9MW7rZER6qz9KxlQ/eTMF0W6et1xbBSPrLHd4U1vrCz66vEGYPlNqxBUYn3HpYn6cwywXwY/OrYd89TjeWziXXHTwYFlVRHsn5igGtUIr47G9Pvf4/feBL/cBCKujktwKPH8lbzx6u39NMRK3Nwukl/k6CDZkhVC3wLHHOMtCpTQgDbBVX4htrHrBfBBKDvBcmeGNnJ8BDMwn9+s/SGBNwwthvYuDCZgiCHlYwXwtNsC7WfHOnCmfPQ//oC+zpm9CACJPfoqMDMQR7P7b8PjvShcD0uRkPx2PTXNrSUA0BIIPwHXWdY+5R6hrJJ+ElIyXYGV4462NPLYGUyWcnt2gA2dvjzqrvTav39tNLtl5lcVBTowz8+qwaiqF9B2JAJVPBXPtASvQgkd51vNuPv47 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(66946007)(6486002)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JUhWH9JsdTpuWt2bf3Az1a5JMv6zga909wdhskIO/t0XYi00O+KNX71SnP7DxB7VdxIKYRdpbQZXqN56L5A3e8qHo2PNeAPJNvQxdDEmDptn+88V7iBLHqxSwmhsv674XP4kDRUNSCy/onwqWem3u/Q5FDDGgZt9DfMZU+8SQgJL5ArPIps2bBuy8oS+oC+ExwShNSPLyxKPmRWyVMpG4qW6xqtr7kfD5GFn3S/ecAU00KD7XEDrvn3MJVWkYrXNnS6BoM/i8jqL/nVdQBnsMBVZCkRS9396rVtUolSrNosfubFWGx8xXVE1x+zrJOycApnXwU9jjjsa4QttTPCZjdp5DA2w/gr/OAwG+UMWBtxkBab6ZXv8Ojx+/t4+IFkIMHiA/V5m7/AAoY9Xjv3CdX9xskgs7yxr4C8EiN3fmxvqJgDaKFyP2dIShHDoqjO0a+RknFPj4ESk4DlkZhd+VrLQtdtiCIZmSiLENHmKvGrxp9ls50CxgRe/uxRBdon23baAxTRUztJQzIbA3YPGUiBOy532F8tiIjW1+mMQjQoMBsg3NLyvj/RiqhBcUMHUkIrGP7y+emWuDbJsVAHt8of93RwS3IZ+GlUdXV85D10Qp7O12lTOIZz5r2HKwXqaN4ABzyl4dNeWcclQQ++bGt7xjBXCGiLXiO7+djE9C2mIodIoc/ssvbNn4PxvdeqA5e4c/FsrwkFaJUzSoaVNljcRH/4w4wXOagiv6x1fLSn8+FvMUH9hP84DqQedY4mAxpS4pE+SZXUJpopAHkiUnPOrFXiI1t3vlbf8utqs50N7/6LfxYFX0BX+rQ7lfsWnkyndM9al+MbtFclhu9azpcPguw/DEVOsrevyW7+h6Wxgj8EfQV5Lp1m8nzorZBDOJL/Ez2dpdYercCQTLDc3RPnn/dYO1Cc45/jUO9B1NfRs9x01aaJwWP/54WehfHS7Tiv3rqndLNTnSngIwxOtor8bzkuSCzaXDB65xeJR3qsicR+GkY1EPxZb8VxMO/GK/C3bka3UwGqoIAUvmlNDQUYOhIcnZpi9qpKqCLKnm1jx5IpC2D+LS8rJfU0FB+ysAr1u5nW5dd9vaJ+XYY9XiHpGIZAEZCkU4l4a90fJ04X7Bth6EmeX6tE9zjX18Ngog5TSowiIG1C7OUGuGbqaw3LFSuVX6FdNMl32i/mkOQ45eUKO4chz2kN5Bry0SDbZzwyUuPBe/8bx4YFZM/1nSKs0gT3dZkwKJsmdzR70X+JoSW7CyJUQ9nCdZ888xVckEdxa8vIgVY+xmwZX3Owg6sVTR8+Xo0vKyhm4ydfIM0FENpOxBbnu+4+72aH5/UhfleK4NXRfKgU7ARu2BkqC7o+9b7TPoKS88Nf7zerIQpOgXxhbPnPIhPLP6IYEK6XoVYePYbZ96gDAkS8VsVUjumBaIRjKeZRobEJ9LITGIYb920VrTr1YhhNVSXOToFlwXDkHJFQWoLPR82dSfBrxEicrn5/kPML3P35hZuWvQZrh4FnWN+MP7hPThMLBXA+B0aiQu6MUrrUYr/F2y9cbCwdtQCiXe43LNqWubWay1An0bJNziHjsKBN4cBZOYtO3ETgQ42iRpQ/hfUKVEwPqbotY7sm8flw+zSo3aLy1JhUvc+NQuneXDtrePEuD5PiwLFAbdxNa7Mo2tq5/iq02jg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: y3i+e0ZbMIW2teizDIi5PhQrMQnGQxTLLIPFsIY5L9TetBN+xLCCTFx+UUuQByFloIDc41zJwBQNGCeNlxoKpGqMab8mf9D0V8/X9ZlcVeNMROtFKMQq0GNPwEvyyX3sIEe/7v9B+4Kx0+lUp8IZnk0K+f7T0L5bCiL1YBr5ntR8+Mie8+NNpIcX6n9uhKMEoeev+mGgEt+VvJLChWp72R4ET1NoPFD1h3XmBqGgASEKLldVzM2qYSHhYEjjpLjfBy9SMl4chRf8V691sa97QuRJDNXAoC4ui79Q8hJCFZRemOGuQupqQxQgbm/cfAdHW5KPbng0ISGtLGke1sHfpgYkufbf6zawZUz7rbn5prtFBUVFSE8vgRbT80/3oKDKoOZmVF4apIgO2ejyjsqL7WRuBIyEzpqoqGPATpsEAQNJtpQ2gvD4Zdtt7QIZRHTjcQbRPe21xrj05ujDnc2BdkPESBQ0g6WQ/RoN8/shodZkYabLnJFovGP6cAy9Rv0j38/+lMVeN+mvy75El1BwaeuBfB+dkE1hZFIwuUH0MV2GAPqYRDiO5pO6cM7rMgPjpf/jtDNqf8oOrTIQhPjNNNhD8i1tjlwXyIy1SZzJHlQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c435a35-40a8-4f39-7971-08dc21ed7319 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:50.3397 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dyEVgyiL/HZjUWnjEaBRRsPrrXBlF0qUxbo8+qyhGyyYFO+6T+2T8Q/ohHsqL6whv3Nsap+KZMJoifmXYAPQFA40FERoRCqlpF56b4FrUrc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: _JbcxZK0cXxndlFUI9Ymetg1eIEpFAPw X-Proofpoint-GUID: _JbcxZK0cXxndlFUI9Ymetg1eIEpFAPw From: Omar Sandoval commit f63a5b3769ad7659da4c0420751d78958ab97675 upstream. We've been seeing XFS errors like the following: XFS: Internal error i != 1 at line 3526 of file fs/xfs/libxfs/xfs_btree.c. Caller xfs_btree_insert+0x1ec/0x280 ... Call Trace: xfs_corruption_error+0x94/0xa0 xfs_btree_insert+0x221/0x280 xfs_alloc_fixup_trees+0x104/0x3e0 xfs_alloc_ag_vextent_size+0x667/0x820 xfs_alloc_fix_freelist+0x5d9/0x750 xfs_free_extent_fix_freelist+0x65/0xa0 __xfs_free_extent+0x57/0x180 ... This is the XFS_IS_CORRUPT() check in xfs_btree_insert() when xfs_btree_insrec() fails. After converting this into a panic and dissecting the core dump, I found that xfs_btree_insrec() is failing because it's trying to split a leaf node in the cntbt when the AG free list is empty. In particular, it's failing to get a block from the AGFL _while trying to refill the AGFL_. If a single operation splits every level of the bnobt and the cntbt (and the rmapbt if it is enabled) at once, the free list will be empty. Then, when the next operation tries to refill the free list, it allocates space. If the allocation does not use a full extent, it will need to insert records for the remaining space in the bnobt and cntbt. And if those new records go in full leaves, the leaves (and potentially more nodes up to the old root) need to be split. Fix it by accounting for the additional splits that may be required to refill the free list in the calculation for the minimum free list size. P.S. As far as I can tell, this bug has existed for a long time -- maybe back to xfs-history commit afdf80ae7405 ("Add XFS_AG_MAXLEVELS macros ...") in April 1994! It requires a very unlucky sequence of events, and in fact we didn't hit it until a particular sparse mmap workload updated from 5.12 to 5.19. But this bug existed in 5.12, so it must've been exposed by some other change in allocation or writeback patterns. It's also much less likely to be hit with the rmapbt enabled, since that increases the minimum free list size and is unlikely to split at the same time as the bnobt and cntbt. Reviewed-by: "Darrick J. Wong" Reviewed-by: Dave Chinner Signed-off-by: Omar Sandoval Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_alloc.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c index 3069194527dd..100ab5931b31 100644 --- a/fs/xfs/libxfs/xfs_alloc.c +++ b/fs/xfs/libxfs/xfs_alloc.c @@ -2275,16 +2275,37 @@ xfs_alloc_min_freelist( ASSERT(mp->m_alloc_maxlevels > 0); + /* + * For a btree shorter than the maximum height, the worst case is that + * every level gets split and a new level is added, then while inserting + * another entry to refill the AGFL, every level under the old root gets + * split again. This is: + * + * (full height split reservation) + (AGFL refill split height) + * = (current height + 1) + (current height - 1) + * = (new height) + (new height - 2) + * = 2 * new height - 2 + * + * For a btree of maximum height, the worst case is that every level + * under the root gets split, then while inserting another entry to + * refill the AGFL, every level under the root gets split again. This is + * also: + * + * 2 * (current height - 1) + * = 2 * (new height - 1) + * = 2 * new height - 2 + */ + /* space needed by-bno freespace btree */ min_free = min_t(unsigned int, levels[XFS_BTNUM_BNOi] + 1, - mp->m_alloc_maxlevels); + mp->m_alloc_maxlevels) * 2 - 2; /* space needed by-size freespace btree */ min_free += min_t(unsigned int, levels[XFS_BTNUM_CNTi] + 1, - mp->m_alloc_maxlevels); + mp->m_alloc_maxlevels) * 2 - 2; /* space needed reverse mapping used space btree */ if (xfs_has_rmapbt(mp)) min_free += min_t(unsigned int, levels[XFS_BTNUM_RMAPi] + 1, - mp->m_rmap_maxlevels); + mp->m_rmap_maxlevels) * 2 - 2; return min_free; } From patchwork Tue Jan 30 23:44:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538381 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 029C779959 for ; Tue, 30 Jan 2024 23:44:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658297; cv=fail; b=bjB9/Rw3Vs1H5F/vKOlJIZt92wnHletMsfDiKKx3SVbJ9PO+PrZWir/atLbgqdMWs0boiYio0iB3f2nZCtGDxzlKff12R6mghYaCRkvvEyh3GbaP4eJebGIzD0bliv4Pg4bsR/lDZvv6rWCiHbwpfWQK4FMp8Cng27DeocK3cu0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658297; c=relaxed/simple; bh=yfz0oSKB2JIkPGiKR/CO9khBhcyXMWf4Wh+4Rkp3+8k=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=SVLwsZ0m1xkttDnvWLM1BoVVReH6xMjCqlK74vPotx215EsWwawjPP0Fz7VK9DvK0/dm/ItUpJ+avnERFJczy6xBBXAFgmcID108EiB5jWPS/vhTnJh/CCjktf9wWu9kA6SWpQxJ0OQ9R2TnXnfGwYL51+Jb8aCK9xgVH4TfQ/M= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=L+ID5R3r; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=k6G3Iugx; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="L+ID5R3r"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="k6G3Iugx" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKx5h9016946 for ; Tue, 30 Jan 2024 23:44:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=jlnX6uAbZdB/vZF7HYgMZrK0ZqIondb8E6yvQsbDz0g=; b=L+ID5R3rDLdP4CfdWWuGBmMR8+IeufIkfh14suHYp9NLu+1AotO9aQxrPn37lffysOfd UCSKPJkQbv2Zd+wgaRivunWxrCkJWzbweB/kticDR96AU/rkwvrQ5+qLYSlQUN7DiBaa cRCTVIFM0JsZPmpN914f9RSbc910XhWQZqoH5xnKD/s0Py4TXwnKkHvSKjgCkHgbCu4b DaDMmM7FOECOD7WQ2c4A9HCQjSZnF7wKTWyqB5+MQaO1n3S2PsB0XlXG1bVlKjXRxq1z vQyS4HkzHIJMOEz8FsXO9Pq9RxuMtcacws0Uyb3OlEqpXwJf5GYGfw53jEnO2EI4WLy2 0Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvseugcmh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:54 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM5M2X007770 for ; Tue, 30 Jan 2024 23:44:54 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9eh1sv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lFcbd9hDx+fJhYklSweh03D7UgwOJB1YMPk0p54WYn5JD2wZXaN9mN4NhYvYc0cUVcang8s4d6lhesprDo/BeS0rfrzgQBa/XzTr7MBT0TCz+OF1wU7wFN7zW13Oenti+ydrDi4Aiaa8KRxbkjwdJPCxZEXuvdamrlCjvZ1QerQw+iL4nxLaSDrCQ7Vou3jvwD8ukEmQMjIlTmf7a5iwTcevkJ3p+SIL6XyEnONAKOu18dbv4BrYxT4IxgzzuN0uDNgMyT14aSjZRoxkoTo6zjZmWJrGMFPgtYvEEIlmko566DY/n90befz6ToZeNMmaHU0DdgZ9jw2DKv3NMxIwTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jlnX6uAbZdB/vZF7HYgMZrK0ZqIondb8E6yvQsbDz0g=; b=Gsg2O2LHgX7qhiavbmM1B21u3H4WxJeHp8Wp4CzdN+MZ1ZCt9RWd50jxjO0DyjMGD7frqbxfZH2sS4Dy8O4M7mBfs+Fr2NpstCi5XtaCxLBLF+2vQCuTAlov3Ur7zy+RdRvXxJIJot5ReEcxqm30X74vZADnXHhOrHCmznEABgyJbXI6nbF1yhCR9yJbdx5/QWiMMHgfrohuWlGs3Ig2VcIpQBKKfgY5/+iYpwYVzsowTV5RtIACKIgvY/xJc4KwSTHRAM7mgvRMgJHLIsyMa7zWMFlCFnpwwhbeCkRuSRNF8Ezbd8PNtuHHEBjmh0VKO/OBl0naTSnYxoYewCh6Bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jlnX6uAbZdB/vZF7HYgMZrK0ZqIondb8E6yvQsbDz0g=; b=k6G3Iugx0IWXpc1RKtEM8H6jrzdRUXLM2mFBNM4bYVFgCV2d95Rv8mV5+k3u8GxeRIwJtpJPKrZrQwZnfNPEs0uEVKmdIbyi25p+bq09wszMcAqwVqzc3zFR1smZh1CWR+EzPbcWsAisV6tfPrgqEPn0tD0kznME1dVNtlE1eqk= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:52 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:52 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 15/21] xfs: fix again select in kconfig XFS_ONLINE_SCRUB_STATS Date: Tue, 30 Jan 2024 15:44:13 -0800 Message-Id: <20240130234419.45896-16-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH7PR13CA0012.namprd13.prod.outlook.com (2603:10b6:510:174::18) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: b47ea998-9a8a-4aba-edf6-08dc21ed7443 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7MhhrPCCv85eAFmU2clZRDxEgcZapGWPfQwbmFJpD1RFU+0DuxDoGMaM+ygUTdSjKyxT4SsDhDAMcx8/RT2vHfI/EA8FLdM1xGteG67ooiT0OdZFfIW6Udf037Wr7qYiyTCFFyfwkrfX2yT7JdbMNWLx6i9XzZu5o0r1aoNiqSahSbj3XDf4etcy3m0AoLe9D1h2dbM9daspe1i7YZiJBb8GEOgOQR2eExBpCdY2XyIYVScmu84o4KHNpnCeVAipb9t80nP9tiUU2tbFK5D+zINvzFYrNmhBQrlBTXdtQF7cHo8oGLAPPibO5m37psL9VKXBtiTFaSmEwr8/8D06urGmh8g7P4zIPi7oOomm9ZF2mg9QYKFa66mXhjpu137dzpDv0mS25UJOEKXDS59cSKQf4wjWvsEZdNUborcr5Nfr+7/bOnXZjdu96B5BtbNKLabtLbZnTv2PSAVHBScYVqASHLhy5EMwgNYyTydMYBZz8Y/aSp5d3VQnLcRjHeopw/DCmbz01rJDczY/OO9trIP6Wpy6prvNOtn+tvEw0SXHgh/n0D4v9FeCgd6zyxFF X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66574015)(66556008)(66946007)(6486002)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?sCTpdhw7lfpaOYFP4Jd9ZNeUafQk?= =?utf-8?q?suOFS48gA08UvGjkejbb9jv8oNYDujeYzjW7kFeSZ2bnBAYwoESdB5W6zISvr06Sk?= =?utf-8?q?qYqH6lOJhIeLklQsfYFviXlGcwlEf6NAnGN3HmfTpMJX7jFAklrfQH3t5S8bZYf2S?= =?utf-8?q?OQ4IMnF6hvnrgY+TybSEQppcKvw/SviVpn4Sskpj0BwbS9JkPfNgjBnCjG3D/mV+f?= =?utf-8?q?nQnsphRPZ4xbcbi4eSsvEQPq5X5TPlL9jG5x9InhHJxVm4ONyl6fPyEj3oN1HTZho?= =?utf-8?q?+cJEli/G3GpgeRuii8ZbxY4SveHmjaY9Ukn2QslvXS9AmDAmdPWGUKR/3Dc7O/cyd?= =?utf-8?q?U6u9TJqSzf9gj704zJm/A+wqnFz86BVI3Q/6XwNo/+0+Jvk0Rj6B2GxOf9tT7taWc?= =?utf-8?q?Y8S5/uUxWEgrsGWUbzwXbTxbTObQmfwzEOZI4QWS9Riha3fZXaGS00DWKVaaQ70BS?= =?utf-8?q?w4G8d2G7e2rjXG6wsZzz55IBQ46FBTJ5am3bp4gly3K/NYGN2av/kqzx5JHkVnpIC?= =?utf-8?q?+1ORybARud2TorXoWcv+NrpkchgxQ7CAQTilutih08RptNNGQ3N6wwU26ZZEiKXD2?= =?utf-8?q?TrSA/K18ydiY/6JgHVdhEtyn8dZGvymTYtpotmIN47upGSNUVTblvKDCuzbJOLAg/?= =?utf-8?q?xXR/7iwfTyhNjEpk0pCkcklCzhZYG3OS5lJKHPqNLCVx0cgWZSDDesA5HHFe0AxON?= =?utf-8?q?k0O76NAHiyZJyRFurmBvD5jwtciOS0x1T0Z5TbE0YQZ7TfN+zNSE4T6+WqlF05r40?= =?utf-8?q?Lb1b8JyrES7nzkNj/arePizmnJ7/SRSXZ3uuh2hx+Kr5I/yrk0+jiGIKFsp9G9dFK?= =?utf-8?q?Fw+3aW2Wc8w1a0DEnaveeVzzEoVE3vPbcFKg1CBXhsStaDv6Yo0BadBu55KH/bbLD?= =?utf-8?q?OvPCGmg6bzUG36MKBxiwe0zYdJBFLhGz1QmqjzCDCYK+dHV1H/aE0InNC56HO7Hiu?= =?utf-8?q?TCzGazwiILxDBOiWhh+MewnFnOySCWfBw9Tg+yE4/Qt/7bwaUC+Cv2MIYdUFf5gmT?= =?utf-8?q?dc9O0hcRnVOK9ytHR1UJ0lI7yMNTqhhfgSj+S29Hj6sWopRsnxwfeY136jMUf+uNT?= =?utf-8?q?HqcoOJK7fNf6wPlCfH8C0NRDBgmcMIUu08TgeqWQE0bygTHCj27Vpixfpn/D2k6uo?= =?utf-8?q?q7GK9sCZfYDolXgjSmzc9b0G+Sb6875ExovDLz+NyMJrVKjSY11MvbqpEDkRWy8cL?= =?utf-8?q?AinxZzUcWq7ilWWDqLQcQEwp0E1ej6U2JXImAHmWZM/+hZPo6nWuxFjYec8BBSPX9?= =?utf-8?q?aUoeptKXw55ek3/J9GYQOae1JCoyvCgwa96peNQig0v///S2HoE8lPcaaM6j1TN4Q?= =?utf-8?q?BpU1cPj/hnOoYtgB0UwQ/QL4u7pxkbvPLmeoS4fBnkGFrLBfjkG+j/yfS9pdldPir?= =?utf-8?q?t3F1sbTTHXRCZjdunmChpN71cf/m4sAPJcwz0TNrQoxniKvvSAbDosJBnsPMnzUbm?= =?utf-8?q?Mnwys3O1ZNyCAUA9GceLgAxHx/80neYC5y98BGukMOAyyMSELzCWEUJ/KPQRvFXtp?= =?utf-8?q?m7mRgwIZp/diWh9EjaL0so3/E+HbHI4KddPh0RxSSCE2iS0ClBePbwm6ezdBzr5ph?= =?utf-8?q?GVR9oTfdlfPOs7TjRSXj2ATr8xSMooAWw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: pJPgAnZYGHPlaOzsaUAn+2Jd5OX5fOARqy7Hg9B1sBwdO/aFZCVTsgl6DGVXH89rutKfqk4NU64Pj2Vuw3XHpr1ahQhJqC4kAH541i4MxLO6uWANR70CIlgOq5BZxt4nuqIIC6B3kZFsgxF42usHyHDbF0qX2DNw22nJQ+7j72Qgv8RdYyLtlXySC/0NL2WK7SVvmOFhIUsLI/nffH8ZDsxgcI9mGsTuxfxLf4jqoCmUA3aqjpHh4micpDrxfEyR6AUOfHMRatO1rp7poCmSSMwQjsAJGeTgFp4UeNaB6t6PGPN2SetJaQj/sa+iG1SiNrFzjULQ8a/N5wbbviyZfFcXjlMeQY7/oa9AmO3lJbCp2sLnHdnYNMSgZ/r0l3w1aD0q7wycO8/gTtDkVLjlW4o0hJ4DvlTc/rJqumWqTIvKpZlxWWw8iJFQ2+e5oTn/bIqPfIfcbUZS4zY0aI0u/8awEurI1uACd0gj6qiE9Uv31RU+crHtkQjjHEOMQAI7KIc0qI1x7X2JEtvS6ZRonnJ8Leg7bTLBvliSqwngid39dd9PVBoVY4zTMo75rLZbxmMGdvwsL4jGVw2JKL7iSNU1rY9IrZLjZxdJ3vQ9yIs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b47ea998-9a8a-4aba-edf6-08dc21ed7443 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:52.2224 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ACKO1c/fIUPWelrQLx1IqOoTgy5kCkr9WFhcHMEnMoukjah84cc2+MbarOA2pi0ZaXq5hp53idSq7kO6wuH+uWIgFN77I2T9v1srjXAfSkE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: XyNOEBhzm3lWIUWJv_8oq5tQHTyJEfLr X-Proofpoint-GUID: XyNOEBhzm3lWIUWJv_8oq5tQHTyJEfLr From: Anthony Iliopoulos commit a2e4388adfa44684c7c428a5a5980efe0d75e13e upstream. Commit 57c0f4a8ea3a attempted to fix the select in the kconfig entry XFS_ONLINE_SCRUB_STATS by selecting XFS_DEBUG, but the original intention was to select DEBUG_FS, since the feature relies on debugfs to export the related scrub statistics. Fixes: 57c0f4a8ea3a ("xfs: fix select in config XFS_ONLINE_SCRUB_STATS") Reported-by: Holger Hoffstätte Signed-off-by: Anthony Iliopoulos Reviewed-by: Dave Chinner Reviewed-by: "Darrick J. Wong" Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index ed0bc8cbc703..567fb37274d3 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig @@ -147,7 +147,7 @@ config XFS_ONLINE_SCRUB_STATS bool "XFS online metadata check usage data collection" default y depends on XFS_ONLINE_SCRUB - select XFS_DEBUG + select DEBUG_FS help If you say Y here, the kernel will gather usage data about the online metadata check subsystem. This includes the number From patchwork Tue Jan 30 23:44:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538382 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0DCED7995A for ; Tue, 30 Jan 2024 23:44:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658299; cv=fail; b=WWDS5cPkFZGDkCCYgHw1ZfQTFfvNQ7L1EWuLzpVoNMDtUV2+/0Sat4JAkm92U5io78TlDX2dZqdVOXMD2d1rwUWU7qWdOspwZ558zwmR85ZnLDGMyq3n2KBYovrR/cwzH+J5vRFs+si0hS0Lje1jeoRcRZ4a2InVhKn2j7npYxc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658299; c=relaxed/simple; bh=XOfbk8qGFuFL0GcUI5J89/40P/g1UrwlDY+n5vdHYIM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=EBcH/Pxk/S0NAXs1MsCcciVqcbtMG/AaAFGTJeFI1/vp9V2FnAzGqNwrlF50auXmRLoFb+snaLoYUkJ/hK51o/Px3P6gYq2WUJYif30ZbwwCGrHWaVUr5Q9IenDFAeM5v+48vV38x54NGL9xxUQJkf7Ji2VD+ncW/2/P+tgduR4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=TSU1rcPt; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=DQLcSbow; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="TSU1rcPt"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="DQLcSbow" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxPUN022669 for ; Tue, 30 Jan 2024 23:44:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=QyCIJIbHJ97JEBUXH58a1kTVRpj1f5cqYQJ+rTYfLME=; b=TSU1rcPtun7OzX1dR+ZeQ+IHGzLkQPnhF+zPfqbhRnhx6BLapNcS7hQgaRyH3YxjWtO6 kB5jMYmXl8EeXr2HDfDmHcL6UjglTvn2djwTinjcxgZatVgp9mpia30MPFjXBZzkfPTc MdXmZPdIXIhrOjJG7dookRkpPYI1pMbRhb3E6g1m6PKyOKrLRLoJ4PgsM7eKU3+dlJNH NUpOF6LQ6QFXnevUS+Ojodyt8xT78IbWOaAFyNOtokJSYR/6R/MbYST4hJ/f1JlEIGf5 uwZV7ji/O+xB/QLjUQWrYuF1zrQ18KlefYglloPmLV8RfAkZ7IA71jpW+j/auxDE/DP+ rg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvrm40eee-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:56 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UM5M2Y007770 for ; Tue, 30 Jan 2024 23:44:56 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9eh1tc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ArxS9NQi3ikLoGOYtVK4/R+ZgjmuRVzGd97xS7rPG2rPoJoczOy78mDIWUn32a+naO3oc5o1xtvAtAiedTFZOrLbMKAoK6wgvGJWbp/tYrzzVHrsbiqdRHF9a/WlmarcEtN7VrOwNKO4DLCTecJ9c8/6WH0FX/V12SinHXCWP8+ALqCPRLRsZOcedZezrhiyV8i/z/VrjEczyhIJg3SDVC80vR4onL0EXRAK4m4lM616ERdZ/v0Ibj4P55T8Wq8cjU9nVllenJpb3PoGkeQCWenFXsRf1e++UGYX/I9TLgqGlbC8IK/2qRdT7Vzst/XhvL8C/k22NEJ7vQ+CzO1tyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QyCIJIbHJ97JEBUXH58a1kTVRpj1f5cqYQJ+rTYfLME=; b=Rn1xbPyl2c3tdQvB+B7Ju0nFkOAOw9jPwqdNcVDcytJyiB3a0WAsm2EY/NHsIwERtfZPLTqUSjoRtBtinV/bpBBOVlXvW4whG6EcOT64umWe7pdgCP5bcvrjN9K1EHgKyirNW3FhVnjt6GU+1IM56+owU7YdD4k3PTPRJECJx5r0DKhoe0QXex5Q7V2zzfL5PAIhUPUJYM1aY0LGgjQCeQQh3mxp8mWuonTVGubOk/JCMxueDbbOjOPxMripWtY+Wl5VRQIwaoNLws2VfrkMz9OS9Uqe4N3kz1wB+6NZk1osJdFCym17ucIAUYdvmJjXjuTDyqCYg7bsIlvVcYaewg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QyCIJIbHJ97JEBUXH58a1kTVRpj1f5cqYQJ+rTYfLME=; b=DQLcSbowKzEHNeBh+7zYdKcVYzHBLd+ho0V5zc0eBqab/iqXe5UXNKrd/QzqP/MR5B8sg2H/nAI6RSsSGvx54cyvYuBIA9/Zxj78WEcE6UWEepHI07D+yMei+prT4hRh0RyG92xBqnle4mEG/7RIF/3ZhWtHXPaFs/pDLEY0stI= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:54 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:54 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 16/21] xfs: inode recovery does not validate the recovered inode Date: Tue, 30 Jan 2024 15:44:14 -0800 Message-Id: <20240130234419.45896-17-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH8PR21CA0009.namprd21.prod.outlook.com (2603:10b6:510:2ce::26) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: 5812f084-8275-4439-9a7b-08dc21ed756f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pJLfZx6+9aNE1nR/bqxGv7B+7waGhXzgIr/nbsberHgEKCeZbyWku4cYqg3xzaZZ68KeWEHG4e611QuKMaJavT0RHKPqSNmvxnc7AMsMgw+5gTCmghyRBcTAtZi1LaE9hbS93JSf+ezzXxbPZNUIxNl6pQ9MoPBwqTazCvorIyjRIxJ2W3ByxHjTuPeLT1Ks9YrnPiKsd9XpkdpOZwwJEfS/KOpXcZLxfzfkqwnAo/9BXwd9jaaY7OGm9C5CYPv8SL+JRtT3FgEG7WgjJJuVPOCtVs4T7N+fdkPDmWiCxuR+wle7svtuZ34F+JrZQisP4AbPDRm4J6h9DecTeWehIvhec3OkRRuwDGyEhMfDH8V3/GIV8wO6DZs8tYOasaVQYFN2sjAGjSmIVoI4zSaaBJxON8F6mbgrXvORxJzGdpfKTOhCt5YXk2W7q9MsGFlL6Ua89xp2fPOgyt1V1Jvp8qEFPqL5vR3ZQPAowy/kTtOiE9NPiaSF5Yqevqh0wxxl0H7S/Y78sUAm9Za8yDyDrICIPGA8qdiJAmMMkKkpExcoDXltWa+AaFgP8wFqGHNA X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(66946007)(6486002)(15650500001)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: l780Tn5ifv31h6aHRQCGKBRIfTfXWdq0FpB0nEOtaq64/QSd1RfPbmOuNJMqA3eX+t6uFLjXEqU+yZR1idkU/xWwZWldDWRVps22Syk7c14lovwke3jw6yHqHd6vgDmnLnp+NW0X80eXEvQcw1XIdCUlNHxIFZT+HdO17Jj6hW5QPR3skDc91t5B9JxAb5qswWvtVgxnt6wvTod/+R4yE1e/ZZvLTRJfBpVQOWsx206QG3nWhNAqWKwaaiDl+5tFWHZ5SGdKHKbZ54PcUGCa/Ct+Pyp0lw0Iq+TCXdr6CEUaPHpMKG6LP2HtLHVbaV+6SjJIFSjtg0m3SOtiHiQJyzmFV9MWomLkK9BEM/6HD3edFuinCF6AzfYBBBzEyMLY8xLOn+tEfmLz3UUrf5W/cfOyMshblV7Qt8hjcdRRhVQFyA8lAnbeytPZa7rsaVFFWSi5Am4NSft2C7ZHI8mUxO8apJiCzTCsEgHFhIyjHnYh+Fo5cYUQiGhJJXyKR/QDWrQeF1zR07puESlX6gp5t7V0ZzH3mRAIQj1IyytYefH1i5vKYFUvARchCWjYr9CJKXoHRquNN7SKoxRonOHSFG+W9BRDFka+p5YmFbZZZn9JbKXsP8xyz02EaiVp5vIVqaXfiN6xXX6J00/abeZSv/S6ndYqxTWA2NJdO0IzpftdmOjbD+FD5iAz6UTSEBM/C5nPQ9ood4QUUoppQowBM6anmAx1dRo2GujjVJZIHRSuRU0Isf1gcYXcpCcqO3UfZR+aob95IxWva+B6Eas8sgqG1bib1XfN8qn6lWA6g6G8fHlqY1U6IkuUh9J9eqdUWx9zlsTKMJ7klc8NHdExwYafE/+JDbhA2+8iLV/s+tXHlonnMTJCfRbrhz0yuQkqB953sFsFidNywgBX4PWU2JEYH4zzLx/jrNIK+NRmV5WT3Osy7wsdAhs/C70BXgBN1lrR7k6KraMsdWEc4XBY7kayA19T0wSqo96/OrPpBrElXBiozmolTsZb4IH04BSbCcSM8e4jRcwuyop13nnwvj01OA5r9xxZ8l7NC7GpSD7x+s4WGV1r0MzPh0E502w4EYKWrF/ZM2OlwX+AuoQkwNBxVtguWhp8Oeb4o4YQ0VtMP1THRDXDNjecPYtid9wHpIZirTxeVvDI8elu2R89Lj/G53iBBdRbxk6i2GtpacHZ0J49MiJJ9sPAnSddMKNeyjKaOkYWS6eAiI0zV/prinYOTvelMRtin3xenE8egYRCi4RbYyW+F1CWlB/xWwH2b3ROjDdho2UFSPdgqRWkhxPiEm29vp5Kwm0xCMmYe+tV+qIiw6LimpapbshKsClXIoxBjUYCjx+0LIQQpAC3escIYmKal0sm7mBZw05tAk9eiTu1ghoECNx3jqpxly19RUOw93Luuv+4rkaaz5Ru1CPrsdf9qAti2mhRY4l8tkVS2ODKKBXLkYtqXYvFrhnR0LEXQMRs6hVWsJ79WHo8u342aGU4YmxBobcAvMglUzgVkEuAo9YUkMB0mTkcbRpODwg4s1GjOJSrWVMoW4SNeTB/yQoPDXpfEsrqnfOyyhuX6184n2JB2aQ+Ro2AzkQR8BziPd7nUyz/vaIoRDZHqf+w5sC+iiGmTUqewtXWosCyUFssbYhXjYUOShBxoYZmz2MfEjDbAPKJGOXIQ+ctHA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XBzEwGbLEBGtBNMwxyUYgldsAJWwyCNUBJZLk+72vGnoHdXq4nUkthXkgSlE0teGqAmszMRrNeAwWGBGKC4VcrssnNVA3binB/xK64lWAWru//u+GCK8KVQpeqtjkpAMRinarAmkH6Ih6cCiVKzJ15ve5TGDZWh5354ioH5qFBqK0jzzVtvq9J69aWaiTJadKXE73PGdpfTDoRaEDIHdbVhiuazKBqgC8bksaCj6sY2QRMCpO3oD6vwX+Gdlwa6gDnzeXvuuni7+Q4saUGdxxwe8VTqNdHQdfIbUUFRIKNhtQib/T8TzFWT5vGKI2acaR9pwaeLd782N3YZmfUrMtDNXKSLcq5BL9dTbh2c25I4BH8S1PZrS/yRv2LltKcaCUDjOq+bT+21f/4eDGb2FcfvrxkfEHY7AuOjlaGA4YZha9ITgd6gWhgUPO5x1EFszVyKiM7WeER6t22ysU6UYyD5wbHR9KlfyBXQOvzUfMBVK1CoMt24PW66iaNSR4dJF1HNyh1p30YLJR95bt0jt5xCfjWqDQgIOvUxIJSmuRvHv2uZVYy0pjA1fWRlIyRA/0xsw9cAThj69hv9eeiveEBY9N/6bOd2pZz3CYCAj+lw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5812f084-8275-4439-9a7b-08dc21ed756f X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:54.2466 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iuhK4M7L6Va0HfLNAAwr3pYp/XiidYxvWOIrZ6fcnB33PnU3tCh+QOuyhHDL04hnY9pTV6gsL5/iQIoZ4s3aqBY8iM8R4i1C9XQOitaurbg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: 1OavTny5snKnOZ4b5BDCAQ31nBxEjISD X-Proofpoint-ORIG-GUID: 1OavTny5snKnOZ4b5BDCAQ31nBxEjISD From: Dave Chinner commit 038ca189c0d2c1570b4d922f25b524007c85cf94 upstream. Discovered when trying to track down a weird recovery corruption issue that wasn't detected at recovery time. The specific corruption was a zero extent count field when big extent counts are in use, and it turns out the dinode verifier doesn't detect that specific corruption case, either. So fix it too. Signed-off-by: Dave Chinner Reviewed-by: "Darrick J. Wong" Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/libxfs/xfs_inode_buf.c | 3 +++ fs/xfs/xfs_inode_item_recover.c | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index a35781577cad..0f970a0b3382 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -508,6 +508,9 @@ xfs_dinode_verify( if (mode && nextents + naextents > nblocks) return __this_address; + if (nextents + naextents == 0 && nblocks != 0) + return __this_address; + if (S_ISDIR(mode) && nextents > mp->m_dir_geo->max_extents) return __this_address; diff --git a/fs/xfs/xfs_inode_item_recover.c b/fs/xfs/xfs_inode_item_recover.c index e6609067ef26..144198a6b270 100644 --- a/fs/xfs/xfs_inode_item_recover.c +++ b/fs/xfs/xfs_inode_item_recover.c @@ -286,6 +286,7 @@ xlog_recover_inode_commit_pass2( struct xfs_log_dinode *ldip; uint isize; int need_free = 0; + xfs_failaddr_t fa; if (item->ri_buf[0].i_len == sizeof(struct xfs_inode_log_format)) { in_f = item->ri_buf[0].i_addr; @@ -530,8 +531,19 @@ xlog_recover_inode_commit_pass2( (dip->di_mode != 0)) error = xfs_recover_inode_owner_change(mp, dip, in_f, buffer_list); - /* re-generate the checksum. */ + /* re-generate the checksum and validate the recovered inode. */ xfs_dinode_calc_crc(log->l_mp, dip); + fa = xfs_dinode_verify(log->l_mp, in_f->ilf_ino, dip); + if (fa) { + XFS_CORRUPTION_ERROR( + "Bad dinode after recovery", + XFS_ERRLEVEL_LOW, mp, dip, sizeof(*dip)); + xfs_alert(mp, + "Metadata corruption detected at %pS, inode 0x%llx", + fa, in_f->ilf_ino); + error = -EFSCORRUPTED; + goto out_release; + } ASSERT(bp->b_mount == mp); bp->b_flags |= _XBF_LOGRECOVERY; From patchwork Tue Jan 30 23:44:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538383 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8347879950 for ; Tue, 30 Jan 2024 23:45:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658302; cv=fail; b=t0fIvgh0pGY02Lp+AQ7e2YC/zZO+d4BMTraDZINAdkGcZ2dn+BFDCSfVAmsYuZo+qe6epRQEW8E3Ag/uabFxR0YufG5FnsU+KRhnifSSMtRlWlfyTdEJ6Tvo41k3rJxtjmCy4d8G7u7y+D3bz7D1VWNr9M4jHUYhyVZze30dMxk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658302; c=relaxed/simple; bh=qCuP2zIkark+CiJ9njMGUDWYFilwRgp3lPsInxk1Rk8=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=XU3ebW7cnWLWrrCHZgWI3hPGyfh4xbkYVwmThI6JLlGk8PxVHm3I8QAkQWXN5oM6oR2FfWfKz99HltC7YzdxP0MIKFyZCAIZBItkpi7Cpv0uutaMCkttWuJsogzGh4XRirE/VPsMS+lxjXN5H3CNHlK60l3NkuB85mo+FKaAYE4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=V81RF560; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=BE6TNN4W; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="V81RF560"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="BE6TNN4W" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxb8k021740 for ; Tue, 30 Jan 2024 23:45:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=DunNBBwLHa8gbOz2awBRm1eDp6Y8GG+bO0mwHzIrvfE=; b=V81RF560Z2xMTVYb+csl8SEVfx+iFG3vGRTZPB7g0fR6K83ROKFIn9ZLcAtyv0pswFBj pFIExSCO9M50SPE4osyCqpFYk8FpoP5oCg91pxhDiCMA5Xmv+BdJ90wJAiroi0N5LwaQ E4YiKANv1pLpldJnDCMnTPJ4rY87s6j9R2N9+pObGCm8vgLFjENkct87pDYKdWbhahZ+ WsBWKiv+PS8Xhi6vaJHoTfvmjG+sVxM4IzNunVVs0npfUwWnKlLFCykxC/svXt3mob39 ZEZ9uwLwtOEvIpA1y3O9UQMztWmCmC99nKhBfeEEublBSzutFm/NyJLAIMeqQ+HGHB+y bA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvtcv0f26-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:59 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMcYxr014630 for ; Tue, 30 Jan 2024 23:44:58 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9e97w9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M1cRp41ytNCQiQ1wuKMLpX5X2pIADfbvQIpSvFnwJK2blMKxrMYAoq0DjvQ6k8BEmm7ea8PrVBvJvUSeX+6tJmk1gl6Odp/hHQ5F6wetLqJx3QBkE8gnAk3jAVZTsChBFqyo8YDSxo47HDyPizbb0oJEwM3fNSF2E9pxR9Rb3FIFgwzcy8UdyvbiJigzMOTj5MJY+9RQ/kzQU22mWxlx3l0q17WQCLmMjMxqJNQq0hYL64T8tlNpEXAhbU/xbDfh5LiGLmi7f1Qs0dGbphVCMbsOPC1vw9evrdbRt6TL0P384lcR+0NR27GJG6ZFY42MjMj6YIRagBwb5S9ZprYvIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DunNBBwLHa8gbOz2awBRm1eDp6Y8GG+bO0mwHzIrvfE=; b=E6tYBmJCnTRT2uXwQO920Nsy7L12W5nHnSqya/WWU1/8VNtHBFksb1KiMfu8fqefaVqf3/nvxrFQ6mpoUayv6GqjKBK0Zi9V0a4C08W8woSnIIbBuDj+RmcFH5HUunq9o0yk+opgKKwA3oLIjpZvKJ/jAuUmCtm6S1cYIx69EsZQ6YUn5Q79fSNq3ab7rBtzKQwx8Zdt0gOg1JFKr3FH1pVtzIk9a/k5yD1vnmXx73xngf5HToB7vmNMlk+g4QGk8C9RWB4hNL2UribE4vAGYQqK8dHzrX3/EWPCtID7q90xgGLWg5Mhfbsj74HY6TC/vufMyPxLWBBrxj8bJsAdHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DunNBBwLHa8gbOz2awBRm1eDp6Y8GG+bO0mwHzIrvfE=; b=BE6TNN4WUEeLppibPXFNpOpq5y0TChpOYMr+IeXOmmi0WQrk5n9VB5rpoI1fJBdOrocKDFnIYLk8LofJlhleXmZzN/lTB2z0CXFU2tC2rqKoLNZn6cikaDAdUb635f2s5GWXwRnRJGZBYbkJaR5C5uRei8BFdVdv63dXqxhj6Tg= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:56 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:56 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 17/21] xfs: clean up dqblk extraction Date: Tue, 30 Jan 2024 15:44:15 -0800 Message-Id: <20240130234419.45896-18-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH0PR07CA0073.namprd07.prod.outlook.com (2603:10b6:510:f::18) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: 873fd8b1-e7cd-4bdd-8467-08dc21ed76b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ADK0LXgdhRq0BcbImPr2Dfyj0vW799gM3IssuyQ5wEusAUwIeQELlwQn7ANnDOcw81txlfWHQDGGsBF0cvyzxtpXBG3UBLac9/gOxR3Wd+qa76J8SvNyRxxy0s9C0RrfwqxMX9m4xZgUx1a1clFGH18tZLvC78tjF+9/JaCDjBLG80xyQUgnc0CDNo/Ycj6oR905Pf8x0UmjkH5PMb8Tlksltuj01QBHiyeGP/BNPh5QBQ4ARrg0mg0GtGASvH05VNsR1Laa9rYRwlX7VXhGHry1q1DSMSVxmxK6jLrHGAPrUQ8ewo6QVuV5RFZhoGFvJapq0BXtJDgmxnW4vNjOQdZjiUaeAVPlDfDp1tDMan0Jf5LEad3RC6glNqE6g34E25N0Z/Cmkcs909P0eiA1mVgQfHgwTIfdJw23nhsRQCIl4zdmYS9g4BSp1FpAYf8lqASrp4dKT5P+IBfx69wYJjR8fn8KMCw2kjlyn2AWwOoS7PnBHffOtoqojjXF/OM0UZ+oQMUMoPIcaDP+8adddJiCcaWQ+lHwPcto0eH5eZ1+vdEa2Z1KSnrWnLh4jncm X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(66946007)(6486002)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: McF8Ph+WcdmHbXi2xRfZkO3KXt3QsuPnQzB8frb+zrxUohD5jsyCh0c1swuynbKjkusz8K4cfvY4GuKOWplC/FoR/QwMzTCJ5Ue4DQHsdpN+cObHLpjX8FVy4kzXFCscmRU/4IPHOlwXRvxR5hVvOr21YoxirOpjzsfDa2aKFgAmRMlNxL6ywCN22CkCI0oVhCjN6VPoVNqMYeL3c/izf5idjxgBMMuxB+iXz3/RDV6gBjxGdSQeDx8VWEeOcXrHvNlD4X40ILQmNuGDaJf/FrLShqnO583eVEHBQHkSXz2J+65x3jJfwrBs46nPhVQmCY0Xu/bYSj9sr6QuVSCq+9LHZtAb4/4VCffZZu0dbReThejbq6Orvr2ga4N+v44xhqDmfWKWBA3FSNQFL+EYiKwCyd2wyn8ixBN5gIC+MPXDKR6aJdT0vevuobQanyy2OvPHXrUX0O2oIOk5tJJ3jGkasTlr4Ozi215i/CLXggxlyCLBj+xM2WnSjZ0ZKu9gbrTP9z8Qcq384L2BZ7xQ7R/L8+KhLXkPpm6slrlnO8UZSz7ZrmQzRnr1f5kqez3/eY2YlOp+NrYV12K0druWAn6820oNdvHLKN7ukR1g6Vxyh9tzzryumgRONZruAci0JnPt0DrPmnfkCpB8m1W+WM5O5uT9IsY5SLi97CCpUf1EKxH1vBLyTLgqgw2da6HeA8yoX67rHYPG531Znsug/p83SQClqAPuL3D8oaXC+4P1qvK60SyRtVdvPEQmhwMbdYbtidnkvAoADLWNPuBFA8KyIcphTPczKU9H+rF6ySW1hlBF7NFV63sN7vJiF3uDuMFD//y1uV5FsCsug0ftdddQjja0ESLfEEpPxens6JGI/SsKhmiS6GLRy5+KfqWPyL88p3N6sEWgPRkySNr2ztw+cz+CP0NzpAX33yCj+RmIn4HO1Vm/JkKs/A9UMLVTdvCmytsJTegxOO6tRAurzaT1z1X+szTsj5XmdpaF5QjOQQ+Y9clhsfsZtmYgz7Wzw1CnlBRl2MrfkgnJE02wqaHdypmdAyCaPjCypfTbu/rtr3gIarezQ6OSed29F4uRlWcxVe39H1SRsZUGOUZM0ZP23dUbpQoQjj34DFsGZCnREQ6oJ0L6lhb0nkvXWflVyNsnkfB5Egt8N84JOKaGIb/ZvcVoAT4gMFQ0w4/89LKdu3EYQgHEmQihUw7lRrFFNhlGl5PFr0nrvhDwUHdmStaQBW+wGx3S3IH85IBQRT0RerhBy33MgEDKECWFEYRlaHyko4z3i4m85hgPE/KD6XAEfrVumMTdh0zboIplI6xjSpOwmaoDXmhVzrwfkSd3b65MJMu2/+hAR8BmeDpdQsizI5AFmJCtOaz5ysQyjJWAux5DS7EruIyDkCcke0R7rMXegWARYZURl6iRRtsZQMWgSYPnkUVW0xVgAJ8CWbYHz4ehlUDC+lD0mY3WvHrjXfarPknYM+LXNF3FfvWOA3YSsTcahzpYjDTYg3dk8ly8PO3hg+mrButPVa80E3430uGe1Opfkz7MU9ZjGqAX19Oii2tS731mmclFBBu3DhEzmDqOIdARqACBzZD54kNiBy//2SBztkQU+yXjia8RTmg/BJOQZoFigevpE4DCGGxlFH3EWg/yqXxUJmk8iZzx8gcNCJNFHTeAlUfQTw/ySA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nsrKi7LHccgNT3DvyFIpNN7TDRHbV1g4swDloNIfEkhjh9Udq2rM1XERHiaGqXIGD3tHrTyfg4qdoR0O9w/RVJpWeOwaRtmBGhcYwlQ3/JMTpUvauKCAZqt9Gy3QNsjcRvff7OvOEU1pmaA3GtcmsHi7seuV0AqK9Ouj165Q2qBaenc6rMmprdgc+oTYymZwa3vftpDuDtMnOhHqpCwN5F82yq5svsNc4QLlKJEpG0B+l7J0Cp17zYm4g6wCfxxKy1tztDP6qhDOCnMatAiEQonLhOnboXfyYp1QrNCPvXg0Bo/SS0zhEwy4LJyNUxUlyk+F0/uVIZVkY7fEsVEQECFuJMNSo+yWHzKC8C3Y7U0mVBQkJNTFPzagHq66fZJ3+fpL+/uQfXF/KbKmn7eAzuj8NowRwVyDAvCC0BYPX/QVsmZRyiSMK/aIw1YptfWsDLM2dQZXRf8hDXBbrEu22Wy75MPLeC81du3AvFBCKs+8ra99Y597g4qeC8XfSJNEhhW+rOkMyXsM5L3LgnWpOb0NmniF1AnyidVJlmQp38CotISWilCcpCa3RPLQ8Ce40weF3Pc5aiQ+TRqYNOqWfUuJRqod5YVKppNh1OtpUKM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 873fd8b1-e7cd-4bdd-8467-08dc21ed76b4 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:56.3229 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ivTzY5G9TeRuqba7wo/t/oH5AiOKLqZR/GGttEuwfbjDR/vp41kFPBG8Mb/jx1stCGg9Txc/F2yLk5HqHLUa7mJOSgC+G5TqctsMq01YJ48= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: 7CLj6QAWzBCRztWc-y-rY256UX5k7OJd X-Proofpoint-GUID: 7CLj6QAWzBCRztWc-y-rY256UX5k7OJd From: "Darrick J. Wong" commit ed17f7da5f0c8b65b7b5f7c98beb0aadbc0546ee upstream. Since the introduction of xfs_dqblk in V5, xfs really ought to find the dqblk pointer from the dquot buffer, then compute the xfs_disk_dquot pointer from the dqblk pointer. Fix the open-coded xfs_buf_offset calls and do the type checking in the correct order. Note that this has made no practical difference since the start of the xfs_disk_dquot is coincident with the start of the xfs_dqblk. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/xfs_dquot.c | 5 +++-- fs/xfs/xfs_dquot_item_recover.c | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index ac6ba646624d..a013b87ab8d5 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -562,7 +562,8 @@ xfs_dquot_from_disk( struct xfs_dquot *dqp, struct xfs_buf *bp) { - struct xfs_disk_dquot *ddqp = bp->b_addr + dqp->q_bufoffset; + struct xfs_dqblk *dqb = xfs_buf_offset(bp, dqp->q_bufoffset); + struct xfs_disk_dquot *ddqp = &dqb->dd_diskdq; /* * Ensure that we got the type and ID we were looking for. @@ -1250,7 +1251,7 @@ xfs_qm_dqflush( } /* Flush the incore dquot to the ondisk buffer. */ - dqblk = bp->b_addr + dqp->q_bufoffset; + dqblk = xfs_buf_offset(bp, dqp->q_bufoffset); xfs_dquot_to_disk(&dqblk->dd_diskdq, dqp); /* diff --git a/fs/xfs/xfs_dquot_item_recover.c b/fs/xfs/xfs_dquot_item_recover.c index 8966ba842395..db2cb5e4197b 100644 --- a/fs/xfs/xfs_dquot_item_recover.c +++ b/fs/xfs/xfs_dquot_item_recover.c @@ -65,6 +65,7 @@ xlog_recover_dquot_commit_pass2( { struct xfs_mount *mp = log->l_mp; struct xfs_buf *bp; + struct xfs_dqblk *dqb; struct xfs_disk_dquot *ddq, *recddq; struct xfs_dq_logformat *dq_f; xfs_failaddr_t fa; @@ -130,14 +131,14 @@ xlog_recover_dquot_commit_pass2( return error; ASSERT(bp); - ddq = xfs_buf_offset(bp, dq_f->qlf_boffset); + dqb = xfs_buf_offset(bp, dq_f->qlf_boffset); + ddq = &dqb->dd_diskdq; /* * If the dquot has an LSN in it, recover the dquot only if it's less * than the lsn of the transaction we are replaying. */ if (xfs_has_crc(mp)) { - struct xfs_dqblk *dqb = (struct xfs_dqblk *)ddq; xfs_lsn_t lsn = be64_to_cpu(dqb->dd_lsn); if (lsn && lsn != -1 && XFS_LSN_CMP(lsn, current_lsn) >= 0) { @@ -147,7 +148,7 @@ xlog_recover_dquot_commit_pass2( memcpy(ddq, recddq, item->ri_buf[1].i_len); if (xfs_has_crc(mp)) { - xfs_update_cksum((char *)ddq, sizeof(struct xfs_dqblk), + xfs_update_cksum((char *)dqb, sizeof(struct xfs_dqblk), XFS_DQUOT_CRC_OFF); } From patchwork Tue Jan 30 23:44:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538384 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEF4A7EEFD for ; Tue, 30 Jan 2024 23:45:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658303; cv=fail; b=ja5cZhTROeW4rqb7eGx4lLWQ2qQJnAea5IgoYTNlkxblamuThPGAOy4SSipmcfDx0hY1VoNeNEgWqPz5Hxfi0XWxOXf+duzNnQSTVYp0e968Yk/QQ19VPTB4Hh9PA6c5/tBWKUNRDhJu1tpzgVxVPAUW4YHfD+7eepo07lbdGjk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658303; c=relaxed/simple; bh=ykF7NpnQT46Jks4gfz8eLGiyCdlQem/AcbuOhppl/6w=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=XMJOjXwG8NyoIFXvn0swSjmFS1cBk7mGCAZdzC9/KcnFl+QPEgsBQBRqZLDDDGO72qhw19S2xtHBBAlGEBqFd8eSOLa0JmjJIN7wjzvUwZeveWm2BBygyDT6ZaAHQ1bM0lHisl+ebPifckKPoE1MvkR2LXIrdbLjNflT4steQug= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=mmlc6x83; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=cd+oICKc; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="mmlc6x83"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="cd+oICKc" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKx9Lh016982 for ; Tue, 30 Jan 2024 23:45:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=LuMDbYYENfwkIa7wnMKemSJhWngTnAyZfWqQeSr9hFo=; b=mmlc6x83o8kEkcndn3carY003xGvU0v3bLJhWgWO3l3HjHppyJmuhoTj/K3SMncGZ9QY aqbHuEC/bqDFTCa3DwpKcOdEr0HX/g31miZYuf8xE5qVtFSoMtUABL01G9VmVT+3bWIu qu/Z0xgAoxpgfG+SyBDigBQceXayIEXSbCTbA0OBzmKWGCqEx6pYRUNl/LH2ycedoJXb taJPMixbyKJDoACpIak5FMr+aGIVb2V5LSTrXpPba6b7SeU6W+LrKshGrItraQMw2/wb H0JBlZKfuiwmXmvCr6DwBpXAK3YZKurTlNY4x2iPQ1/JDdj7nf/V9ArFjGt1dWGMcuHA mQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvseugcmm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:00 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UNaKQD014749 for ; Tue, 30 Jan 2024 23:44:59 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9e97wk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:44:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kw90Q5qwcu0x2FRrEg87fwYq2pCQqpQ5qD/Jr4XggYQJIqdmDA7jxosSxgXzWjjWA/2drC6ENu/OOUvglx2XVVYi5pEcNmJ3s5Lbc36L0RCV7gNktDsp81SfnK6DUzVUSpEtBAl2AgQYbC1IDkQNRai5/b0q7F0C1n0NIRlVV1RKQ58m6lWSyS+DIciYH3ojhz6v5bzGaAXD19m1Rn5z/gYQNHINw/RFMHyMhTEDFYCviwV505cxsYy+yR3qkZWDROkgtNsdDy+ghuQ9gOMhm7vxCRsMoa5KdnjsFPvbA+XQsrFFsHvj/rfeLXBMvYXLNtneYQinUWneOmRBEBU1pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LuMDbYYENfwkIa7wnMKemSJhWngTnAyZfWqQeSr9hFo=; b=cKxAYtSHYIFaZP6C/x5akvQv8n1IwCHoaZ7fiULnNSODwtZx3/AEvBoHYfmRM7jMzLOroF9WcesWmIF2OtD4C6VjGz2QZZNlenOj4QJhNnCvcgJoA/+VAFNRoXfdd4p3Lc27QQyTDbnDZ95KHps2nCPK32S3vkT3S6i2bEaNTX6tZCTRt+OJZIkkKzvBrGwsENX/ujFXX3Q2d5FcB0oN8Kuly9z31ZVVwm/uZ03JwWDCHFpVLpsilvJDolkPh0R6EdVqO+NXICMi76H3gh3/o+mEDSRYQWLwwL6jiTP0TGgP3AjiWJcqUwzSM7/BjghOfZcNxuFVYPFc/+KGaLDf8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LuMDbYYENfwkIa7wnMKemSJhWngTnAyZfWqQeSr9hFo=; b=cd+oICKcZxPaEC9nXjwT+BrL2T/geKykKfbUF/bRca6qmqcEWdYubRVeqrnDZaq81BMjpNRC56rHSHhNKCYu7TGA8aDAunmV+jQbtKYf5hMUhLK3RzU8zC97gVYdJG/gkr4B5riglXorQIHL5CKsCtx6FBl0hrLX7A/AD8zP2mM= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:58 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:58 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 18/21] xfs: dquot recovery does not validate the recovered dquot Date: Tue, 30 Jan 2024 15:44:16 -0800 Message-Id: <20240130234419.45896-19-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH8PR02CA0001.namprd02.prod.outlook.com (2603:10b6:510:2d0::19) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: efc9ce3e-3958-404d-2e19-08dc21ed77c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DMiRHgGMxsZtiUZBYEkhK5w2EaO+Nkj1xCUL2uoBBDdESINAu6fCTa+bo53u63opnRT/v9TwZsMC79RCZrlyjTYzeXFjuL5ZS4XTzhicfgYRAOQIcXla7hvulnMw8NsWNgGG9nnaCRFB+zUDrvdEHFh+rrwnmKWGqDw4jhguybJlOjGKuUrLiIuLUtTL2wazXJ/vyeDJWUJOOQEMKk/P38UfxOszkM15TydF31L5CYibqey3CfwqNAue2kcRIkwhto7XDp8fYyZn1lDDp2bl6zN7sJ0fZnpvAGSfyuO/sduq9KGguzzD1R+wKu49U+4TGKA1GXXS3A9tq/HKMfT2pz9jX8+UIFbIb1XqU+yCZxy1Me7KUzpxlODZJqCAEmQHbPpXhekJtC8vQtSAKY6OmbgoLGNtDYjDZyDNMTwl6+4/CzxA7SwfcyjI0beqkKicgtIqSvm+07PanVhMgvqV6f/7lmFVMK5knKrnoNShuQlpcRhH52B5frVr+flNKLG5DxUeAbm+FUJrCtUm1N0bTm4oixLaTJn4NUyZLiwWARdksyKNoljIxBudaQFtS5ve X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(66946007)(6486002)(15650500001)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zsWLiniyL3gHc2Gt2xRqWM1F64bMR+9YkZsRor7UYonIQYSxVuehp3aJUrhtG6/LiPLwmI8lzbuE18mO+rSGKxUHH49fGceXib51ExrIyui/unWPsvLYZPgXARR2Wd6noUN8sbkyGe2ksN5NLK8nwXsgy4el0/n6cw9WgoIc7Qog4ESqyDL6l4YizBwJtGyGklGkK7BO9LOsUjydbTGCs261yQ+bpF3UZjtGVBYQNM3q9yswZIlBIyhktV4RDPBY6r5eSICO9lwr3HXcJbgDu7eP00VVqtD31LTyxsRyMioZuQXdn3RuTlB9TJxAIreE8/5gfL7pnLPzamsIEX8rO4sw37EmnT6gCAIZ6KAZj7/rYG2mQ+jljkpGaTmo/esUbOezKPVpOQyTlkaKx/sMZSjge3zwOxHgxX9ZABl2l3AlmYOXDX1MaCNcmDOvxNp7zYpgQb5Eqb+eqK0xfqURePZ6BM9IQcCvxx38Y+u5KfSUocBCSnG/5MgzXtVYWdjt7SkOGvkpqdD4aKtMfle+en0pdpe87EcYS5naLYMqtqgE+3M/feuqwfAsbstorUneiXZsceVwna7tRiJStALt4I8bBo+yr1u8hjLBuisfVSTlUf4kqNqJ6tHWb//e+AvQPpSW/AE0qSGbqrMj/GUI3w1JfzdmR1+ovZ23PyS7Lsp+s5vLZQkJy4EsbZ2hlMMKF+voMBHsTSnMtjX5/O9W98Tn3KGix0fbUexEgsphrqzn8diO0OGcAEHdyZFCWi6T/aaTQ++XjT5IVEzwGUH1hW5FM6N9CawCUF9iJ4sNjw462iqDxI1A6mKRWOiuufscloaFLaxpbBgJkf6FmxBv99paj5Dga7k1ZJn8CSAhDipeJRXrbaVldWW38uxZ1k8lUtEtJ4mHXDEy2e/10Eg+FYw1Mf4BPYwOsSYbML60paAFLjJS5PnIfonJEb/QzuRdBEwo98PastAfNJ3sC/b+Eee+6hYmTROYrBnrBPAEVWgGz+KMQ8wnjd+/zLxQ9QN3msbf6qddbaNw+F93b3J8wh6QIQpZcgls1+jI5c4KuF4eQMHQ9HYt13+mr/SPfuIXst5gjWf37Xz5kafWgdmm6KDz5Mx/a3tlmckYp5RGk1UIEZ/xcBA7xhXXJK5Bewh2pZPEl7+QmBVEbYJUJKpqKPgneFRNXNs4rkoaZWeEvb9E9YFA7kxK38q4F3DgBdeMqQMTOpopxErkaxmi7oiOZsaQw3db6Zv/zBBq0AtS6hUaNhzTf2uwteWCOS+Bfneq8qohrn9Bcvu++X00wmH3oteNIocUC0gerSmujRG37rS8RGtrSlN84ki3xFt8qyj+HLJx5ObrbGvr9G8Sr2fX4katx8l2lBbXlw8bHGHsSr+KMc+neBpUdzJ+0qhzY/rTn0adKzO2p/CJ18/YZb2lShnd68NfhMKJ0LqbVUH1dj17fHeCOwADDF2t2Sb3rW4UdzZvmgjXSIgw/fxxsTxFIf/YjB/1npfbhGnsPDYU220SN3nl3I+ozxa7/JsLJKMxsD+sI2+WbvbLSUb8rXIlAF+yVwt5nxbWPdLrg1omKL3ax1s+vcKdQBdYYeDnr6NuFrfnF2Cwe7I9zg/Zthd4VVBYzhuA81qJlGckQ5Yxl4fy9CYGeA0dS7DapfJfhKhMFlryuNWRGlgzzRwCkP6AAA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rWJqmUe+0MXYVIpWbIbbrKrDMBMkMejtyIeOzyNZXxZQf3b/T5B0FBnfRKdUWoRJtSBUsyzYfKEoFTZROzUtKxVNxFFPnu+yAjrGsZ8ylBVgauGSR8m/qSBWx/AxYhPeqHQyA2ZuRs0c6HU6liQ2i08fRnZ+5XwWzfMPnZ9SPEXCOT4OuALXRQIOmztitDE2g4Qo0Z8jLvuTl4FMOKP+R/bqwUZbr4QktniXLr8xIcxm3/ZnKKIy/fxKw5UvO3KlOSTMLnD7G071TWkN4V9XaRZqxjPx/SAP7DD5CYDzV3TLbsY51SENN+VvS8vOo8WX0F1W2KA9XByAcDuceQSiXdE1tVqecpIc3885jl3milyUM2qKsbFQkV0JFhSvhfnONoQ/YJwPkCdYnc6PyixdtENHcyTqa7C9zWPFdUliJbiQFCoUMHJMDgHs3MiB1xGFXwXx6pAULy2g28L0ZePyisDsPYZs3Oaws9Wh9P+HPkLHveZ18RjI78a9a4pPikeDSyXa8v8TdgAIkQ7t6byYSOAfbAPH55ZNq6w8x3cyN4w5XvxbodRwplKeIJkBBx2Ne/vlO4zavTvhNBwbWj0g5v50e1XsKfZ9qH1gCO7z7sQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: efc9ce3e-3958-404d-2e19-08dc21ed77c0 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:58.1128 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6d8VOtOAGeWgYo2sFn4XyfKFHHh36HQ1wymB9r64DE+W1LGZP+YTtEYN4fgzUR96IwCabNWo4y2tgD+IdO0NDOyu2wpm38qESWv1SUuR6LM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: WOcwAP6pfN7m6bN6vkqvDPZqr7KYloYc X-Proofpoint-GUID: WOcwAP6pfN7m6bN6vkqvDPZqr7KYloYc From: "Darrick J. Wong" commit 9c235dfc3d3f901fe22acb20f2ab37ff39f2ce02 upstream. When we're recovering ondisk quota records from the log, we need to validate the recovered buffer contents before writing them to disk. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R Signed-off-by: Catherine Hoang --- fs/xfs/xfs_dquot_item_recover.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fs/xfs/xfs_dquot_item_recover.c b/fs/xfs/xfs_dquot_item_recover.c index db2cb5e4197b..2c2720ce6923 100644 --- a/fs/xfs/xfs_dquot_item_recover.c +++ b/fs/xfs/xfs_dquot_item_recover.c @@ -19,6 +19,7 @@ #include "xfs_log.h" #include "xfs_log_priv.h" #include "xfs_log_recover.h" +#include "xfs_error.h" STATIC void xlog_recover_dquot_ra_pass2( @@ -152,6 +153,19 @@ xlog_recover_dquot_commit_pass2( XFS_DQUOT_CRC_OFF); } + /* Validate the recovered dquot. */ + fa = xfs_dqblk_verify(log->l_mp, dqb, dq_f->qlf_id); + if (fa) { + XFS_CORRUPTION_ERROR("Bad dquot after recovery", + XFS_ERRLEVEL_LOW, mp, dqb, + sizeof(struct xfs_dqblk)); + xfs_alert(mp, + "Metadata corruption detected at %pS, dquot 0x%x", + fa, dq_f->qlf_id); + error = -EFSCORRUPTED; + goto out_release; + } + ASSERT(dq_f->qlf_size == 2); ASSERT(bp->b_mount == mp); bp->b_flags |= _XBF_LOGRECOVERY; From patchwork Tue Jan 30 23:44:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538385 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D22F937708 for ; Tue, 30 Jan 2024 23:45:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658308; cv=fail; b=NAt2sHKLirv7ICmq67zn7bAcdvLZJoWz7WbEBSzsK0YCaXzaS4diE4SMBHTZ/87WyVXYc3AUTR2ky0rRFsZbVWGaoy7WYBoRATZAJEAREUtClkWSulVVhD/EFH1nSlhv+WYynpm7wVcqfgNF6PWiEWAnU+evovV4uiKU2QI2Q+U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658308; c=relaxed/simple; bh=fJQMYeHpM46rx1GkP91J1tURhIUBidwM1I0ztO6eHwk=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=sutbsC69bVH0CoVlNPPPLF+DGjEQ8JP9rbreOuDV+YpoX+ir2+0DjYPl9nTo/EFPxll86knmw2jy4E0uD8v4G4ixaeTIkl0CGO0x6vxhpHmGBrlkxmM6fZHxrdOfMslcc8VCD8Y8ZvrtmlvOO95JfgSPMjUiJe9rFPFB/CeCyHs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=SP4vS0qK; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=gvxLpIEG; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="SP4vS0qK"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="gvxLpIEG" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxaRc021724 for ; Tue, 30 Jan 2024 23:45:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=91vsyMjs5hjpZevI69sB876kEobKPRZPm7CNhfsFUr8=; b=SP4vS0qK7eOe1Npl3QCw8NUmEN7ll2eGuZXSfIqgrat5t6khWV8mRENgS35yQ7wPqUxv oVabHTiAyHCVdjUi+cGlX2vofhvu0abQC2bz9CX4WZuSadi9CoBDvadYMeqCgK9efpyM YuGOdciY2Qx0TOC0hFAIXhc4kYSj3pRLbcBJNgBJFkUba/NfsXfI7zOshNpblsG8k2si 9KhyVsY4DRftV1t09G8H+CYJXGhTyPDaBRMni18ilTmwY9UNPzjZQpcmcnBvRMRh/pYT toJXOtlvMgMxMAC59QHMyd86zt65gUbTyM1qKbbBZTZNqGUc9iTA6ozliZPzJEgwedwX gQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvtcv0f29-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:02 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40ULbuWH014551 for ; Tue, 30 Jan 2024 23:45:02 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr98015r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ALGtRd95Kv4QCR65vC6lK3e+KV8vZqHIoqLHQBUEXbb5Oc3RaWuE+g2oCH9o2+d1apk/5I37UFaNpjYcg4w30BNS2N63lvkOUS90sxzQbiRyyStXuewEd8qXYNsGhrifUlq48bcqfH0irIY/Plb+nJtOFQ/gsQxfvvvHUDP1l5V9byNEzlE1inHd1dzUd8/5C6hlSqkjb17kgL6ePCSbEnX0szCYi81/86r9VyMdHWM6n/i50cQIXFVfa+cJNTzYV2IQ+hAzXIui72ke5WmuHtO8UQP2cpOGVAXJVr8PPAnKF0wscSCXne6pIez6wv59fRgo4wWxk7Ijk9T/qgYEUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=91vsyMjs5hjpZevI69sB876kEobKPRZPm7CNhfsFUr8=; b=V03Kx2dEv0Dvy7P97xrdicq+6qrXnTCmwWv5hEFiBZIggO5+8JhO1tcj3vE+GBwfBNVCS4yoNBxQ/WTTNR5naGpq2inHCL/VlyKkUgxczjAU0hJrlaqUSgn8Dn1rqkMJnzm4n/XBQPeYaLO+wCsS5EpLixd4EYHUqxSXDM7fM2JXZuFqILfuQ3Xjx9sPmtpQSMdcI1U/g1I2zP4L5drfScHwHJY0tEwFVMrrIwSyoWRwbzi9b8xCOJEGpWNbIt2EaL6gE510DDQt8uhup7O5870gHS6cWXko4YOe1c41Pbi8eHzQ11CE0L44THXZ3qiS+0TViiAT0QV4Cici1E9Cvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=91vsyMjs5hjpZevI69sB876kEobKPRZPm7CNhfsFUr8=; b=gvxLpIEGqG1BZ5G49yDR3mJxqBxesXsuQ57yo38zrUfpI1sGOKfBnvOusFfZBmxBKjOcwcE5YidaoG9dVFYZsaSThmeF64yTEid4LTR7aOkYN1ekjLNM82J+HFm2jCDMP9a0he5Qb0V2Ev8IE+cHmgmkzTRqkvfjpb4kRNGoVUM= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:44:59 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:44:59 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 19/21] filemap: add a per-mapping stable writes flag Date: Tue, 30 Jan 2024 15:44:17 -0800 Message-Id: <20240130234419.45896-20-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH7PR13CA0015.namprd13.prod.outlook.com (2603:10b6:510:174::21) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: 4be87d91-bf80-4aa7-d25c-08dc21ed78ca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MHxLX5baGuQ9B5cpDAfzTqe0EfIv62p2urr9GwhbbEoQL9jp+caURuaaBmg1khc+y8am7iTFdaVXq4gOAmzXrQX0I8P1ZPeRMZC5Jq4/Vtl5UwC+O8ECS2P6woW4WWDJdyrsTUQKIYOW+9MGeIGmd1aJIMLzHisnqtIUMSQVR0Su0+RJeJnrLZc2HCFYbqiFdABQ2aDaSvEjNtCJv2dHeOQUJanZn5sc+1ihGLtaomfcfCxNuBMMmHWn2RYf1AuD7I5z0alqO6nO4mVQG61tgoMyQZXjWN2fvcduNPYGsu1De5Ks0QuX6YkouOMZ5z+v5sb6eAxlAT3qLo5tqRp1khmo9HuOXVL1S4GeZZHchVsg2binrGdtGif77H+U72ekaDdo1zbM4x5252ZUCZ3oMULn8kZuqCGjJJJSs6xpykTfaFO1JOeoa/s586hKbiUEI9M8/YqMURbbJqCdQK9+nC0PdqyNR9+87634tsYvjARR7c1/jec8mHUDsGBsg3/d4TMVsEjXtvzloEYs0K7y+EqgGfzq96FC3AzI9E/V1C0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(966005)(66946007)(6486002)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: y6U8GSyLvEXU0XRJ8LwkRI46FQ4q12LQKhjfRNgHgru9j3LCCdHuHinY+PcXlXRZVk1wkUAytcBro8E/aeSI0pylO7Os4P82zO0CuFV0jp+UdqBgv5Ck1Perigh7nrcXOigQN7TNeAq7OxVKj5E/7XLt7qXHEajhCRGtOi67rIGai0hYskOMcuj6QIJlfBxtKyfs7GDnIrAkK2tsqrQCji7KwDmoehwnDZ1O/k8fEvfgYh30vCZzqgYtsFvJUKvk1Zl8BcUq621IUS9E/uDgUYFnYhqCg6FOluv1+X8h10TIHUlnfsehhuFhZU90BXRO3jjDhIH20Yak9/1IPzjUnfqygepTuz0wtm0WkYg4P5s2XxoLMOyvmYnviA8gqQIb99CAfMw6JwyOEP+d3HhCOixTKDbqI9KfxaJIMT1390r1n0Ga778s12eFRIpBvqmik4C1/vPWcCQ7ZeIyuyqv66iR3xdKZ0vUTxdb3F8Gvnma/22SkfsFMfkfvMHzwahC9bEuugdNalRqnsnJN8xZwG01uPpEMiCtfcCUwiDtgcNEGmPjUkbupvhEnsGt8OU+jQFpzYDM9RNiig4tQeL8TiIg9V3HYIg8B/z4Cp8g+M3Hafz6T9JJ+F5TUmfitLDRMZXUapq07vi5qZRxDgrlq8Mx+rJX9feCwWvTXRR0fhDSbRS0cjSfCzsriJbDmYl/LK3NihT0efHO/2HQxAC/FFdEwOh8zMasOy8owTmf4tFHCCAWfZSKBXaUiw1aB+pxMpIT5EBLmXPjzLGUK7S49YxCWv/qlv1xzmKOb79eIUiAy9JCUx3x885ArSL4Kqu+VEt1Rq7QvLxLpVKZeLf8GtxXJav5UhD13jLw7/bnywuAZ3zsgYfeNJMI2Ow6tgcsyanQdwN5ear/yVZPBn60LPHqZ4ByJGUca+BkV9vnCRlM7KGNsRsuikDtI1hiXZl9PFNU3KOWB7p0CQOBzs1cjKueq/lPSyIb7gQaUyJ18UhUDeXMoqbqdhMCED9cYF+VMOEYIdVTn9i+smzd9k5K8fVieSEjrkKTif23YmRMaYXQFV2pjWsIwY+ZVLnKT3gw7b9vtWDHLGI/O8eLN+2GJlhn2hEb4WRhpprfEnaL5t/uLb1Uan+mqw+j9eSH6JVn788WVxEVoXndnyVPr0QlguZscDGMJx74BT16tBceBRJayJzV//O5Xl0OarvjPeEcb/hEWZNTB6OEO62y803ao5Y8h+QQVZSHtab0Bkyx/w7MrnWqaU1BogoQHbxXsTvciaAntnqQ1qvRav6zN2F+8oFrk1BPcfwvW6SJXReSgVERCskCdTfMyHeGE1nTdm5is8ZF5B7CiD78FvcxV/J8tNv810QvLxkOxnJBcADpQ2k3e0FrBKbzO2ezF2nH12WGqr3Cr56KHVeCL+mwbKujhzg/p+mHvTsCM9GlLvKx8sl8emNWc2GeajW0ay+kYph4s7yanlAeUT+wzJZuJ60m6jNd4oM9lp6lBft/IaMvEePWLEydYOc8lkoHB3ZFrIUpk5qtxbGFTnpinton6G6duOZe4TqIWTj6qR/ibXt+H1j9SCc0h1ONED19stB+FZ6yMWeCEWUC+5zP+kHy/c8ksz9C8t899hm8d+7XeND584+SceOqDaNR91KHRczWq/Mwf/z/mVGJ1SBIcwXXanHGSw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nJci1Zr0R3aJI7CB3VZ09zETzjlD04i0AdrihzFRyGHVVe7k6jdYDTTiQo6r3kMJfspodW4hBr8aoAJgKx2IGqraFES0xp7mZdrcU5cf1Fgsxdr3gGSHhIceCsZ5o8D550OOZfxONIjub1Q4xwIP+7Zq59XNp59AzqoN4NQLl3EHcLXmM//9Sk3QGGFkxwZydRuZNWjw6eqcJFdQZoiWjFq+73T9tDM6Bku5Y8Bx+Ww90hAZFsdO86HSeBXY1zYDPGw9beZl0HGnHHl0MBfAxTC9WFLGx6onDU4LJ5J7A0lBkr/jEg8b/0yLzXfB3Ogcu2UFvwXowcaK/EaWQXT2uIWZXP9dGNC+o1x+ZZUbm+Nkjb5oq/GD0dbEoW0RdAf5WyZDLDYHDQVuGSYaF9NWZunVWU9hjDtjwl5HMibXiCZ5wOOLQUSj34br5X/3/AEBTmorHxSqnk9xt8blRXPnBkHvyF6y9hwU13SWqc8gxbL4HoDt7GA7uA4sXdba/xu5zHji7u9Epwc1F7Jakr4uosTCmO4ud+4Fc6Sfn8mDnDAygfXUOpOBX8QTBuQ4BvVKPNZdZaml86+MI2OdubCuUVGerM1H+SnTT7tJIA/u7co= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4be87d91-bf80-4aa7-d25c-08dc21ed78ca X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:44:59.8489 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D2Gt57hgXxSYdl+LzimkcJph0fQIXyLwyD/Tsr/P692clFJIfHHOq/s7pwx05HeJ04lHr6f+BPZFXyhDKvs1sg54BOAY2At/8mF7qovfP/A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: XKB9QyxAKn1wdMDt60PGG0JB9o5MD-G0 X-Proofpoint-GUID: XKB9QyxAKn1wdMDt60PGG0JB9o5MD-G0 From: Christoph Hellwig commit 762321dab9a72760bf9aec48362f932717c9424d upstream. folio_wait_stable waits for writeback to finish before modifying the contents of a folio again, e.g. to support check summing of the data in the block integrity code. Currently this behavior is controlled by the SB_I_STABLE_WRITES flag on the super_block, which means it is uniform for the entire file system. This is wrong for the block device pseudofs which is shared by all block devices, or file systems that can use multiple devices like XFS witht the RT subvolume or btrfs (although btrfs currently reimplements folio_wait_stable anyway). Add a per-address_space AS_STABLE_WRITES flag to control the behavior in a more fine grained way. The existing SB_I_STABLE_WRITES is kept to initialize AS_STABLE_WRITES to the existing default which covers most cases. Signed-off-by: Christoph Hellwig Link: https://lore.kernel.org/r/20231025141020.192413-2-hch@lst.de Tested-by: Ilya Dryomov Reviewed-by: Matthew Wilcox (Oracle) Reviewed-by: Darrick J. Wong Signed-off-by: Christian Brauner Signed-off-by: Catherine Hoang --- fs/inode.c | 2 ++ include/linux/pagemap.h | 17 +++++++++++++++++ mm/page-writeback.c | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/fs/inode.c b/fs/inode.c index 84bc3c76e5cc..ae1a6410b53d 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -215,6 +215,8 @@ int inode_init_always(struct super_block *sb, struct inode *inode) lockdep_set_class_and_name(&mapping->invalidate_lock, &sb->s_type->invalidate_lock_key, "mapping.invalidate_lock"); + if (sb->s_iflags & SB_I_STABLE_WRITES) + mapping_set_stable_writes(mapping); inode->i_private = NULL; inode->i_mapping = mapping; INIT_HLIST_HEAD(&inode->i_dentry); /* buggered by rcu freeing */ diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 351c3b7f93a1..8c9608b217b0 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -204,6 +204,8 @@ enum mapping_flags { AS_NO_WRITEBACK_TAGS = 5, AS_LARGE_FOLIO_SUPPORT = 6, AS_RELEASE_ALWAYS, /* Call ->release_folio(), even if no private data */ + AS_STABLE_WRITES, /* must wait for writeback before modifying + folio contents */ }; /** @@ -289,6 +291,21 @@ static inline void mapping_clear_release_always(struct address_space *mapping) clear_bit(AS_RELEASE_ALWAYS, &mapping->flags); } +static inline bool mapping_stable_writes(const struct address_space *mapping) +{ + return test_bit(AS_STABLE_WRITES, &mapping->flags); +} + +static inline void mapping_set_stable_writes(struct address_space *mapping) +{ + set_bit(AS_STABLE_WRITES, &mapping->flags); +} + +static inline void mapping_clear_stable_writes(struct address_space *mapping) +{ + clear_bit(AS_STABLE_WRITES, &mapping->flags); +} + static inline gfp_t mapping_gfp_mask(struct address_space * mapping) { return mapping->gfp_mask; diff --git a/mm/page-writeback.c b/mm/page-writeback.c index b8d3d7040a50..4656534b8f5c 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -3110,7 +3110,7 @@ EXPORT_SYMBOL_GPL(folio_wait_writeback_killable); */ void folio_wait_stable(struct folio *folio) { - if (folio_inode(folio)->i_sb->s_iflags & SB_I_STABLE_WRITES) + if (mapping_stable_writes(folio_mapping(folio))) folio_wait_writeback(folio); } EXPORT_SYMBOL_GPL(folio_wait_stable); From patchwork Tue Jan 30 23:44:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538387 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9893579949 for ; Tue, 30 Jan 2024 23:45:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658311; cv=fail; b=YdTV3BC7rbwfC9qj1SlGeIKAmkOMkV6Vt1+gzzc4fF26QVTq7anTlArBXGMir4XpO4dyp2jGXQQpHhkzeM3oOP1llycClVS4fPeiGhQF3Qp4wbWYA8NmDQgkhc0GKvr6mr/nKsVGuLYrGviEESTjXuhb8Slr8S1c+m16zRne/4w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658311; c=relaxed/simple; bh=8nJQ6Xfyu8kIESNGyxqX/d3QyLkc7TMEImcDNDV1sOE=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=YdhVsvCfjRGzIpt8TkID/BDiAT+o10pj7keQavuDnMrtoUNJWlhVqRgmIWSjN5mJOCRv7AqhnEN3WSlZ5YAmhxteOHRC1cRQXSMa8kXvp1T5FfnINjR8JzfV3GJhonX1HUbrl2cog+gOSTT6GX2oCCwA1SSFq9q/G3fMuyriKuU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=YKN8HS+p; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=z2pPVfcv; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="YKN8HS+p"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="z2pPVfcv" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKx2j0003587 for ; Tue, 30 Jan 2024 23:45:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=ZcVg6FhlIzOzz73xD+aGgcmYSbYZymJ/o348m+dO8uA=; b=YKN8HS+p/aP30P1OH84dL5DdO6+gRLR8xvWnCHm1wOiW14Lqm2t7GolXLPBg/nQc9qQ2 tVmGqA6x6N/FvsrI+1m/0tlEcf3pYYi0Kr1c7x5gxGZaSG7tpasJU80wfpvnpWGLc0a6 nPrQEPc6VSwpjV7LPqjtYpyDnhjkJ50xVzwnfm4AlHPfACn5bwnon1cBxrfqPQuEcopy TZeo3tkSGizvFNAhSnm42J1Po7yKuOohERogK9AjX/W1TL4+97xV3E6FBKsJiX0oHvHJ aMILC3r4rBINtGe6cH2smVHdra+UZYVYohwybOeEOtdtO7TiL+cH66Vqp4wEZHRb635g Sg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvr8eg9ht-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:07 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UNZ4aR035273 for ; Tue, 30 Jan 2024 23:45:07 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9e1dys-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NPAwmMlRI5bo4CPnZWjHV5eaichSCCyT90TOuGx4+ipzaxShEVUS8XNzuOQpcqQrHH79r7H40rQUHHEmV1SKEXjvqDqalSr6kR8WKbasuBlpbjBBtNAV7fCaqxCkHclr8/e3f1HofNLEk2jE22VlqX/DmNpkj2mEszd7bszG/kYcZNtmh6kPl9uQZxV5pLwIemZzGxO1XAgIEcFFFboT1r6X/USgwcaNxVSXfOP7eMrjl4a72ITQPWtkYTRd8oFLi806V2c0iWZLmJkPPzmVuRNV9Vtlmuvixj3kNjE3rlV2ZEQNcDvoBLLm+RrBcJ596kg4DIXqCZHDmQDNBuVftQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZcVg6FhlIzOzz73xD+aGgcmYSbYZymJ/o348m+dO8uA=; b=ALYTlpr2f3ak6iypHeAsqVYBxHNGf+VE0eeSPf+CLHi7Ikf00wAIKN1bB26QqKkI2IoLi+O7OZT/WWjzfRoux4skKhL160l36jXavQe5ZukXOTgDarP8+HgB1/fIDQjaXsdcf5bSIpiadTBaY3RtTanQumMXx95sQ/qXz7fd7uWd08VEGYfKiWbvqTY76UjSaAjRTLkzLiZwNTvszAbWmkBphQWs2y5QEptnXYKc2zNpXjhZcIevk8Xps5QUZauGdvtmzs1E5SOn4udoPs2QVTOnuOVvqOqSXEZJusViILF3a01IoQEGj8W4wCmEgIXAiUxXgUqu0rYRzgfDMJ0DfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZcVg6FhlIzOzz73xD+aGgcmYSbYZymJ/o348m+dO8uA=; b=z2pPVfcvI9UfVfQCJqTiE+kx4KqZpxI2NyOhP1H58tfHKaZ/fq1b54nfzSNURw5l6pq23pPFWc3+qGchgqFRwi/tAfWE/2m/36TY/thEjQF9QSqV/ZfAcNGl58Cs/lU9AZSuNHYnydTLy1OqeKUNL910RcTCHcMityrcH1gfnI4= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by BL3PR10MB6092.namprd10.prod.outlook.com (2603:10b6:208:3b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 23:45:01 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:45:01 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 20/21] xfs: clean up FS_XFLAG_REALTIME handling in xfs_ioctl_setattr_xflags Date: Tue, 30 Jan 2024 15:44:18 -0800 Message-Id: <20240130234419.45896-21-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH7PR13CA0003.namprd13.prod.outlook.com (2603:10b6:510:174::14) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|BL3PR10MB6092:EE_ X-MS-Office365-Filtering-Correlation-Id: 2236332d-eae1-49e1-a5ab-08dc21ed79e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qc+Xw7DAbs6tOxh7bWJ7+/AXfEau0Vle0wuGUzsEVbEPnP27msiKREhKRT0DTDyOeL6k2kmB3lVu9/+YMb2YQY3lQSUxozty0tSBr/K7Vz+aAJRZRthOuTTuH8xd9NejXl4OpiflAnlJsFG6aEOreZx4WPsH15Ije5Vx7QSxD832wgo0TddcHBXx5YkPh7wv6hpolqbcwKS8MD031lVR64tLTk8oMp4mcMgU9xwsoHSADitLm8EsiTrZ64Ra50rc022jHHrOuYPAUYKQ9uINlSfwKKf4xhaFTMZpFWSiH1r7s+3q4qb+lhsCLKriaT4yQfJIpXQKNhA7cMkhNQHZ9W8XDA1qeBBEpKWZFY+NiSOflth5RsrJO4CYOrGmPL46fDBbJivC7+cwCvyKubzXOFDJOZQZXQFGRJBMyWXv7cwcqyaT7OWoYNYfAu32ufSBlHndI9xl3VbDdP4NgGc1ZYJDHDpXR130lF87rUPSOE7u8laGhcYJuL9ol/Tp+YbTU188KQRaNuRVvV4IFW829JKsD9bIWJVGgNbqhV4H/Go= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(41300700001)(8936002)(36756003)(86362001)(66476007)(38100700002)(478600001)(2616005)(83380400001)(1076003)(6512007)(66556008)(966005)(66946007)(6486002)(316002)(6916009)(6666004)(6506007)(8676002)(5660300002)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +ao9WRdwi47hLeZNZlmmvkCfNHbJ6RHasUn4owoHRaGd2wecznc+jxHbXKuSxhxC/Vcr8+L1OUaBYBjqIZEWCYsu+mCYdY4+lUcBBTnP/0vWFc1qGF9mLN7XiUAnCiWlLckBGyUQCo+kcgjVs3mQf7BezAKJRfBf5ZtoQFuOSpl2o2nfcT3A75Ktgu2jEvxRfk/570nXMIqeCiCCMfiH1gk+DFV/ksdrWV7rXYV6ynY77/89TuZ7EjoZbrW0QIdXJb7LJYFLmLDu5m+UJ+Ok/7viODI2CIA7R6JpR/99kpOmlDIn5xed423A5q/zBQ0QjOngy2hL6dxDXaOgEe2JcNegsNkVTSCmngeck+hzwBTYL061icXCvd3JiatFqnm2pthemcWMNcrIeYbz34HPDlywbOS64QFAbp3rebLgxRmb6MsyHugqS80i/yXRFLj2fioQTGZ1CQuM6DZ103uG14h5uKewrekCsZq7dXi9KoR/L/vWu+IAtEtWPiItBNGy4kC9z7UGdQ5U3rNxBcF769vPqUjPmfwD1rHF18BeGQvkCXT9vBQ9fyWWypGKvuL4ULn+5OLlngMkF6DJ4Vzt6f5MccXWDUoJs4Jf13SBWq/TmmIoHjc1bobNpUQHkQ+txUhuKuAKSCRD3toLKexYflsN/cHY6+RmLB/SJnYpHLjzcGLi2/7rm5VI4qElh/Fi/WyXRvJZ4lRRgbdLsh2l6GdRgoB+YreNP+GfBfJvyvr3Q4XtqLhP6rClvxOfM+uExjNvAh+m3UUgh3Yz8sCQisOWPniKubwY5dCOHpK4T94xrt5xblxAySorTPTL4/zuVMaEXc16Njq3MN+Rd32lWHmQbrVRp+bwoRyEohbE5e3WoRKP0aRZ/SBvvjKsGjIniLBQEJVG1+6DuoHJjTuSOXzs+kFx4sIW9nh4VaCOAtVqrjWVWt5wJyNLNq9XY+QGWXO6uT4uheniG784bacRvQoIdgZGaldqwIijeRHBPHO/2mLvDx6BOp6o11pRkI49Ztl/2Vimj6WcJH0BUi16TieLpRbY+jnyiVcBZvMQtEDGXjdnCUfX80gKT8vnIF76kDNT8KnofyqYyX1aDlOwJkTUmcDhifCZJL/QYBbm72qyQCtOpH7563vLuj4Kai5uDTc4yyq+vBdwtq5wozWwesbJ57QjzpoLxQcap6qbzGhoNs4RS/Kx4GDvGUTzT84jr1Lbssyhz0mpQANIb8dQgsbtNz/Q8Udyk67wqbPDrrxlcDCcBs0iqnhTEOfNTB3zRKmlDp4+07mJi717T2A1dAudQh1Zdr1AcvNWZpAA20LYYe6M1HKbUAyj4sttuupBQ6SfF5Vp5EBI1iZ8Fug8Na5NMvKH+F7rJnlyzYRie16tsdTTa6IvNXZ5O5W+AcB05LXV+K6B6FvPchaAAXug8C7yogSpzZHWdcpeXKBbP6nOagH9G5PV9s84ezWyWoUuiajAQMogTH4LP86T1L0mUXDIrcLllpt7S9YEiEXO2RJbRFCgalK67fZ0NZXehlFw11X4FDBqXA1oOw9wnN1x42HDMf5xG09all7m2uYvmMZGyelUg0o+m3+ac/5HpRkdMSkCEAupcp9rdQyLYjWggnEdAkuBxqzb3r0CPbi0dGOqkFpA+JVMnKWYnLT3WC+IcMsY4YX73vouK5zcKDXshQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bHcMFmtz10vE7iDN/eSxAApkGUwotoFQfPjQtzC63+qtgk4S08P8w/lFXHoZu2sUcYytVS9+GV+pv3xFri+qfj4qhmW1FsoMFeTCHcWtBzakNTEMzsvILEXgUYLCGZ8NCmvoF5ldSdkyOuVjMnoMPF1wfWbOXZ8hYpB0c9pOzF9jmhiXs0ooWpWj+qTPIqlzGYoHARtAWrxhNxu8QC+UYM1yjvqsQdXjZQ+m74ztlHwTEW2vVOfXJs01Kn1kxfFhx+PuYg5yBUkz2CpXRTCGIhO3cyUWJeUnBYIyKOPi5MTMc5OV8P7DeG0qhX/9bI6iuUzPjnkikwU1lnOI4iRKq9ZAavJUzUy5AfEtnVGZMtvRYQuC7iS9+VT/zyV2UF2phq16hkMOyxewue1ZyLns+ebu+MwkvxFLrKeRcTV0GZG1OItIZl4m+0HS/XmK+liDQMNjS/zZv9JG9xL9kUNDnai0dq7loDKx7Pw+ng8FiOqSeb3b7lg6r6E9KlL8eHcdfKnRSLj8oP6xQ1eKqjB8JdmppiA+9TvjLUQ6PYpUFHucb+E6LSFb7egK02Z+TDs7IfvaLZVtyAXWDEzQBWsorKCRcw4rV1o8c2GZdQnem9I= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2236332d-eae1-49e1-a5ab-08dc21ed79e2 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:45:01.6727 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /J9TkBDwB0dtHDD9H+puhzQ8fX7oc9l7VTyxS95GybBqb/F3G36m0yl4kkQ3lBzDxsFPr0lY8sqOcEFC9cn4w1GN5h305t5hqHKh80vOn/Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6092 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-ORIG-GUID: qUIe0To7cjc5VplDHat-cPCbCNkBqvKd X-Proofpoint-GUID: qUIe0To7cjc5VplDHat-cPCbCNkBqvKd From: Christoph Hellwig commit c421df0b19430417a04f68919fc3d1943d20ac04 upstream. Introduce a local boolean variable if FS_XFLAG_REALTIME to make the checks for it more obvious, and de-densify a few of the conditionals using it to make them more readable while at it. Signed-off-by: Christoph Hellwig Link: https://lore.kernel.org/r/20231025141020.192413-4-hch@lst.de Reviewed-by: Darrick J. Wong Signed-off-by: Christian Brauner Signed-off-by: Catherine Hoang --- fs/xfs/xfs_ioctl.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 55bb01173cde..be69e7be713e 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1120,23 +1120,25 @@ xfs_ioctl_setattr_xflags( struct fileattr *fa) { struct xfs_mount *mp = ip->i_mount; + bool rtflag = (fa->fsx_xflags & FS_XFLAG_REALTIME); uint64_t i_flags2; - /* Can't change realtime flag if any extents are allocated. */ - if ((ip->i_df.if_nextents || ip->i_delayed_blks) && - XFS_IS_REALTIME_INODE(ip) != (fa->fsx_xflags & FS_XFLAG_REALTIME)) - return -EINVAL; + if (rtflag != XFS_IS_REALTIME_INODE(ip)) { + /* Can't change realtime flag if any extents are allocated. */ + if (ip->i_df.if_nextents || ip->i_delayed_blks) + return -EINVAL; + } - /* If realtime flag is set then must have realtime device */ - if (fa->fsx_xflags & FS_XFLAG_REALTIME) { + if (rtflag) { + /* If realtime flag is set then must have realtime device */ if (mp->m_sb.sb_rblocks == 0 || mp->m_sb.sb_rextsize == 0 || (ip->i_extsize % mp->m_sb.sb_rextsize)) return -EINVAL; - } - /* Clear reflink if we are actually able to set the rt flag. */ - if ((fa->fsx_xflags & FS_XFLAG_REALTIME) && xfs_is_reflink_inode(ip)) - ip->i_diflags2 &= ~XFS_DIFLAG2_REFLINK; + /* Clear reflink if we are actually able to set the rt flag. */ + if (xfs_is_reflink_inode(ip)) + ip->i_diflags2 &= ~XFS_DIFLAG2_REFLINK; + } /* diflags2 only valid for v3 inodes. */ i_flags2 = xfs_flags2diflags2(ip, fa->fsx_xflags); From patchwork Tue Jan 30 23:44:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Catherine Hoang X-Patchwork-Id: 13538386 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35A067EEFD for ; Tue, 30 Jan 2024 23:45:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658308; cv=fail; b=PS9N8BLgnCKbR9q1AqWRHLCGatuZd7CgSI3uetU+/km+edBbNUL7s0gvj9hKIxqED94tckQKhYvk5rm25XXsT08v2MWgqXzjmX1i9zgzMmxCDpwktYJZk89sZIK94r3VvaPZcyluTyOlmrNzUxOcBGk/JYCWL4calDF7SQ3h978= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706658308; c=relaxed/simple; bh=odIrb+HmPTRyFV5+wvPWcOq/omezCj1/ZMo28wLuUgY=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=QoQF2U540EQQDsb8+pCRK1Vb845OJC76J/RpNZorkfwQ9qeLlflsUnWOwQvhANaFUqzGgSsqq//FMO9kuOXGpm/QfkCaUnJXscBALc6EZ4EwqIfJl+2nP65AhgTc02lP3sz3XzMXJ+hjoLPT0dc33Yca3i5mNOudwz/16YqKmko= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=bmng1rVT; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=VpHKw69u; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="bmng1rVT"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="VpHKw69u" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40UKxjqL030541 for ; Tue, 30 Jan 2024 23:45:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=iKFnNVI+opeXzHnKtzNXirHXYKNZUAr8FJmOJXYFdRw=; b=bmng1rVTsfEVfn6PwHuJ1L+Y1C9KNYdScRyQwWxu97DeT/iPpvHInTCN+tHsI7rWjkPt rqzTzSxf4IdWqJn6D4FbDB91bNyVHb7x7FpmR6K/8QFus+BH7YnlV2dw8m7x08RAEygA soT3w6kRWe3y6/7yZQAVtlZiRtwknEacoUeJaqtUdw/8lDvHBCvjTZalUS7r9/dqpymH RYFUFSDUuP2G9y/YssjT8AddJLxUqi4lWlOKjL5evr7GTW+oWnlGXpWdzGxrG9e4YWqT ZySkjC0HQwABgLWJdy2zbikcQWppwdsSLLvsCjY4e2Kqg9HFkm2+uD4p/ih593w3Ce6T TQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvsqb0d26-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:06 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40UMke9j031487 for ; Tue, 30 Jan 2024 23:45:05 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr987uur-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2024 23:45:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SBBvuP2aC45zl8p78oF2LxCqTQL554MZNypKo4QvOQ68p1jonFYgA0klv7ZvJaTZLLBlapiXRErSOGVpfJLvGCe8jwTLldQFYcxyrhzCCdpKerqeNyW8RImWstiX4tRzPNYn0/JoLsqq4gIjZ0rCCQuyjf17Yww/9I2b6KEr+zYGXkRz4FObuRbyquJklLsV3LiFs6bzJnkUyp00o8jakAmIliCdq/yPe3DzSLkx+g6SSNZP9rHXYoYGBk0veunJp7i+uKJIoO2MF2Yz9l7iB7sQBc4UmoZ9LStJJMhJX3/dUyxqeCHdwbuKzMfO0In3Jrlw8o+6m9eVvlXWirI8Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iKFnNVI+opeXzHnKtzNXirHXYKNZUAr8FJmOJXYFdRw=; b=HpaXwCaE+EzTThRYmVepQ9TIuNmjT7xVvZpca0Q5eeryMVofFsjE6q8RTRc+VAJTbzkSTUZbvfRlv/iHAm0ZOWoizNRs8IDfa4YLJRd8l93PzhvZE9DLA/RO67c46QGwUOHeytUepIv62S2EU+EW8PCnShOJQrOib3XTtKXF6uj86IggDwmh8cw/e4cn4LwR+60ZyA89Ezq21OD7PoMLCH1tRcm2o4kEcK2IM3Cr40+Ak7tJLf8u7qyonGSqFVzSLadce2VDZH28KgbFQxz64ZPT34PukfuXAVrKgHfS1UDiC8RrqMUQfCHxFa5L2CNTypH9xGkyvkHnufA+oF4iug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iKFnNVI+opeXzHnKtzNXirHXYKNZUAr8FJmOJXYFdRw=; b=VpHKw69uwYzqbjn6Pz4blBfdDsvgxS7e4ppc0vbsEEMTzXrD33CfAvjmCcanRaDLqli6MUGYRinI7G6CccSp/jl0vtDeng30tXnjl6EB0REAWloMW4LeWQIEbdBdpEFl4UaiQ419zrhgfNrz8Uxgun7bW1auPqZTkLIMrbtNafY= Received: from BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) by DS7PR10MB7279.namprd10.prod.outlook.com (2603:10b6:8:e2::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.33; Tue, 30 Jan 2024 23:45:03 +0000 Received: from BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f]) by BLAPR10MB5316.namprd10.prod.outlook.com ([fe80::5758:bb17:6bb2:ab4f%4]) with mapi id 15.20.7249.017; Tue, 30 Jan 2024 23:45:03 +0000 From: Catherine Hoang To: linux-xfs@vger.kernel.org Subject: [PATCH 6.6 CANDIDATE v1 21/21] xfs: respect the stable writes flag on the RT device Date: Tue, 30 Jan 2024 15:44:19 -0800 Message-Id: <20240130234419.45896-22-catherine.hoang@oracle.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240130234419.45896-1-catherine.hoang@oracle.com> References: <20240130234419.45896-1-catherine.hoang@oracle.com> X-ClientProxiedBy: PH7PR13CA0002.namprd13.prod.outlook.com (2603:10b6:510:174::6) To BLAPR10MB5316.namprd10.prod.outlook.com (2603:10b6:208:326::6) Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB5316:EE_|DS7PR10MB7279:EE_ X-MS-Office365-Filtering-Correlation-Id: a177437b-3e8d-4cbf-1ed2-08dc21ed7b0b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2GLUSQJECWmCul0rnM4RktPlzJCA2mN+pJ/DE8cFQx0DS+nGONOYihefjUZK4qzo1P8y0UHVIricfUOk9wjUimj+JzcLMooI9TEakzA5u/ORD5+0v4fRZjmTu953gMODnlvIQtXKhl37xdgGJylEYYu4rYSsu6+vJvMga02af9M3N+Xnj9cvfeiymJhbrDCe5yVtuSvprAYomhu2wbf+BnOTMKjhvPNnbSfi+BtCUTNPhzIl9HuM7KLDMGMAg8w2Jq4h20Vr6W+RIM0NOAiljeNqhFau88C5zi6P/xGZS7DTw815FE3OVZgEZ3TepwUBPTZ1v/V1mk4oqDdc2ZVr29nmwn8iUJ2HCRJlOvbH94tbWKrX8qADdiqxlxbkUdHteaYr9Xr/udJqoHPXKySnVdYjrzWm4nC5FPAnzlfiBU7XC05gtNtcdFHX4o257P5gLxvbIqu/iDvafJlKS/AS8V0PqNnzF5eOB7YxHJOv0l+YmOCPCgnH8Uyv1g5EsN+gDB7LcnV0gIvKOIsoL9kEDLYpYETrxWjNVX17o7TuGGU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5316.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(136003)(39860400002)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(86362001)(316002)(2616005)(83380400001)(6512007)(6506007)(66556008)(66476007)(66946007)(6916009)(1076003)(966005)(44832011)(8676002)(6486002)(6666004)(38100700002)(8936002)(478600001)(5660300002)(2906002)(41300700001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cQ+oFAfcAAXZ/UbTCXvQAz2eDlIJuY/Cek3k5ssHmRnAbUmV6VRDc0yjFq0AU+hXVek8tKf6UYdyh8VSinV8JTcFP/CjT/vwm8AEq/gb80T1J9NKlGMGTBGmT//3LN/600rgczT1/thsTw5lZ29xB/NJOMjsimQYLZXMpL8Yn7BrnkMYzQPUfK/2LgxnKgcdpCrwbUYiouOJHPcfu33BJPJwQu9cEX//csXtvWucLCeuqn/38Lhjr0Bg658XOf5ljVub7cUFp+egYHQzWTZbh8bPsZKF2YmBpHd1DdXfGYjhFSg9HHWVKwPVj5Ow/UjB6obUezMpybVeJk0TXVDbCx0EoHB1GQHlxbQXeEQCkCyLmC+6xGpPfycO1cJdcaxCzX7VuAXku0xg8m2iep/vpXXI9JIQf2n2gl1eKvWcXYaHbhfQuy9LDc77Q+gKiUh+bqLSnKiif6wgwCuP2eANHJ1S4c1fH84lnMT+ZlNW65FguHnKgmDVEXFLDuyenXxRFW8J+WenP5VQmi+NQ0E9F1vwsAtE8JANao6+4zGHURUP7B5AnohugWp3zGwr4Gd3HrMgzLhqaPJWEQhlBbJpFzHcgwKinxHoeQ3zGOLLec5xWzJZCSUQ613ESGW0LW9e2qCROc5MYoFpX3BZMnoh2C1756rgkppItx7Hm2TAeibB6sdjOXGr3f62XHnDQogNt1Zmja06i0HHXJqumicRfdt5ceHwe7uoQ7oYUHf4DY/v+3iFkvLYgf8kTW5VJ+4919+Tz+VJOjIEPgqDOe8iMPuO8/aL2IYb0PT0scJxxmz9DzEhtz1+hTPpGtdDOUKmFUmnfIK7SyzW91IS3tI2nz7UUKfnaPfl1ohMhsZQqy4J+x79DUOZBNwAh/uQU+JPPX8+QvsxS9SvILHcyHVpKToxukk5IEe/8vQWYJ5bpQe7jS5ZCCISP1xWnEd6krCQXHIppahRyQon0dHJVzV51Xgx4q7UMX6wws53eaTQWmiYc8oI6F4VldvXN5Xpvu6MHSPCB8/Zw4TlM/L2feBVsF9yLjOYVWhzjh39dutCiL9GtM2hYtdVug7dswUlmQ7jW2+B7GRBh0x0kEnFXb4WUTkzE5XOmtGXG/LZKfm5F3GtBvd6FjZM90IyDMlPIvw8U+qVcwisX06wt1g79t/Uz3KqlafdHu4Zyrr/FPIVKydjjpwQMbx16B6p9iwlmKFouatZuOZQPPg8e/xmnAPMtxk4kuxgv2vxToqkNlixJdbU+J05wkhfLTt/lVapfNLKNgSOCyKbt4CCu7+nBCxuu334+wwl9QRYH9l7rYVmbPMrSkTjkXhT/esLMx2EbE+3az/f4rctuNONV+Lprte/0Jl0BkW+X9sH36DbBz6ziHQsJbqRTa0MMOU6yGcJcNaXHuWmuPcQu/pOPQJHDxvcIZ1VdaH2YX2U9DfehMzqk+u+er7wpuZyqnzwJrhe51ailG86MvtFMmG/cHrqWeK6PUFJKvCQZ/IRQ7DCTeyY3XLASh/CtQhwHTgTwgQSvtU30c2s2EwYQw4KLbYDRiaJcLrRvyZMTD5XQAIiXrybJOXgXC6CnYfuaW0ujDDOUFFaX96HWdoqqLVySnntJESeDEz8tY2q6ctDxIt2gq+gNgrAOWISuUCeQDr5RWXMkCHzelmTUMxY51c2QHIFYjBC6w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KL3mbhUG77x80NIM4/1fWDY+FM1IPcWodCZks9xKyhp9HWb+6Mo1SzmBpX1IwrxIt30UnLM253qzUOTsu2F4ctqb64e0k7yMYCB0+kRPcBuhMt/1GyoV/+dGPUKcUEJuCPrbYR0/1AGUoovY8FzD00H1jKtGqjJecn/r6mpUjbulu+3+1/W/T9fRAyypp2fqVuEhqfhT29yQl40P4C/V5s524c2XFAgtATjQl6mlzGdkwOD+ph06pFD7BBUjdsWEibHhIPLfmO1KvRqXh3OPsPL3iOx1RqhlyIAzcOmNJusUsGpnXMBVE2HVVCEBMixngfv7oFLLPpNpkkBKeJmWqXcHwCHWbQDbGIkA4YlhjzERrsU39vjeYkt/kdnUchnGxCit5HO1AKcQ7aQH8IazFyb4/lUJ9TRJTeG6P4MYMYkeqNqUUVKLN8VPidH/8VO8HsAMwRmEyQ2NWlPosrAfjPs8mpZCIsApEhUC2gsxm0yVGxmz6Xdhf/tKrESNEXY3YDVTbsZ5lYaRadMfSDp5voNZEpP1yh35gFWSC+pgTvwIMZUfbM9vsT5e3QtjFeutzhHqXZa6ypTyaUpCBawBP5jIIZBNMuLT+LhvedPQ6oI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a177437b-3e8d-4cbf-1ed2-08dc21ed7b0b X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5316.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 23:45:03.6193 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XUwIDfua/q0N74aqrt3SOMR8vd4P5CtrLPj6Opz1ThzRhzoS2Heoz1i0vlN+5zhyBEdl+BIkByA10lVsT/tkOzMhjeGDEexdha84WgijKtY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB7279 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-30_12,2024-01-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401300179 X-Proofpoint-GUID: 0cd4Tkk1hk9J5gFqv_KISFiLHvvP_td- X-Proofpoint-ORIG-GUID: 0cd4Tkk1hk9J5gFqv_KISFiLHvvP_td- From: Christoph Hellwig commit 9c04138414c00ae61421f36ada002712c4bac94a upstream. Update the per-folio stable writes flag dependening on which device an inode resides on. Signed-off-by: Christoph Hellwig Link: https://lore.kernel.org/r/20231025141020.192413-5-hch@lst.de Reviewed-by: Darrick J. Wong Signed-off-by: Christian Brauner Signed-off-by: Catherine Hoang --- fs/xfs/xfs_inode.h | 8 ++++++++ fs/xfs/xfs_ioctl.c | 8 ++++++++ fs/xfs/xfs_iops.c | 7 +++++++ 3 files changed, 23 insertions(+) diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index 3dc47937da5d..3beb470f1892 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -569,6 +569,14 @@ extern void xfs_setup_inode(struct xfs_inode *ip); extern void xfs_setup_iops(struct xfs_inode *ip); extern void xfs_diflags_to_iflags(struct xfs_inode *ip, bool init); +static inline void xfs_update_stable_writes(struct xfs_inode *ip) +{ + if (bdev_stable_writes(xfs_inode_buftarg(ip)->bt_bdev)) + mapping_set_stable_writes(VFS_I(ip)->i_mapping); + else + mapping_clear_stable_writes(VFS_I(ip)->i_mapping); +} + /* * When setting up a newly allocated inode, we need to call * xfs_finish_inode_setup() once the inode is fully instantiated at diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index be69e7be713e..535f6d38cdb5 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1149,6 +1149,14 @@ xfs_ioctl_setattr_xflags( ip->i_diflags2 = i_flags2; xfs_diflags_to_iflags(ip, false); + + /* + * Make the stable writes flag match that of the device the inode + * resides on when flipping the RT flag. + */ + if (rtflag != XFS_IS_REALTIME_INODE(ip) && S_ISREG(VFS_I(ip)->i_mode)) + xfs_update_stable_writes(ip); + xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG); xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); XFS_STATS_INC(mp, xs_ig_attrchg); diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 2b3b05c28e9e..b8ec045708c3 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -1298,6 +1298,13 @@ xfs_setup_inode( gfp_mask = mapping_gfp_mask(inode->i_mapping); mapping_set_gfp_mask(inode->i_mapping, (gfp_mask & ~(__GFP_FS))); + /* + * For real-time inodes update the stable write flags to that of the RT + * device instead of the data device. + */ + if (S_ISREG(inode->i_mode) && XFS_IS_REALTIME_INODE(ip)) + xfs_update_stable_writes(ip); + /* * If there is no attribute fork no ACL can exist on this inode, * and it can't have any file capabilities attached to it either.