From patchwork Tue Apr 11 03:34:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206977 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9686C7619A for ; Tue, 11 Apr 2023 03:35:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229822AbjDKDfk (ORCPT ); Mon, 10 Apr 2023 23:35:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229523AbjDKDfi (ORCPT ); Mon, 10 Apr 2023 23:35:38 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE8CA172C for ; Mon, 10 Apr 2023 20:35:37 -0700 (PDT) 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 33AJjrCR026583; Tue, 11 Apr 2023 03:35:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=A7AYU9m4g33wNtkYBX9ICDexG4DM0VCQBvf0HyXfPrI=; b=HaBKEsnlRReuPCKLRxVpMpPIO/dr4Wel/hibNPuVUD6a5epHLyBgV7nCaHy8v4JJ1qW4 mEBDcdgckqBJx8ppLRnEc9BNWo/+MqU50giaKXHFYagJ/NnyuMrOFAbQJjdeu3SdcchW pW9cF1Ow/U1pa4k7lNMkUw7VrgmhyQk4Pv04GtyQBigo378kg5eSwMMo7ErGSFK9W3pX KDupfCZqcUfLVfv2KPcc4dxXAr/C8+QWWbf2ODGhp0HOPeghq0MHrpSbkrjkciXuwwpq wHj46K06brE7zXo0ufPwha47q8VJ4ATMtHZhByy4wGQ+agNDhX/kCj+wZoRlXflKaFuZ 3w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0e7c8wv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:34 +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 33B0iYSX002335; Tue, 11 Apr 2023 03:35:33 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 3puwe69977-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mU3N4zPKbMsl33CkbMFBvf+sjjgTP7vAi1T8SXMtbXgkRMBmEDpVUfhE86ntQ8kOdKBqr1BIdPAHdyTHuIb5SoRsN2otBdz8tabpU8mYK7tfTPeXHRglRzSKFn+rDf2/PmeH/osUf0l6umy6hlamCOkLKdVShPmEGQDyv28S1xJWp4Xtn0idlh76bg5GfGQGwCBn13meEDRTAKXBGeqQvQ5N2t24lYL5NcHrxsSVLcm+xQYwbiW5JbuZc3OhVPeIBi5L6fsGhNDoNDA91bVFoq0hlVMB4wePfqjrmJ4NtI/uNUC0EkEqbrDoSqBbkl2cygU7icW4PpfQvltqA6JU7A== 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=A7AYU9m4g33wNtkYBX9ICDexG4DM0VCQBvf0HyXfPrI=; b=UWndrthUQjeljKfZd/xnUHFxMoKUM6WTkMtiwaaR7Hs8O4ZLchgdgkehZ3dnzBMy0POxLFII5EFMzKQLIXD2xD8htxR5cR7i13rnsl4mQ+w6425XnhFY4s9/hSoxU6m/IDpW0SUDObC1VgdF+070bKqOy7Uu4kkh0jcMzEX92d0w4eIvkQBwisslvb1AOqtEqIOsLcQLSXUhW146tnSQfBygDsxl4GkA9/vyl6eWdHpyYx24zJIRWaJ8KnHuZ/CyilnNqx7ccDv6RkncZaDv1HhbJ0KozZTLgY5qERcvgudBaiPY2iNnzg7Bpp+VCMcL1r57yY74eZ9DfiyxFywPPg== 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=A7AYU9m4g33wNtkYBX9ICDexG4DM0VCQBvf0HyXfPrI=; b=XYUed/ijZKwY86s91X2s0U9TQJnt7+bWZ1AAdgOvqwjbtOQQ33+BIFTdHps4UJjmueiiQjHTRt3YP9BekZJKt4m12oSETRjPPpnV1nWKr7DfWYLq8X8Fhq9a6w0ecEvw+RHUX0WRJN4bZ7U/+LIDRga0vEUTaMkQfUewJecGw50= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by CO1PR10MB4563.namprd10.prod.outlook.com (2603:10b6:303:92::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.34; Tue, 11 Apr 2023 03:35:32 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:35:31 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 01/17] xfs: show the proper user quota options Date: Tue, 11 Apr 2023 09:04:58 +0530 Message-Id: <20230411033514.58024-2-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SG2P153CA0038.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::7) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|CO1PR10MB4563:EE_ X-MS-Office365-Filtering-Correlation-Id: c91daf91-a2ab-4655-b0ff-08db3a3dcd60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rrM7jqXAxQt418YE/4ParkufdIRKOMUhdprkn3YrCurv3+uu9mHpbP2OAqv8zGtsl6GL/kbXZYoqxZpNLJ78baNmZ+HISOYkWCIH6mWm63RS1Sd6q3cKUTdtbjh1knDAPVSNMSzjTZt9ldbLxV0KAfcbJJg6oOY4fC9Hrung3BqQHN7K5nPDVAxpJ8qDg3JD+9/Srtz1J/i4oIFjrIl03gmRu/sPPDM0SV5jd3nICX0GADG1HiCJl4l2M2rBG6obeiS+DjdbVpKTidbERE0s8RaMi77XRLD51vtzp85sUM0qwEBH4QXCtDnrfxv/PU2AuG9Gu+6OwnKlgjxwlf9ml5lV/F7FQLcm8tlfkMfRfL8tbfeOjpjSGcd0Cusk6J3sjnEvKlU9dmsIvjrA0XjS+0fJmIhkllsz5GAMHRB6V8jwcT1HWm43N2QXzFj2TdrQsQvs8wCNJ+O2+nvvh4ZiVxi235JIuXWxOugpRHIXyqTbFUTKXHOhwXU2LWZ783zZJ5XkbzBZEeYmCjj89PFhLmBnxih7riDs/nBQ4mBtDJJaZGdbdHEe8h6GSXCRn4qT X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(6486002)(4326008)(66556008)(66476007)(478600001)(66946007)(8676002)(6916009)(41300700001)(83380400001)(316002)(36756003)(86362001)(2616005)(6506007)(1076003)(26005)(6512007)(6666004)(15650500001)(8936002)(2906002)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NhiIcUlToV44NA+nj7/xnAVpNymsM1LMC9PrB6r0+ShjfNNAddVsQV5MUA1tOy9aMhBeVEqVh+iHa2m9QlCSYwPdIFXumOqClk2yN/y98/++mPREAS62gCd043DGqyPbcvcfjTswhiEDhYrr3Z/ZEd2okObUn4MJrlSEpZijB0Gzn0nws6W444w5TeZ0Sy3yVwzFsXa+DDTNnDEU1kp4/ALyg7n6cm3Fw81gHZf9iMdHDrXY1o1LDmEtNCjThuvL5H53AvyiKMG9HLXlEGaZg69CWcWo+GLo2xY5URqwPnQk2TtPguB7XfxvN2Pv9VE7APm0GeXEiGfHRTOnDoOuqiCR34oBwQkKKKU26RLs9MjVloZe817t6+1jeFBY4jPJ1t1diB0hCpYQ1RYTqiopSIx+VC3CJSCDcus9XngfO6WkaWMHN+oigc7af5Nl36kZbQ54iKWd4tjOjIqDrq52cfJ4tMmYDRMGk1GMCO/9rx0XjmFBkT219lXGiI1s2ikA86/nKIihyx7xXDxUj1l7Xu3Wjby2LlPryb3NlGwGXxotcoxxhcsyTKdpcQAmE9fj5zZJP1M2ju6ySQfFqizzXY+wsDK80L9ooR9QeO9QSli96QmvvUWpC8Owk5omagEnSRsn+6Gdbdc3PVzgksNfGLrtvHiYZxGomIjNAVJaEFeWCAzswu0+ot5s8994KkBD4PSPOvM3CRclWdDyvmW7zySrOalfIdSeW76wU+y1ZjxjpGP2hzQWFoA6/3QVywprOKUDkKZFwUzuT9cb9Zpa72HdqTdKvaN2FdFd4Hs21bFL04KEg3b6WGDBIa1vhyWflZ2i20cyqgSIPZpMfnR2VP5qqwSqQkaRuqoAofEj3ePjRtaUEcn11mxphiplEaU7po747BxX0SgtnLxgH8AC3tQvo6ZCao4xxsOE17oKpwdDyhkVesldK94NCkfMgm8KhiGvRZtqsuvrQs5KNh2x6KTTjzKRaI90M0BP9FYKwCJa723NjLGVX1Ad9hqFO1gUVvBJfWYXdqo4oelYLtyvH8Urwv2cGYRHo2s5uNlgvhDT04faYc7ngWV6R8ljj3wndj1IVTTui/veoBvZdUg0mPgvqnkvnhuDj3k1QSQweEhZxn/8xckZvBqWU0ZFvjfurEWn71/4D7tZm/uoi600zDdJyYTVxLwCdBuR7ltbMVui/UvgAdClBPYRhQlpML96TDSVxbO7f5Tj6BalFIMXqZuLuDKpOM6WOVEOBRlBrsrSyN9Az3Xiq3Pc3CULXUB3NA0MuijoV3t/t1+r4XgHCUGNta+Iqu4CxCC0QkZIc9qvgyNCaFcx0nwUd2uTm2vISMJwFgGnPPUTL4zYECzukzUgTrHtbqbBNF5CB4Uuv8JvZm0sHI4jX+CeHD2nLhXq3P5YD/hcu0oL+xRX6OxB8AdGCCXeHDNcALgUjLHloQXlScDSqUCEab9AcS9y6O4VjRv7Z39eVYvwJZKt7Fe25yChDyR6XzcyPRzmWdYf9yWsor5hoXvNWi0prC1pV0YPQCCRIRgo50p1DjrvntQFjm2rIpWZaXzLeO8Bh1PF+Ex2CH5rVDmrBsb3QL95Zfs2 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DJ2iZKkCOHjRkmkTjyqnYER4w+oRLAbgLa0YQj29B0tB1JJxB/HLdJ2kZfLFzX91c4gAgFH2JDsWSYDHI6HuCl6PYnayQjrcm7N5lyVpqFDl1G0pB01YBmMWrthRoqzQYinEgcQxwoHZTIPAO/ZAcU9UmxqFFICI+qIzaZUNfpUm3ZsTgNbo+bli92zwkB+EP3C7mm5cujxH50KsIaB8MND/KvGfSgWlWte4L14xr6FZT+SPDu2COOKRHGWNJO3uq32dIUzY1duYGG8LD24xQje26/vvOIDGtaO8yGtNXYE/6bfShIbDDM6W+eFnGrJVkd3uQ/MYEFfje/o674h9L/cZpu8sSs+R2Lk9dFV5Ob1URIGRn850q8PXha1I67MU0ydnUgRftVUkuIw5Yvs5WNWDBZeFA+Fi7pKVm/CsYtITlksog/x6xz/fC+QCosbIL8wM+w9TX2vZjwTpcfdlGCh0+m9C3EGsXN7Zv2eslpcbgEKIGXdxLAVv+dDF6KyFPPTImdEykJuDAo/SesOFx4caHp7nMSfmXrA1w5UWwxUrnt86u6kxu8+pG4i0U8rudAbCt37mAy3JUAI3TR6LaINER4zJCCdx0C2vOo87ksjk+psR2sZtEnVQtjMEFS2Q08G8/uFIOZsOJRVnfTxrzBOX9uDthe9U/c6xknQ+BqWrq29ppau/deDL/KYFstujWkXMtnOHkg/KX3UNU4jHtHP/LYqk0tq02B7W9/gTFXnrQTQ47YB1iHRxGjZPqidScC9bpsNzuoZ0FM29hCos0kuFnEG0TvFe3gIh00cSFMFzkwKPDU8VoG2EWbTo4SaQ X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c91daf91-a2ab-4655-b0ff-08db3a3dcd60 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:35:31.8821 (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: ao4lmE+XgzffNh0/xlVWnFJMIijfBlSjqqE3M7BpzG8UUqqcaZRppNKcCRcAZzTBg4L38SFnQmfdhKxGUzzlVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4563 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-ORIG-GUID: 7UDDd03mYQ-hx16pBLJvIZ_LekR1QbjD X-Proofpoint-GUID: 7UDDd03mYQ-hx16pBLJvIZ_LekR1QbjD Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Kaixu Xia commit 237d7887ae723af7d978e8b9a385fdff416f357b upstream. The quota option 'usrquota' should be shown if both the XFS_UQUOTA_ACCT and XFS_UQUOTA_ENFD flags are set. The option 'uqnoenforce' should be shown when only the XFS_UQUOTA_ACCT flag is set. The current code logic seems wrong, Fix it and show proper options. Signed-off-by: Kaixu Xia Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Amir Goldstein Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/xfs_super.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 9e73d2b29911..e802cbc9daad 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -490,10 +490,12 @@ xfs_showargs( seq_printf(m, ",swidth=%d", (int)XFS_FSB_TO_BB(mp, mp->m_swidth)); - if (mp->m_qflags & (XFS_UQUOTA_ACCT|XFS_UQUOTA_ENFD)) - seq_puts(m, ",usrquota"); - else if (mp->m_qflags & XFS_UQUOTA_ACCT) - seq_puts(m, ",uqnoenforce"); + if (mp->m_qflags & XFS_UQUOTA_ACCT) { + if (mp->m_qflags & XFS_UQUOTA_ENFD) + seq_puts(m, ",usrquota"); + else + seq_puts(m, ",uqnoenforce"); + } if (mp->m_qflags & XFS_PQUOTA_ACCT) { if (mp->m_qflags & XFS_PQUOTA_ENFD) From patchwork Tue Apr 11 03:34:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206978 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 29305C76196 for ; Tue, 11 Apr 2023 03:35:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229700AbjDKDfu (ORCPT ); Mon, 10 Apr 2023 23:35:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229523AbjDKDft (ORCPT ); Mon, 10 Apr 2023 23:35:49 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 834DA1726 for ; Mon, 10 Apr 2023 20:35:47 -0700 (PDT) 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 33AJ8vGr027510; Tue, 11 Apr 2023 03:35:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=9OIDBskNQPK7JbYUJYPNeFMumfUiclUA1Ef1Vsa+8lE=; b=jOCNGN1bWzJMha/EKyMlFnJhM/bLeoC/CupgnEjRNyLa59HCsapx7gQzcNC2GIbw4mMf YkXbM/lSkFlIq4yFDY0CRJoPM+d+1rHFCHymQ4Yd9RTnWmRXTPDgp/ThXitYyhLJReeV 1BO17csT0MWyxjbWK4tg9iSTnP6J1G5I8np6U0fBLmt+/0mfAvsfXkmMLyESXwMCEaR4 JnTZsU6SWBkMjyGjgi99Ptit8GTlJR5ajZ/boMEyoY2ZT8al02fYD8cJnpRBOm7y2Ppf d0QWMpFljDWl1TGoUtmIWkVuBgE34/hrvoVrZKXhYgAcyXa87xIx6gam/+eFNGNJZGnd 4w== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0e7c8ww-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:43 +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 33B2vr8E034156; Tue, 11 Apr 2023 03:35:43 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwc39dsx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lenGXxa6j/3kyUnnLuUTNxMEWsDKpnmsn/6aI3vUBZ7XXRmV93b19vWy4dHxzLUcX3mzzqFojtKhgE9RNS5am/a8ScJxbieAQ3ectTTK0S9iEHtc1T4xrTGN4BRZbYCM5DU86FdGujjONMVJ9LMazFjU72x981e0H9rmPyyfuAg5oe9T1D+KydTbE08PSy132aCeJl4YZAlFp6Cjq9vdBojptJrOMQzjvtluBuZVrwVtQxUpdGVb6qfZ0IwWooqZc6YvKb1GM7Iw9qmWr9r0cXnjI5eU/aV2jxTfmkyFNWXTB36KcB4VDOZmnEb4QbVuH3EfouHYD93CUNuGwTOTmw== 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=9OIDBskNQPK7JbYUJYPNeFMumfUiclUA1Ef1Vsa+8lE=; b=JPwi4K0GKMR3aNJPRBShvotmzlRH/fev98tgtFNV7FymoVk+JoV8EBadphiGmftSUGFpbi9R9fYJZv2JwNVT2Hj51myIeZ/0jR+Px/jjpMk7teTdKzX5zYu/UV377Zk/qFnRfZ3xe7GilPWDwLZ1zaitl7c2zaarN8envZiR1tUCEMK1PypEthY7m22304h8rCDBl+aC4iOZMm1LZjjsrngbQORnyYg1z3MSf5zK0CKkQTmbyPZBG0eMVXzWjOLHXnygiOYZEDwJRTqZKRVTV0E4hN8sx370C62k9A2UkBA5+d39edlQ+Zh6VJ3qLYXGjLIjkXIk9b5AXbARl3++3w== 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=9OIDBskNQPK7JbYUJYPNeFMumfUiclUA1Ef1Vsa+8lE=; b=mgudH96BcKXI61lwNOpOxamZ0Dro74Lq2wf+jrfskJiC6xJ24pQBy/Zxaaz4GqnvfdsUWOC56YKGRg7x4SvxA0U9aHeiXMJkSbNfkZy7NWds1ygGVxKN2bX1s4sinvArjwaghCr7dkMXUnxB7lcSWkPnmprrpbxFYR2V7ZWdkgE= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by CO1PR10MB4563.namprd10.prod.outlook.com (2603:10b6:303:92::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.34; Tue, 11 Apr 2023 03:35:39 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:35:39 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 02/17] xfs: merge the projid fields in struct xfs_icdinode Date: Tue, 11 Apr 2023 09:04:59 +0530 Message-Id: <20230411033514.58024-3-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SG2PR03CA0104.apcprd03.prod.outlook.com (2603:1096:4:7c::32) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|CO1PR10MB4563:EE_ X-MS-Office365-Filtering-Correlation-Id: e574b64a-c102-4980-139b-08db3a3dd1ef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ec9MfaIGG1+D75MyfoMOcaQr8CFmEvJnXPA0c6VwyzUxkI37AtouuitbmfvuA+hr0PPCzyVquln6AlKUTQ9Cstwfal+0TvUo8VYfAuLrCQ90+afULdDWDa6Sdu+cHIOx82kMnkkjhceBddIqJ348HSSn5Kk15p3vQ2pFToejDLEUDW4oi4EdgmDtMZXXvAsF0bH4nYRGrqEhC6rhtw4kV8bwlyL+3kUPhIIAder2cVLSbWfH1/ioVVTbTfT2ci25kdpxH95im+RHoP2+YYiuJgzcj/a83SOX3nweW1rTmow7BO/IhF/0aN3ux69H4t+YTT7XkGIN3eeGTVkAt9OGm3fanFSxuKyMvykIVE94d6w+Zo/Q8C+Mknk1W+HBrchMLXiSmDaZ4x58Gu4pvkLfR6GJ4LZU8fFNACaXIU0ly4QTCqCU/RR9F+w9lee6rTQOpiZ+0oAbl35uAlV/HC16LEnE8bfrSVXoolUgvuUALL7KNPa+uyhJgpowBKjiHSTqpLPABox1BMpDGrLe+TMybzji8VwfdMvUgy3Grv9sHKhH9D4jWr36irOASN3CBMKq X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(6486002)(4326008)(66556008)(66476007)(478600001)(66946007)(8676002)(6916009)(41300700001)(83380400001)(316002)(36756003)(86362001)(2616005)(6506007)(1076003)(26005)(6512007)(6666004)(8936002)(2906002)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: F+TLJWaRD4WtiMPiEo6OWjbU/kyEiTzc0OZCG63IUSUWaZG6kHS2xv7SrNAvtf6j5xQgwM2Q0AY2nEH/9dSOqWdPbanflgWxAGOvXUBvRcQsSlh5MNkKA9YlV5AaSKTiNCil8uC44HGWIDSe1yFrvrtKMlPqJFxaw/bmTaFN7i8IB4QPABq2fqufIlZDw3S66GILo5y1fFs0Kl9vkN5dB/yOkL8nax8S8YdnzU8gMiKsa0DbGMl76lHUhnMlPe7IVkQWWHODnn3sBgr2T4ylHhObVUr5khbsDrMrOywh4vacDxsJM66+MsKYn3ipzb1JOmXqWh3xS63Es47m3iUYh/RbMeEgKLPsGVh8t6L/1RXowxOPmu0mA3ahjUXokc6eGzpx/fVu6cDOOQQwJfs9cGfr297OdwylAHQehFbXciZsrpTUM3hSYmvu3LbOqmKCv+KvRzFfoirTxoWIRoHMKdVWbiYPt/jpDVYTtgYIH1e7hW7ZcCsgqFxn/BOoPuZy/uLPfoYnNYXmongWQhV0exvEoqcprl8dDZf9a3UUoED2EzUimrBltwqU6DD13t7j15wc3YKwjyxaxhpUpzWQvedoGSziKTlXDaTF+PsNgO2IZoOLJph3vBpe/6kG+37kY2r+YUQt/DOtla1IJxX7QAftOjpO0+1IVOxCRUl0hkxaNqSlHZVKsn5THwcKglkHDv6s2cUSNlCuOIP315ESw8JlYUKl7aI9tzZHnkDzapC9ljUF49FDGEAPaciN9JXbVSXXkHz4TsbX3dS15gFU5OVc0WSVylo0awUVt0upq8jmq2dcGLb5UZOv198XSOKW+2DUTg/lbXNBnioV8AUgDIA8T+A0LXBOKMXSrfKexXQVlxKap6vo99uFdYJCSswv5dBExb9vfEDeigD2eH4r44Pnb7SkXud7tAlEIkPlGEh1E3IuJMoSwz4Z1tE+TQsie09JaqaHMF1rYu8Ce3NZFneKddE35rYvID8fA6qL6zTpvegwrP+2K2JIhj4nTFSoGm2bvR/7vch0HLBR8dd5N8dvxAxcXhhnjvydZIA1y3OprLVXkbcUD8MKx2vn4phvO7skcavKyhZFPbl/92StW8BumLh67JgAwev+qeOCAhtg8HM4sTol0I1aqNGbQ9zYy5sm1CysZqPStwySvJJlPGo2nvs9O0bnNHpdaFDrBph53L1RHpA87s41uOyZNmBYAU2lt964mS8eBROwmi6yDgxvYDcL1uuK+JRJfgM86HovuI/oA0XE+tzi5BAFnN4gri6K3Zm8ExWVvx9Ln5eU4ruy1wmFvxhP4kj9LvDCFCehg/ZEPTCg289NaAWwv5he94rq6fV/LcZmmtnUs4ge6BdxrsWFOkjGy7TWgZCi4bi7BcaDzTlZAQonV1qf4JhT3W8HJcyHLAAkO9PZmtUMtqjZSF6YPFqdZOM5qaZpmbvHJ3yQqf70iZb1St3FASmrd7SGTNDyL/sjz0PBBDF16zOu1uOqAWkBuLstWWyCd7wdsqm/ZwxfFm5d8c4cC8fICYIAs4l9MZNzFhet7qV8gXAOF/3cd/plVNjnbTPhScKfJpA52Vog7ycMHwiV5wWZ X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: mm6lvE2Z8zUYFtyK46L3M75CjfqyZMmiYbl2/3Id/vxQsAOaFkmSpZPmo6+3Yj7k1z5yJyix4d7/XOaTNPB353flQ7fSBMYu9vG6mFONzn2PtYO1Ge7QZAbC5/sbh+i5P2juiqbCNfH9sJAbn0OGaT4G3XBp0mRFTeQKHe8TiL+qtDt78GpjdPa1SLsn3bmlPyy2B6URMz/d3ShTxr9RO1jqArx8DuA7WYHrQbN9+nUY94aG0j73/R6E620vCKJ/zcaGNC9sZ0aic8drPq0HTiHJ0w+qWGXbAJGDFLYcgMIaisN4M3iKvB0lBcu4B0f07Q/B5an3ogPfDTVPl2+dioz/HNWjATZHFfhlp8Za27SDkj490hUmcPckGTplSbdo91jwUT4l+VEveu7KIArNWAXE66DfjyZ76ibmkK6y6zb7jFb72WZ1bM5nmSnLoym7xvDT8YX7YqWwis6FlXrhhlJPYwqOozaPqo7l171zzlZBBIRHBB85GNJ6FIu+i6YNphx79pFBsgndRpbwmDgIH+ruvIeEhYI4yDu18hj58EIQq5wTaY+pqZKgt4Y2F6sn9wfHeLFw+UMDL1ac1dBpfZwi2ctPZ7DO97oVZZj4ee0QUtRqlnnrv5YbM8lXhMkT/ZEM1OZRDtenHcuaaZpl3vMq0sEok3/t2oVp/5Pk7tPQNKV2At1LDb5dGMbtehLbySxc1OiulL7eTjBOLPmroZg6n74x3Eo+PTKhXBaO+8jiiL2WG4JVDZC+bJv8pIMOV/4XXhqTSO2q9G7c7rFjgXfRsjVmvPKuYqjoGwVUtwEOBjHQcJ/b9IiNOj3gcnea X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e574b64a-c102-4980-139b-08db3a3dd1ef X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:35:39.5297 (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: VbXmsa+6VAGsiaPeMf/5hWiyQ4jxU60HaN5593IhGWrv9cnrSHu3MMWXQPHtrTzGgpqxw+nS3c9TjBsn2TqTnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4563 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 adultscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-ORIG-GUID: kqDEyJd1eHFZtOjeMZbqVltPuIX53LMs X-Proofpoint-GUID: kqDEyJd1eHFZtOjeMZbqVltPuIX53LMs Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit de7a866fd41b227b0aa6e9cbeb0dae221c12f542 upstream. There is no point in splitting the fields like this in an purely in-memory structure. Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_inode_buf.c | 11 +++++------ fs/xfs/libxfs/xfs_inode_buf.h | 3 +-- fs/xfs/xfs_dquot.c | 2 +- fs/xfs/xfs_icache.c | 4 ++-- fs/xfs/xfs_inode.c | 6 +++--- fs/xfs/xfs_inode.h | 21 +-------------------- fs/xfs/xfs_inode_item.c | 4 ++-- fs/xfs/xfs_ioctl.c | 8 ++++---- fs/xfs/xfs_iops.c | 2 +- fs/xfs/xfs_itable.c | 2 +- fs/xfs/xfs_qm.c | 8 ++++---- fs/xfs/xfs_qm_bhv.c | 2 +- 12 files changed, 26 insertions(+), 47 deletions(-) diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index 28ab3c5255e1..e1faf48eb002 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -213,13 +213,12 @@ xfs_inode_from_disk( to->di_version = from->di_version; if (to->di_version == 1) { set_nlink(inode, be16_to_cpu(from->di_onlink)); - to->di_projid_lo = 0; - to->di_projid_hi = 0; + to->di_projid = 0; to->di_version = 2; } else { set_nlink(inode, be32_to_cpu(from->di_nlink)); - to->di_projid_lo = be16_to_cpu(from->di_projid_lo); - to->di_projid_hi = be16_to_cpu(from->di_projid_hi); + to->di_projid = (prid_t)be16_to_cpu(from->di_projid_hi) << 16 | + be16_to_cpu(from->di_projid_lo); } to->di_format = from->di_format; @@ -279,8 +278,8 @@ xfs_inode_to_disk( to->di_format = from->di_format; to->di_uid = cpu_to_be32(from->di_uid); to->di_gid = cpu_to_be32(from->di_gid); - to->di_projid_lo = cpu_to_be16(from->di_projid_lo); - to->di_projid_hi = cpu_to_be16(from->di_projid_hi); + to->di_projid_lo = cpu_to_be16(from->di_projid & 0xffff); + to->di_projid_hi = cpu_to_be16(from->di_projid >> 16); memset(to->di_pad, 0, sizeof(to->di_pad)); to->di_atime.t_sec = cpu_to_be32(inode->i_atime.tv_sec); diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h index ab0f84165317..af3ff02b4a8d 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.h +++ b/fs/xfs/libxfs/xfs_inode_buf.h @@ -21,8 +21,7 @@ struct xfs_icdinode { uint16_t di_flushiter; /* incremented on flush */ uint32_t di_uid; /* owner's user id */ uint32_t di_gid; /* owner's group id */ - uint16_t di_projid_lo; /* lower part of owner's project id */ - uint16_t di_projid_hi; /* higher part of owner's project id */ + uint32_t di_projid; /* owner's project id */ xfs_fsize_t di_size; /* number of bytes in file */ xfs_rfsblock_t di_nblocks; /* # of direct & btree blocks used */ xfs_extlen_t di_extsize; /* basic/minimum extent size for file */ diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index 6231b155e7f3..f59c3265dae7 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -863,7 +863,7 @@ xfs_qm_id_for_quotatype( case XFS_DQ_GROUP: return ip->i_d.di_gid; case XFS_DQ_PROJ: - return xfs_get_projid(ip); + return ip->i_d.di_projid; } ASSERT(0); return 0; diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index a1135b86e79f..8e6dc04c14d4 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -1430,7 +1430,7 @@ xfs_inode_match_id( return 0; if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) && - xfs_get_projid(ip) != eofb->eof_prid) + ip->i_d.di_projid != eofb->eof_prid) return 0; return 1; @@ -1454,7 +1454,7 @@ xfs_inode_match_id_union( return 1; if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) && - xfs_get_projid(ip) == eofb->eof_prid) + ip->i_d.di_projid == eofb->eof_prid) return 1; return 0; diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 02f77a359972..891f03a3fd91 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -809,7 +809,7 @@ xfs_ialloc( ip->i_d.di_uid = xfs_kuid_to_uid(current_fsuid()); ip->i_d.di_gid = xfs_kgid_to_gid(current_fsgid()); inode->i_rdev = rdev; - xfs_set_projid(ip, prid); + ip->i_d.di_projid = prid; if (pip && XFS_INHERIT_GID(pip)) { ip->i_d.di_gid = pip->i_d.di_gid; @@ -1418,7 +1418,7 @@ xfs_link( * the tree quota mechanism could be circumvented. */ if (unlikely((tdp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && - (xfs_get_projid(tdp) != xfs_get_projid(sip)))) { + tdp->i_d.di_projid != sip->i_d.di_projid)) { error = -EXDEV; goto error_return; } @@ -3299,7 +3299,7 @@ xfs_rename( * tree quota mechanism would be circumvented. */ if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && - (xfs_get_projid(target_dp) != xfs_get_projid(src_ip)))) { + target_dp->i_d.di_projid != src_ip->i_d.di_projid)) { error = -EXDEV; goto out_trans_cancel; } diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index e493d491b7cc..62b963d3b23d 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -177,30 +177,11 @@ xfs_iflags_test_and_set(xfs_inode_t *ip, unsigned short flags) return ret; } -/* - * Project quota id helpers (previously projid was 16bit only - * and using two 16bit values to hold new 32bit projid was chosen - * to retain compatibility with "old" filesystems). - */ -static inline prid_t -xfs_get_projid(struct xfs_inode *ip) -{ - return (prid_t)ip->i_d.di_projid_hi << 16 | ip->i_d.di_projid_lo; -} - -static inline void -xfs_set_projid(struct xfs_inode *ip, - prid_t projid) -{ - ip->i_d.di_projid_hi = (uint16_t) (projid >> 16); - ip->i_d.di_projid_lo = (uint16_t) (projid & 0xffff); -} - static inline prid_t xfs_get_initial_prid(struct xfs_inode *dp) { if (dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) - return xfs_get_projid(dp); + return dp->i_d.di_projid; return XFS_PROJID_DEFAULT; } diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 83b8f5655636..a3df39033c00 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -310,8 +310,8 @@ xfs_inode_to_log_dinode( to->di_format = from->di_format; to->di_uid = from->di_uid; to->di_gid = from->di_gid; - to->di_projid_lo = from->di_projid_lo; - to->di_projid_hi = from->di_projid_hi; + to->di_projid_lo = from->di_projid & 0xffff; + to->di_projid_hi = from->di_projid >> 16; memset(to->di_pad, 0, sizeof(to->di_pad)); memset(to->di_pad3, 0, sizeof(to->di_pad3)); diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 7b7a009425e2..fd40a0644b75 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1144,7 +1144,7 @@ xfs_fill_fsxattr( fa->fsx_extsize = ip->i_d.di_extsize << ip->i_mount->m_sb.sb_blocklog; fa->fsx_cowextsize = ip->i_d.di_cowextsize << ip->i_mount->m_sb.sb_blocklog; - fa->fsx_projid = xfs_get_projid(ip); + fa->fsx_projid = ip->i_d.di_projid; if (attr) { if (ip->i_afp) { @@ -1597,7 +1597,7 @@ xfs_ioctl_setattr( } if (XFS_IS_QUOTA_RUNNING(mp) && XFS_IS_PQUOTA_ON(mp) && - xfs_get_projid(ip) != fa->fsx_projid) { + ip->i_d.di_projid != fa->fsx_projid) { code = xfs_qm_vop_chown_reserve(tp, ip, udqp, NULL, pdqp, capable(CAP_FOWNER) ? XFS_QMOPT_FORCE_RES : 0); if (code) /* out of quota */ @@ -1634,13 +1634,13 @@ xfs_ioctl_setattr( VFS_I(ip)->i_mode &= ~(S_ISUID|S_ISGID); /* Change the ownerships and register project quota modifications */ - if (xfs_get_projid(ip) != fa->fsx_projid) { + if (ip->i_d.di_projid != fa->fsx_projid) { if (XFS_IS_QUOTA_RUNNING(mp) && XFS_IS_PQUOTA_ON(mp)) { olddquot = xfs_qm_vop_chown(tp, ip, &ip->i_pdquot, pdqp); } ASSERT(ip->i_d.di_version > 1); - xfs_set_projid(ip, fa->fsx_projid); + ip->i_d.di_projid = fa->fsx_projid; } /* diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 80dd05f8f1af..05adfea93ad9 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -668,7 +668,7 @@ xfs_setattr_nonsize( ASSERT(gdqp == NULL); error = xfs_qm_vop_dqalloc(ip, xfs_kuid_to_uid(uid), xfs_kgid_to_gid(gid), - xfs_get_projid(ip), + ip->i_d.di_projid, qflags, &udqp, &gdqp, NULL); if (error) return error; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 884950adbd16..f1f4c4dde0a8 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -84,7 +84,7 @@ xfs_bulkstat_one_int( /* xfs_iget returns the following without needing * further change. */ - buf->bs_projectid = xfs_get_projid(ip); + buf->bs_projectid = ip->i_d.di_projid; buf->bs_ino = ino; buf->bs_uid = dic->di_uid; buf->bs_gid = dic->di_gid; diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c index 6b23ebd3f54f..8867589bfc3c 100644 --- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c @@ -347,7 +347,7 @@ xfs_qm_dqattach_locked( } if (XFS_IS_PQUOTA_ON(mp) && !ip->i_pdquot) { - error = xfs_qm_dqattach_one(ip, xfs_get_projid(ip), XFS_DQ_PROJ, + error = xfs_qm_dqattach_one(ip, ip->i_d.di_projid, XFS_DQ_PROJ, doalloc, &ip->i_pdquot); if (error) goto done; @@ -1715,7 +1715,7 @@ xfs_qm_vop_dqalloc( } } if ((flags & XFS_QMOPT_PQUOTA) && XFS_IS_PQUOTA_ON(mp)) { - if (xfs_get_projid(ip) != prid) { + if (ip->i_d.di_projid != prid) { xfs_iunlock(ip, lockflags); error = xfs_qm_dqget(mp, (xfs_dqid_t)prid, XFS_DQ_PROJ, true, &pq); @@ -1849,7 +1849,7 @@ xfs_qm_vop_chown_reserve( } if (XFS_IS_PQUOTA_ON(ip->i_mount) && pdqp && - xfs_get_projid(ip) != be32_to_cpu(pdqp->q_core.d_id)) { + ip->i_d.di_projid != be32_to_cpu(pdqp->q_core.d_id)) { prjflags = XFS_QMOPT_ENOSPC; pdq_delblks = pdqp; if (delblks) { @@ -1950,7 +1950,7 @@ xfs_qm_vop_create_dqattach( } if (pdqp && XFS_IS_PQUOTA_ON(mp)) { ASSERT(ip->i_pdquot == NULL); - ASSERT(xfs_get_projid(ip) == be32_to_cpu(pdqp->q_core.d_id)); + ASSERT(ip->i_d.di_projid == be32_to_cpu(pdqp->q_core.d_id)); ip->i_pdquot = xfs_qm_dqhold(pdqp); xfs_trans_mod_dquot(tp, pdqp, XFS_TRANS_DQ_ICOUNT, 1); diff --git a/fs/xfs/xfs_qm_bhv.c b/fs/xfs/xfs_qm_bhv.c index b784a3751fe2..fc2fa418919f 100644 --- a/fs/xfs/xfs_qm_bhv.c +++ b/fs/xfs/xfs_qm_bhv.c @@ -60,7 +60,7 @@ xfs_qm_statvfs( struct xfs_mount *mp = ip->i_mount; struct xfs_dquot *dqp; - if (!xfs_qm_dqget(mp, xfs_get_projid(ip), XFS_DQ_PROJ, false, &dqp)) { + if (!xfs_qm_dqget(mp, ip->i_d.di_projid, XFS_DQ_PROJ, false, &dqp)) { xfs_fill_statvfs_from_dquot(statp, dqp); xfs_qm_dqput(dqp); } From patchwork Tue Apr 11 03:35:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206979 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26AC7C7619A for ; Tue, 11 Apr 2023 03:35:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229733AbjDKDf4 (ORCPT ); Mon, 10 Apr 2023 23:35:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229523AbjDKDfy (ORCPT ); Mon, 10 Apr 2023 23:35:54 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A32A5172C for ; Mon, 10 Apr 2023 20:35:53 -0700 (PDT) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33AJZIs8003032; Tue, 11 Apr 2023 03:35:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=pZ63iWB0SJaAsMbDcwEsx2IYQmKGGgDaFoRk/FtjXXY=; b=c2/EkjslWFU5i7Kkkev410QG9HKC8pe5mxnbtcMWkO6EBAanNFU9FL5Q+MuVkI4KlGTw wmxLH2iozeXEMe6FX3mDnCJXUROeUgZOJuQAKtRgEXEy2emRqmPqZs0uKEYPqLFwALEJ 2t0xe6b/w5TB/3xOLKa3uyokYen0aiNGXyP07MSAH8oxafuEbUGuLlZQoEtCyGbOQNQo +mR8m9l9mKsI9HymlHptpIL6PBxtPVpz8hwfnR0ro532W7oivs2fxxvbwiMCpXzrW5NT 1TDHRaGDfe+fyObZPD6WTz8G795Gxzv4f0GpuXigS77PWvBJ9zhd5V/Gji2zhgBckO47 lw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bwcb86-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:50 +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 33B2sYM0038830; Tue, 11 Apr 2023 03:35:49 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puwbm9844-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RXcwWbhcGx04DuF2drKcgXLmLCjE+LDC895uhBD+xvpfL1/Q1FMreuPXP3ceRrnU5V78mFFrDrTOjhW6OX8vxJaVwAqjuBnudiV27gzYDmGpGH5Kv8gvAsHs2UcexY/PbDzALtokjUINNSjLlOxYQ1mYVNZO+twY5trOo2jKSDQnd/ZuD+6kzVaBlt4rpQs3bQci2rxtrSfbm0J/hqnnIA+m/qau/vc3aL63qxrPkXPPfrWH48XQJR615XjYeR4/HycegWYgTYI7wUsKgU+wsCcC3x0b5eH1FsYDyH06BR7cXo7i/veZa5XWJA+KPzd3nHVBrdHykAKstbpvtL9f+Q== 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=pZ63iWB0SJaAsMbDcwEsx2IYQmKGGgDaFoRk/FtjXXY=; b=Mm+mBW+BpDN9wF1Q0nhAnn9NxrxBPXKgCpW+Ae7nwd5AAdM8LwRfO1USimJauFFE4zoolBoaM9W0mOSp/DmFmnRX4hQYM5OWAH/zcw7a8KI2twdBKVW1zezjm67VP6betkeyzF3rXJohsxCuQirk7QmuB/g3U5F3jYkQF8GPCE1NdiohBR0AdeFJpCj3icoFZkz0EexpC0xlf9o6JzryvUiUjsNcknrcg5lYJc08dlqHrq/PKx4KzmPPXLhNRj+vkK7QrzYrv+xN3GsaMuea1SjmhyFpXhGhS4YW0ocf4odzU7vHcmXUX+cS2tLmD8by8lxzUqH3ci29YSxOCX2F0w== 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=pZ63iWB0SJaAsMbDcwEsx2IYQmKGGgDaFoRk/FtjXXY=; b=vvKrRH7TVhT3GoBakAlzWaH3yYF3OTpY5m3nkR0TVHPwdCIb14TZTAAGp8NIYkFVjRpF51GAj5+/pLwnLv2bPVfCdjcLRIsXhbilVI/W2eKWuSS2E0HTiZwJFFD8sIYyqQVi85+GO766LG4d7v0GSBm/BJ9v0WziqhePF3lEthg= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by CO1PR10MB4563.namprd10.prod.outlook.com (2603:10b6:303:92::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.34; Tue, 11 Apr 2023 03:35:46 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:35:46 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 03/17] xfs: ensure that the inode uid/gid match values match the icdinode ones Date: Tue, 11 Apr 2023 09:05:00 +0530 Message-Id: <20230411033514.58024-4-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYAPR03CA0008.apcprd03.prod.outlook.com (2603:1096:404:14::20) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|CO1PR10MB4563:EE_ X-MS-Office365-Filtering-Correlation-Id: 5de34664-72d8-4674-ac4e-08db3a3dd641 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ohj73bk8/A5y+7f543Oq8ItQpT8z6WlW6RQf3LnEmSyzX3caiE4a7f0o2pnwutkibPtxkwccApi1yqj0Gr0+KynJuxWUOW57Kg3aJFyqsm8JNwP6k5ltKXFT8Xub1GzsfLT398rchcIrAbpS0QhP9ctQ6xJwIza4I/ngWIBagJ36J5okXDBX3BeN7luHB8auBjvad5PvfxsvKB9RDWi96ggcAMGmFHmawEOoVMEAdVac3up0M5SYZgU9swi7SiS6auZyoHAJeEvU7dZHyfril+PTKL5fO/hhO7r5WM5tPArPrKloqwK6K+q2KT3foccRrD16FfJWJZ29ueIL1isRwj/Xc54L8xiVvDc8H8uI3o11jz07dZgWR0lXH236zAZbNpQ8Jh0V85D6ck02Grp7IPnvxQrwYSwqL9bKsjSm0GAiIGpVA6W2mDU7G94GewbJcYSXTZqx78zMGMaBPavYm3koK8fmtbNy9ymEMQwxFZSmdxxTjFNlnvlxZevHlgtMHIxToIWKRe25g75u7eh66FWsTNGyJWbaNCRYO8HsdYGok5mEm1SIq5i5xrrrT/ZB X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(6486002)(4326008)(66556008)(66476007)(478600001)(66946007)(8676002)(6916009)(41300700001)(83380400001)(316002)(36756003)(86362001)(2616005)(6506007)(1076003)(26005)(6512007)(6666004)(8936002)(2906002)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EO0Gpcj1YAZMpm60RmA8VoYFMYW9bg2PzdtO9Xz+DiNbHlslG+jBsCde4uiFtb5gFn9VuTBPgXgPr7+TvmMOrRMZQabTWJkDG9Yam3Op3LzEHJUHGL0kfo0xr5Nf2XBSrC0ikXB228fe8T9P25fIN0jjnKgpv/l+G1+fNBret26swd0GzGfNwAPeA5O++UCMK0m0LOgUA02whQ9wdUFjlt0s343kdQbTj1W/iyOFoCAOcNsDlTQdZeO0ayuWE0A/hV9BZ+pJHdU0J5IsdIgm/rJaXL4rZrI5E/dRxQYZDIO2gDgKa5D/07pjaiBd09bt6hHlJ/cQWAES7IPL9gEw7tQu6+1/NkJMwoLGxsEhohLEDwU8UVTdyn0+o8RUGeZGbI/mDqVH7+YNKTcm+PUixXowZwwG9J/Lf1L/I8of1xsqpuu8pu/SMWLc5fei5IxtSZ8ZVOCJmQ7B20UibWj/IopuERqQQ3KjnhX/J3OmscHwnGJcATr77+Ht+JTIq6rX6PdieO02R76CbfWiomT1iRuDLFa2FfAna/zbiojiXBqxEkQ9tofMPN34ma57m9YtFzQMLvRFDkGZN7EXh5yAHZtTdWMDJEQSI8EkxrG6N+uKBmzVc7oenF6f9dVmT180RAWauUuNseRvYhnlKArSLpBg9bkhd6roR9EC4FNsKN37dZrTkAMaXV7eti6mS3OjqY+hXDmvfELhl9xgDB2eh/t8hB6x7pA4fNC76RYL71aDOwcEyJvBAidUVvb5FqCE2w+pF4JrAD3XgSWwiXzEnHN1Q65xd4XuTPir0uzzzIoCosNU1C+scf35ZZqzXRoChaXLirLXuhHcvhkQ7NXZYNETqqSKqOqSGhf4HO+wfKFea4TNmLRvKqWe6cGGC5iWREbWrc98uf5OHeu+k4wDK4g4+gOAzLuWoKnqVSJWUJSdqY/qa50jtTr1O8z6vy8grv+w/FIG4EBxfbizWsurSJKK3dpthA74CvRB6EInQXs2ct1Umy+Lnd7+cjPqeFdejuUHpe0ow8mhkEH0wvdtHU6MRPMooELO6EQe6WR8Hox0Jkiy9iNTwrT+BHECt/zBpQjDfxDDDVswmhQHEPEP1X/czzTFB96oiLgrpJRT5leiXuNk72UME7uI446qj6kGK092kGY9gADq7TqppFAxWNjy5ETJ4B3xj2443ZC2gnDI7yOAsZHstzJOqvjY2FJPcU+D18vBG3fqVavpQxCCXi119mKdZn+yeIExQb+EvEhy2ZBPZCiqatrBW9eBp1F7WOsRPM6OYW8pQ7j4raRem3RMG0TkvP0J1AUeE+hPo8CE6RoM6Y1y1nXMxtqEvbom/gOTmIupKb1syq4RdLAyAj9kovscT+G9LGgBCI0ES0tjKX5fKauqfmuLXi2tmux1PdSbakM+rqBi51DtM0D+ZwVPUnYi1P4BpGMlBX4ssGfh4jVM1cof58HwNErIaMhN2gZs26HwHUlD7XBcgZ/q7TrXAmtfTHvX+5kXKWyV6JIFF+0+7w+gLNxLtRuGNj/f4dMUJWFB4qHuXGWPP2Z+IVAr7RsVnnxLNQMferI4opYlx8USB0f4/u3xqANkpvq0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: eYNo7WTKV8wmdqihb5RlSdRdYwW0nnqgJaxgdT4o4CuJaNxmxARQwUnI3wmcepUnEgmhOBAinGjKUp+BFbTBzDPHSElC8DuTejPEylWmw8cs2usBBIzOoT+CEJG/aelhOL49C+yKfeNNsyACvTYMGoqD2j7BlK3a37V+ZO9wU+wDoaUD9cMS+IeVIp8Lapy1B1ghYjw0LrCuJHYV/tb+DrjF1pH1Kbbj2cqZ/S1wJrvl2kIiSOHAXBEJh2dJIgaduF3Vvq2b7xT32LbJi4ua3gdp4xNm5FXqAncC51RHiPW/kMdCGKmqS4u0e54mTG2X2E3Xq305FNJxXsPbE3aDGeZ7OfKILOs90j4Z3Uxf7CMYra9VHYSLJsqwffoV5SeepPRXFaFvzxpPqz7JhRQYCqBKIIm6FLoxOLHvE2tQn56AlrkZf5p7M//O0P+gu6kVQcFwyTaEtLnHt/BSW+BLm8/+9Y7N8VOlJi/MpJqGv7bcXc64ObPQQ4G2Hs1VleujoH6YZLVNQtJu2Ehmdzh7R+yvpFDYO+YQgIrH6LEharXbxenhqoNvMt41NQf5oUbQt5VEvMNgf+Utrutg3He8S9ICID+Iq0lfhuU/EoOH44cVUc9mtlFX7BIa5TNlSQ4R+vKG3d0hgLTYZmFPkMGDe5kSPSDr8PqUPrGPzqtl21+OyqILw7qwhm1vQyFF+/3mDwUEkyDrLESC1nOeifBa89r2r8fWh4ujLJLjkU3fssU+Bp0Ob10znFlocId2enaIMvySAB3GlDOsaEbrmpEb9k+ZWxKqCczSIE3vNnE3w3UM5GEZZ2m+TJ5wEv0+4/X0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5de34664-72d8-4674-ac4e-08db3a3dd641 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:35:46.7064 (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: /ukNgYxC4s/B8zOsuAQRU/guY08RQ+1xaqJ6fX0muqHBH6G1+VNdiJHy3l0lmkWPCDk2Tbun0jwwjU2o0vQ8IQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4563 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=938 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-ORIG-GUID: AQzXVfIC1zY8etrT1Qu-_0MdAQ3Ozj8- X-Proofpoint-GUID: AQzXVfIC1zY8etrT1Qu-_0MdAQ3Ozj8- Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 3d8f2821502d0b60bac2789d0bea951fda61de0c upstream. Instead of only synchronizing the uid/gid values in xfs_setup_inode, ensure that they always match to prepare for removing the icdinode fields. Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_inode_buf.c | 2 ++ fs/xfs/xfs_icache.c | 4 ++++ fs/xfs/xfs_inode.c | 8 ++++++-- fs/xfs/xfs_iops.c | 3 --- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index e1faf48eb002..c7e4d51fe975 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -223,7 +223,9 @@ xfs_inode_from_disk( to->di_format = from->di_format; to->di_uid = be32_to_cpu(from->di_uid); + inode->i_uid = xfs_uid_to_kuid(to->di_uid); to->di_gid = be32_to_cpu(from->di_gid); + inode->i_gid = xfs_gid_to_kgid(to->di_gid); to->di_flushiter = be16_to_cpu(from->di_flushiter); /* diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index 8e6dc04c14d4..f1451642ce38 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -289,6 +289,8 @@ xfs_reinit_inode( uint64_t version = inode_peek_iversion(inode); umode_t mode = inode->i_mode; dev_t dev = inode->i_rdev; + kuid_t uid = inode->i_uid; + kgid_t gid = inode->i_gid; error = inode_init_always(mp->m_super, inode); @@ -297,6 +299,8 @@ xfs_reinit_inode( inode_set_iversion_queried(inode, version); inode->i_mode = mode; inode->i_rdev = dev; + inode->i_uid = uid; + inode->i_gid = gid; return error; } diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 891f03a3fd91..99f82bdb3db9 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -806,15 +806,19 @@ xfs_ialloc( inode->i_mode = mode; set_nlink(inode, nlink); - ip->i_d.di_uid = xfs_kuid_to_uid(current_fsuid()); - ip->i_d.di_gid = xfs_kgid_to_gid(current_fsgid()); + inode->i_uid = current_fsuid(); + ip->i_d.di_uid = xfs_kuid_to_uid(inode->i_uid); inode->i_rdev = rdev; ip->i_d.di_projid = prid; if (pip && XFS_INHERIT_GID(pip)) { + inode->i_gid = VFS_I(pip)->i_gid; ip->i_d.di_gid = pip->i_d.di_gid; if ((VFS_I(pip)->i_mode & S_ISGID) && S_ISDIR(mode)) inode->i_mode |= S_ISGID; + } else { + inode->i_gid = current_fsgid(); + ip->i_d.di_gid = xfs_kgid_to_gid(inode->i_gid); } /* diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 05adfea93ad9..838acd7f2e47 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -1288,9 +1288,6 @@ xfs_setup_inode( /* make the inode look hashed for the writeback code */ inode_fake_hash(inode); - inode->i_uid = xfs_uid_to_kuid(ip->i_d.di_uid); - inode->i_gid = xfs_gid_to_kgid(ip->i_d.di_gid); - i_size_write(inode, ip->i_d.di_size); xfs_diflags_to_iflags(inode, ip); From patchwork Tue Apr 11 03:35:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206980 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F87BC7619A for ; Tue, 11 Apr 2023 03:36:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229523AbjDKDgL (ORCPT ); Mon, 10 Apr 2023 23:36:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229888AbjDKDgJ (ORCPT ); Mon, 10 Apr 2023 23:36:09 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75E69EB for ; Mon, 10 Apr 2023 20:36:07 -0700 (PDT) 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 33AJwC66021476; Tue, 11 Apr 2023 03:35:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=ugq+J9T5InfZYiPDlipZ2AvvmCO9KsdKv8MWE/fw/ao=; b=vqEZttjBoaxr6qxoZJq31izDilYAPU8xhvFuPtxJSzX3BBIF6H6+BcSPf5HL/rBzFg8q 1YzVixeLt2YveF7pqo45cgU9sHa3aumgaelNubYhPWDAUFrwUM906hE3EjLzZ5s4xOZj HIKQTjtseGFsP/aaiephGf1lCVQWccog22JuKgbBx2cySv8ExkfGQxRI9KpV3Rwq3Zof g78fQ1m87Q+9wceoktBmd1SHY83TQz52m69RqW6WU9fcbQK8ffZQFa2QVY56yXbkSwIh cNrVdeJF79FxIPhve3Es9FylXDPKOxK3pxeFWE8D1AS/Mo0ynkPVl2DGlHVdj2DRPu8g XQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0etm9a7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:57 +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 33B3PbDW001948; Tue, 11 Apr 2023 03:35:56 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwe699px-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:35:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PaKlt44p+I3hPBPBd+qmPliR2IAKweeOZvkixNCkphgX8O/w7ZSiqipPfbCtnetEqXTz6uqDwL3Zi6VSVpATKfkST2a7Tfph9ML2cLUQFKL5lHiecBgr2yjwSsIivHq1pjGE2MnlOc7B34GPAVM4flwfksbJRa9R4gWqju+Ubu8MxjF/6Fn2Z5emAlxjTAUOvvO6wL8TV+o1b/sgKqk+TkdNMFiXxmt9qVW95FHnAgzVMaWrwdXpm/6y3cd0JyPpJhQ5pyh0JeXtx1/aVHVfmLcr3vQvka3phJ4SbGuz0fa7zT93089F/GtUN2+PD8pVTgzvad+e4Nr5N22sp5McUw== 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=ugq+J9T5InfZYiPDlipZ2AvvmCO9KsdKv8MWE/fw/ao=; b=kJ2UYzytH9upXZpkAMSVJ8gfoOfU4AJLbUNtETcgpSYM8nq9FDqKScGGsECu0OTU0a8ZR+BVO9MyfE5pyR5tFL7EQF/hYyK81rVXzekLjSHAYQevgQrOa7Ih1O+PMVy+uvfJKbhT8vKIIt8Rudh+biLqEESyvcwQu0asXMY4OJhD2hi8im3KKx6C9jZBMgqefYs/pVN0onigy05Vb93ud4/XjPGm7pynMuuiL0TM9+OL2nzPPfGXTi/p7iLLKBw6j2iCEGjM+oWfIg6wZ7JuwYc3YnXcyu1/nGnvBPn3qaikn2KYMj+qdg0qExrX1NwixKbIMXdPJRRfvaLHgtGF0g== 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=ugq+J9T5InfZYiPDlipZ2AvvmCO9KsdKv8MWE/fw/ao=; b=vzYOkI9tW1DlBpAUaaZBVVqVjDoQqZFoViRDY6r2K78OfE3OHsrbaJ2GjMPibXlWXXr7TZACMUg90QFQ9qVNQzaEKNkeJjdJQav/9K4vB7miKkWDhF7gxJc6gpNMkr+pnHRo6ofJSmrlO9coVfob2Sub6udIMKQ0Zlo/gEBb3k4= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by CO1PR10MB4563.namprd10.prod.outlook.com (2603:10b6:303:92::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.34; Tue, 11 Apr 2023 03:35:54 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:35:54 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 04/17] xfs: remove the icdinode di_uid/di_gid members Date: Tue, 11 Apr 2023 09:05:01 +0530 Message-Id: <20230411033514.58024-5-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: TY2PR02CA0065.apcprd02.prod.outlook.com (2603:1096:404:e2::29) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|CO1PR10MB4563:EE_ X-MS-Office365-Filtering-Correlation-Id: f8e7f7bd-5e04-4e5c-458e-08db3a3ddaac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Xl8x9dU5qJ21dzlsimYmXQB5I79ZTv0fTjMHT5+5PQ4qVMFg5l8++Rye5Y8Uk847I8ohxwD2CoGpbhfktKgeq3SQHgVT+/XGcNE74kd0ziovR4xyI+IsBVuLHFkhY/PXEv+i6rjjjLAOawhBm86DCmoXQBHYaIyrJKrlbLSHq1ZwAD7b1wGV3vp2uTg+bYLM2drX/gonxillPpeDtxP2OMqyq2Gg1bdPsZeSN8fk9n1uGfJqpVy6JKn2hnkhx4BIqbKxupU1g+Wln3GhRWI6oDS55U3OwqF0hzi5pJg3n43n8x+DyZtZ4g7xgwyoE+T1tO8H4gtghRH2+ARf0XkdnI82x5jF/38MTnBMsq0K2K6nMbpoFoQHuDwpqimSfAyadhfjFA38S4OTecv2Ll9Dc9zrHK0TbzXuf7EMCgGIz1mDxpQ+P4s1lImqFcMXfVqmG5qJ+dMFz4YZGR7gCSs6g/yNRQAm42Iqbv9eQT7wR20pwZofkJ15VSU+rotuRwj4n+n7WSZXW9SCS3DTQUChmG+Brsb0rbmWV5jZlytXzZ3tqgZLDiIMLhgQ8clpRfCC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(136003)(346002)(366004)(451199021)(6486002)(4326008)(66556008)(66476007)(478600001)(66946007)(8676002)(6916009)(41300700001)(83380400001)(316002)(36756003)(86362001)(2616005)(6506007)(1076003)(26005)(6512007)(6666004)(8936002)(2906002)(5660300002)(186003)(38100700002)(30864003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: C+4vQM+cV289onv9WcCcZF4JsU5vbjLMc0Ah2V/9WfAXwe5wDTbM+4RtbhUYzk/m7aDu3szVPj1XPmcPyGr30Gwxrizh5JFGP3/wmW9dQhUt7+VSCJ0U2MWL2MtyUuO3/hrYNK+AuRU/NOfRkWR24ePh7ffbDR9SlZxukGWlXkYTI4/1mGHbjk4wlZqXU3Eb8qJjWNdMJK3WPIKJhoaG75aUPUgz6/GDVEMjcWZE0KoX5YIKNFovoQsBR1m0xC8wnKJ2zNN48VmZOUWLfq/qd/uuApML0Yqq4dIY/052GtFStWvoi+4x3CqaC9v7EmUHP7hfy7Z1pWRFOGanK7bZgQJ5vsvNN/+cFfIxnVeawLOwh9HiJEXU+CELqMj6E+6jnVp1hVCGKDrigrHkyf32p7un0Bu8Zj7HiN661IkotDesJDCk1NTRMYlrhbFjNmy6gGdIgrbDrYGA7F6bMP7veOYLv1k8Z7tiQ1FSjg3J4nWgZ8J4qgqjiOGBvCxP5ACfcUnBmIpXHtcWsc/t8JlTMWEJxhVdWVepYVgF93Vr7vg1Dj6+GZKuDpOtz1K5yXxm/XXXkghIA1NyWhLObfAyiS4L71rYQVSuHUEEhirTE0fIGK9NrtusaclAb5WEqhFfEFCCIqy9yIbd+83STtLVJN+FwlSU1b/VrOTNTUPECPXLhAduuLIkpaDLJ9O/xwnUvPj78f9S4450vVfNv0MJLMhyzr97CDuQwNjEdp2BibQxbg85WRu+2Cz15SU2kJnfrjUtH95z7H4yui6A78a1Vumt+YCFTo1VHxa2lf/0mNLisrCrqdlTtLnpEhk62ripXP82rz5PqoUInqzNMU9YG8lRbtN1ogdjCHpklp1D+gemaizfd0HSY8DUMlotv/bAiMx/Tsdl3LzT9AUtE4KGi+3byw3QxVrS3syq5164at55rHa2tOJmAmYs5vgNuhV6FDgapudV1GA5GoV/mtb7Oddj/vQX/75Q/dj0xfLmwc4rMGRsqctrAb+9PN0cIow69opLkcV5n5rRg747Nl+o4SemXkSxXAfupc0+dC8QMm8m6ih1HS18X8ZgLXXC4/cCPJ6FPXOFiXyezLhf/ZXj+yBvpsjHVNAQkxl4FJMmGNsQbV3MOZ1tOOhrk2fQ5dGMqiCCCPwNbk52UIgui7I1Cum/BML8IPkCNPrrWJyfwBg5+Fe/nHrutJDFY2cl2vs/Pg5eXzu4SI4FIlx5Mh/RS39TQLaxlvhQtVixwkhIxWFfmce0uctMRKGmdkbzAhsxDvezQ+cW2uKUMEQXVzJKUFn2I81yc9At8iRVHrZGgiG3GP0JSVUFOMr6cwVABXf/h08gIrQCo1C1kAgtqbY3SHWCeEtpg39fcQSxWYdV1t7mn3w5sHUZVOx8wC9YOXIbxcLR4HaWB9X44PDfndaheYV4yHiNvPDYULPZ6F0sUlptXmqDOPbgv/DxvoFun6FDL4LBacR14tJdJ5bmE6g0d5/WHmBLrBioV685zSMsEWlvIr5uEYRZ9o5lbNKYKVFzKs1Pp62or5NU8SQPWVbBK9xFbF6dguBaKNZVxA/5icaD/iZLOmeHOD/9owU8MMou X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jHT26yb/HC2PhBwjY1zUiMQfm9ZuxgE/mjseu9zH1o/gmP6zwg7QqLEVZ22SIQu4XzJKe2YnNSLplC8zJsQMC1MMfg12iVKxh1ccfn3NFKzmxFGKPiEO2pUDbX17NO5DhxkPdp2tcXOFJ0StiW+oIosQzWmz7lXYFAeOI8yp1Ixff26MPG8f2pNDgBkhGPMEYHw2hvlA3dAsnMiwc3IwrTvs8g2TSQW7QLHE1bc/WDCmdcIlz4a7N9ihpoLD6PJT1Di9w789e8CUj3czw5trCHlGcb9gKvaqumf4ZXGUXtTdHfQXHVyW8hZuihuiM2gaTjPmaAqhTHuevJR2CCN/Q82+SOt9Zae/3m+EKCEzSHgL6P855fPJPaXV4IMq79USxpz789sSrfzBbdlqNC9QmUdczRLzcb4dm+VKb9NNC+CmEOM/7k8vWjtehKjhqJO+vJ+5mixh55uDgN9Eqr6JR42dqfUtbPMqaUtDap7qUy0n/yCbSJrt4xCrtJqyPyIJs++6Wch8vz5S1bL7jB/y8fTNgZ+Qfi11VKgsHAR5wzWul8QbmUGk/a7FOu7a7K76H+mOTBdwZz70sX76ckjTO1xokU5tuCliX0cKPkJU4TDg6L7D+Dzea7EK/dlOcbcrb5Jiv5alTeMKzik/efjjUexHIzgBYwQ6/y3HcFVySem4Ts3uW11TFZUlYj8E+VaGjIl5BOajcg2ay39rubBjl43pCViaNbp4XGFbxSWjj6GfyikBycJxn+QjBWMIHzKDbeCrlnsVyu+jgz8Lj/DHt/Hm19iJH85kCpCDMA5DNZkW13z0U76Uz/qKe53aGCPJ X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f8e7f7bd-5e04-4e5c-458e-08db3a3ddaac X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:35:54.1637 (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: k3wknZcQ2dtdiWZdYAv/81kVUmcRZZYgc7pFC6MsYy9asflS7AEU1RtZiUSx0+VRzozda9kB+40HPySS9ekEeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4563 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: TpYdV8D3s0OPLxJGiOT0aoPG6oufOKNF X-Proofpoint-ORIG-GUID: TpYdV8D3s0OPLxJGiOT0aoPG6oufOKNF Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 542951592c99ff7b15c050954c051dd6dd6c0f97 upstream. Use the Linux inode i_uid/i_gid members everywhere and just convert from/to the scalar value when reading or writing the on-disk inode. Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_inode_buf.c | 10 ++++----- fs/xfs/libxfs/xfs_inode_buf.h | 2 -- fs/xfs/xfs_dquot.c | 4 ++-- fs/xfs/xfs_inode.c | 14 ++++-------- fs/xfs/xfs_inode_item.c | 4 ++-- fs/xfs/xfs_ioctl.c | 6 +++--- fs/xfs/xfs_iops.c | 6 +----- fs/xfs/xfs_itable.c | 4 ++-- fs/xfs/xfs_qm.c | 40 ++++++++++++++++++++++------------- fs/xfs/xfs_quota.h | 4 ++-- fs/xfs/xfs_symlink.c | 4 +--- 11 files changed, 46 insertions(+), 52 deletions(-) diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index c7e4d51fe975..94cd6ec666a2 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -222,10 +222,8 @@ xfs_inode_from_disk( } to->di_format = from->di_format; - to->di_uid = be32_to_cpu(from->di_uid); - inode->i_uid = xfs_uid_to_kuid(to->di_uid); - to->di_gid = be32_to_cpu(from->di_gid); - inode->i_gid = xfs_gid_to_kgid(to->di_gid); + inode->i_uid = xfs_uid_to_kuid(be32_to_cpu(from->di_uid)); + inode->i_gid = xfs_gid_to_kgid(be32_to_cpu(from->di_gid)); to->di_flushiter = be16_to_cpu(from->di_flushiter); /* @@ -278,8 +276,8 @@ xfs_inode_to_disk( to->di_version = from->di_version; to->di_format = from->di_format; - to->di_uid = cpu_to_be32(from->di_uid); - to->di_gid = cpu_to_be32(from->di_gid); + to->di_uid = cpu_to_be32(xfs_kuid_to_uid(inode->i_uid)); + to->di_gid = cpu_to_be32(xfs_kgid_to_gid(inode->i_gid)); to->di_projid_lo = cpu_to_be16(from->di_projid & 0xffff); to->di_projid_hi = cpu_to_be16(from->di_projid >> 16); diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h index af3ff02b4a8d..0cb11fcc74b6 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.h +++ b/fs/xfs/libxfs/xfs_inode_buf.h @@ -19,8 +19,6 @@ struct xfs_icdinode { int8_t di_version; /* inode version */ int8_t di_format; /* format of di_c data */ uint16_t di_flushiter; /* incremented on flush */ - uint32_t di_uid; /* owner's user id */ - uint32_t di_gid; /* owner's group id */ uint32_t di_projid; /* owner's project id */ xfs_fsize_t di_size; /* number of bytes in file */ xfs_rfsblock_t di_nblocks; /* # of direct & btree blocks used */ diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index f59c3265dae7..14f4d2ed87db 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -859,9 +859,9 @@ xfs_qm_id_for_quotatype( { switch (type) { case XFS_DQ_USER: - return ip->i_d.di_uid; + return xfs_kuid_to_uid(VFS_I(ip)->i_uid); case XFS_DQ_GROUP: - return ip->i_d.di_gid; + return xfs_kgid_to_gid(VFS_I(ip)->i_gid); case XFS_DQ_PROJ: return ip->i_d.di_projid; } diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 99f82bdb3db9..9d6ad669adc5 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -807,18 +807,15 @@ xfs_ialloc( inode->i_mode = mode; set_nlink(inode, nlink); inode->i_uid = current_fsuid(); - ip->i_d.di_uid = xfs_kuid_to_uid(inode->i_uid); inode->i_rdev = rdev; ip->i_d.di_projid = prid; if (pip && XFS_INHERIT_GID(pip)) { inode->i_gid = VFS_I(pip)->i_gid; - ip->i_d.di_gid = pip->i_d.di_gid; if ((VFS_I(pip)->i_mode & S_ISGID) && S_ISDIR(mode)) inode->i_mode |= S_ISGID; } else { inode->i_gid = current_fsgid(); - ip->i_d.di_gid = xfs_kgid_to_gid(inode->i_gid); } /* @@ -826,9 +823,8 @@ xfs_ialloc( * ID or one of the supplementary group IDs, the S_ISGID bit is cleared * (and only if the irix_sgid_inherit compatibility variable is set). */ - if ((irix_sgid_inherit) && - (inode->i_mode & S_ISGID) && - (!in_group_p(xfs_gid_to_kgid(ip->i_d.di_gid)))) + if (irix_sgid_inherit && + (inode->i_mode & S_ISGID) && !in_group_p(inode->i_gid)) inode->i_mode &= ~S_ISGID; ip->i_d.di_size = 0; @@ -1157,8 +1153,7 @@ xfs_create( /* * Make sure that we have allocated dquot(s) on disk. */ - error = xfs_qm_vop_dqalloc(dp, xfs_kuid_to_uid(current_fsuid()), - xfs_kgid_to_gid(current_fsgid()), prid, + error = xfs_qm_vop_dqalloc(dp, current_fsuid(), current_fsgid(), prid, XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp, &pdqp); if (error) @@ -1308,8 +1303,7 @@ xfs_create_tmpfile( /* * Make sure that we have allocated dquot(s) on disk. */ - error = xfs_qm_vop_dqalloc(dp, xfs_kuid_to_uid(current_fsuid()), - xfs_kgid_to_gid(current_fsgid()), prid, + error = xfs_qm_vop_dqalloc(dp, current_fsuid(), current_fsgid(), prid, XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp, &pdqp); if (error) diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index a3df39033c00..91f9f7a539ae 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -308,8 +308,8 @@ xfs_inode_to_log_dinode( to->di_version = from->di_version; to->di_format = from->di_format; - to->di_uid = from->di_uid; - to->di_gid = from->di_gid; + to->di_uid = xfs_kuid_to_uid(inode->i_uid); + to->di_gid = xfs_kgid_to_gid(inode->i_gid); to->di_projid_lo = from->di_projid & 0xffff; to->di_projid_hi = from->di_projid >> 16; diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index fd40a0644b75..6d3abb84451c 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1572,9 +1572,9 @@ xfs_ioctl_setattr( * because the i_*dquot fields will get updated anyway. */ if (XFS_IS_QUOTA_ON(mp)) { - code = xfs_qm_vop_dqalloc(ip, ip->i_d.di_uid, - ip->i_d.di_gid, fa->fsx_projid, - XFS_QMOPT_PQUOTA, &udqp, NULL, &pdqp); + code = xfs_qm_vop_dqalloc(ip, VFS_I(ip)->i_uid, + VFS_I(ip)->i_gid, fa->fsx_projid, + XFS_QMOPT_PQUOTA, &udqp, NULL, &pdqp); if (code) return code; } diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 838acd7f2e47..757f6f898e85 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -666,9 +666,7 @@ xfs_setattr_nonsize( */ ASSERT(udqp == NULL); ASSERT(gdqp == NULL); - error = xfs_qm_vop_dqalloc(ip, xfs_kuid_to_uid(uid), - xfs_kgid_to_gid(gid), - ip->i_d.di_projid, + error = xfs_qm_vop_dqalloc(ip, uid, gid, ip->i_d.di_projid, qflags, &udqp, &gdqp, NULL); if (error) return error; @@ -737,7 +735,6 @@ xfs_setattr_nonsize( olddquot1 = xfs_qm_vop_chown(tp, ip, &ip->i_udquot, udqp); } - ip->i_d.di_uid = xfs_kuid_to_uid(uid); inode->i_uid = uid; } if (!gid_eq(igid, gid)) { @@ -749,7 +746,6 @@ xfs_setattr_nonsize( olddquot2 = xfs_qm_vop_chown(tp, ip, &ip->i_gdquot, gdqp); } - ip->i_d.di_gid = xfs_kgid_to_gid(gid); inode->i_gid = gid; } } diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index f1f4c4dde0a8..a0ab1c382325 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -86,8 +86,8 @@ xfs_bulkstat_one_int( */ buf->bs_projectid = ip->i_d.di_projid; buf->bs_ino = ino; - buf->bs_uid = dic->di_uid; - buf->bs_gid = dic->di_gid; + buf->bs_uid = xfs_kuid_to_uid(inode->i_uid); + buf->bs_gid = xfs_kgid_to_gid(inode->i_gid); buf->bs_size = dic->di_size; buf->bs_nlink = inode->i_nlink; diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c index 8867589bfc3c..c036c55739d8 100644 --- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c @@ -331,16 +331,18 @@ xfs_qm_dqattach_locked( ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); if (XFS_IS_UQUOTA_ON(mp) && !ip->i_udquot) { - error = xfs_qm_dqattach_one(ip, ip->i_d.di_uid, XFS_DQ_USER, - doalloc, &ip->i_udquot); + error = xfs_qm_dqattach_one(ip, + xfs_kuid_to_uid(VFS_I(ip)->i_uid), + XFS_DQ_USER, doalloc, &ip->i_udquot); if (error) goto done; ASSERT(ip->i_udquot); } if (XFS_IS_GQUOTA_ON(mp) && !ip->i_gdquot) { - error = xfs_qm_dqattach_one(ip, ip->i_d.di_gid, XFS_DQ_GROUP, - doalloc, &ip->i_gdquot); + error = xfs_qm_dqattach_one(ip, + xfs_kgid_to_gid(VFS_I(ip)->i_gid), + XFS_DQ_GROUP, doalloc, &ip->i_gdquot); if (error) goto done; ASSERT(ip->i_gdquot); @@ -1630,8 +1632,8 @@ xfs_qm_dqfree_one( int xfs_qm_vop_dqalloc( struct xfs_inode *ip, - xfs_dqid_t uid, - xfs_dqid_t gid, + kuid_t uid, + kgid_t gid, prid_t prid, uint flags, struct xfs_dquot **O_udqpp, @@ -1639,6 +1641,7 @@ xfs_qm_vop_dqalloc( struct xfs_dquot **O_pdqpp) { struct xfs_mount *mp = ip->i_mount; + struct inode *inode = VFS_I(ip); struct xfs_dquot *uq = NULL; struct xfs_dquot *gq = NULL; struct xfs_dquot *pq = NULL; @@ -1652,7 +1655,7 @@ xfs_qm_vop_dqalloc( xfs_ilock(ip, lockflags); if ((flags & XFS_QMOPT_INHERIT) && XFS_INHERIT_GID(ip)) - gid = ip->i_d.di_gid; + gid = inode->i_gid; /* * Attach the dquot(s) to this inode, doing a dquot allocation @@ -1667,7 +1670,7 @@ xfs_qm_vop_dqalloc( } if ((flags & XFS_QMOPT_UQUOTA) && XFS_IS_UQUOTA_ON(mp)) { - if (ip->i_d.di_uid != uid) { + if (!uid_eq(inode->i_uid, uid)) { /* * What we need is the dquot that has this uid, and * if we send the inode to dqget, the uid of the inode @@ -1678,7 +1681,8 @@ xfs_qm_vop_dqalloc( * holding ilock. */ xfs_iunlock(ip, lockflags); - error = xfs_qm_dqget(mp, uid, XFS_DQ_USER, true, &uq); + error = xfs_qm_dqget(mp, xfs_kuid_to_uid(uid), + XFS_DQ_USER, true, &uq); if (error) { ASSERT(error != -ENOENT); return error; @@ -1699,9 +1703,10 @@ xfs_qm_vop_dqalloc( } } if ((flags & XFS_QMOPT_GQUOTA) && XFS_IS_GQUOTA_ON(mp)) { - if (ip->i_d.di_gid != gid) { + if (!gid_eq(inode->i_gid, gid)) { xfs_iunlock(ip, lockflags); - error = xfs_qm_dqget(mp, gid, XFS_DQ_GROUP, true, &gq); + error = xfs_qm_dqget(mp, xfs_kgid_to_gid(gid), + XFS_DQ_GROUP, true, &gq); if (error) { ASSERT(error != -ENOENT); goto error_rele; @@ -1827,7 +1832,8 @@ xfs_qm_vop_chown_reserve( XFS_QMOPT_RES_RTBLKS : XFS_QMOPT_RES_REGBLKS; if (XFS_IS_UQUOTA_ON(mp) && udqp && - ip->i_d.di_uid != be32_to_cpu(udqp->q_core.d_id)) { + xfs_kuid_to_uid(VFS_I(ip)->i_uid) != + be32_to_cpu(udqp->q_core.d_id)) { udq_delblks = udqp; /* * If there are delayed allocation blocks, then we have to @@ -1840,7 +1846,8 @@ xfs_qm_vop_chown_reserve( } } if (XFS_IS_GQUOTA_ON(ip->i_mount) && gdqp && - ip->i_d.di_gid != be32_to_cpu(gdqp->q_core.d_id)) { + xfs_kgid_to_gid(VFS_I(ip)->i_gid) != + be32_to_cpu(gdqp->q_core.d_id)) { gdq_delblks = gdqp; if (delblks) { ASSERT(ip->i_gdquot); @@ -1937,14 +1944,17 @@ xfs_qm_vop_create_dqattach( if (udqp && XFS_IS_UQUOTA_ON(mp)) { ASSERT(ip->i_udquot == NULL); - ASSERT(ip->i_d.di_uid == be32_to_cpu(udqp->q_core.d_id)); + ASSERT(xfs_kuid_to_uid(VFS_I(ip)->i_uid) == + be32_to_cpu(udqp->q_core.d_id)); ip->i_udquot = xfs_qm_dqhold(udqp); xfs_trans_mod_dquot(tp, udqp, XFS_TRANS_DQ_ICOUNT, 1); } if (gdqp && XFS_IS_GQUOTA_ON(mp)) { ASSERT(ip->i_gdquot == NULL); - ASSERT(ip->i_d.di_gid == be32_to_cpu(gdqp->q_core.d_id)); + ASSERT(xfs_kgid_to_gid(VFS_I(ip)->i_gid) == + be32_to_cpu(gdqp->q_core.d_id)); + ip->i_gdquot = xfs_qm_dqhold(gdqp); xfs_trans_mod_dquot(tp, gdqp, XFS_TRANS_DQ_ICOUNT, 1); } diff --git a/fs/xfs/xfs_quota.h b/fs/xfs/xfs_quota.h index efe42ae7a2f3..aa8fc1f55fbd 100644 --- a/fs/xfs/xfs_quota.h +++ b/fs/xfs/xfs_quota.h @@ -86,7 +86,7 @@ extern int xfs_trans_reserve_quota_bydquots(struct xfs_trans *, struct xfs_mount *, struct xfs_dquot *, struct xfs_dquot *, struct xfs_dquot *, int64_t, long, uint); -extern int xfs_qm_vop_dqalloc(struct xfs_inode *, xfs_dqid_t, xfs_dqid_t, +extern int xfs_qm_vop_dqalloc(struct xfs_inode *, kuid_t, kgid_t, prid_t, uint, struct xfs_dquot **, struct xfs_dquot **, struct xfs_dquot **); extern void xfs_qm_vop_create_dqattach(struct xfs_trans *, struct xfs_inode *, @@ -109,7 +109,7 @@ extern void xfs_qm_unmount_quotas(struct xfs_mount *); #else static inline int -xfs_qm_vop_dqalloc(struct xfs_inode *ip, xfs_dqid_t uid, xfs_dqid_t gid, +xfs_qm_vop_dqalloc(struct xfs_inode *ip, kuid_t kuid, kgid_t kgid, prid_t prid, uint flags, struct xfs_dquot **udqp, struct xfs_dquot **gdqp, struct xfs_dquot **pdqp) { diff --git a/fs/xfs/xfs_symlink.c b/fs/xfs/xfs_symlink.c index ed66fd2de327..97336fb9119a 100644 --- a/fs/xfs/xfs_symlink.c +++ b/fs/xfs/xfs_symlink.c @@ -191,9 +191,7 @@ xfs_symlink( /* * Make sure that we have allocated dquot(s) on disk. */ - error = xfs_qm_vop_dqalloc(dp, - xfs_kuid_to_uid(current_fsuid()), - xfs_kgid_to_gid(current_fsgid()), prid, + error = xfs_qm_vop_dqalloc(dp, current_fsuid(), current_fsgid(), prid, XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp, &pdqp); if (error) From patchwork Tue Apr 11 03:35:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206981 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9E1CC76196 for ; Tue, 11 Apr 2023 03:36:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229717AbjDKDgM (ORCPT ); Mon, 10 Apr 2023 23:36:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229891AbjDKDgK (ORCPT ); Mon, 10 Apr 2023 23:36:10 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 00529172B for ; Mon, 10 Apr 2023 20:36:08 -0700 (PDT) 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 33AJPedU012830; Tue, 11 Apr 2023 03:36:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=uy8cwkSapqeLG7O0T8KVNU8QMp0397fpnfZmGUMw9Vw=; b=20xILHks3avIr5hjNEoC1Tppn25okSiaswmTudWs65IWngqie8otPFw21qfgcLG7e5eN dC7EAC368aaHpiKsOooBow/CG4JFciR0XRSGOhZp9V+UDyzHmSEPplV+h1TZfI6mrL2v Q5a5JyRJjIcr7vPGkfYhypOeo6cvpFQriSTmRJ0d4rZAtygoeHElAUR4sI9BKdvi9fT7 SdG6puRO92emK9Ps7ZqQZtwNFVZsgKy0DxtiUtoV1b+H9+2HBBvlULI2Qc2NW9PgSx6N MopFd+IZHIPGA4V2tFkDxNozs65ZSvf+YLuV9/yguAJQr3lnoMNCfa0xwrP/lCLBPipZ LQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0ttma5j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:05 +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 33B3ATDP032604; Tue, 11 Apr 2023 03:36:05 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2046.outbound.protection.outlook.com [104.47.74.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puw909a93-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PxPLV3ktDZjaPzUH20KNV9dCGe/ybxRJbiAEpRB4yuzExP4DxJG7nqd3F3RYGKBMbN3yaHSbEaZYpP5IeGPvn2l5Uj7dYFiRxcBHhlGLcErFN6LkU20J2HZ2Y92D2Ob/ZpiwvWiOSR3j++/cevpi81/7nabHr0bTdVVpJQhM4JIp9Pp6hSm4hZJFyTQrNEBzxp7jaAPJl8HFWMyfUqmFuGChtsIGxBM/ks3VpDDTx8pwTNmlv/wFIHNTNL4BqJWw3GvBDfW4zSoDY9GdLld8G1/iqLpLBY+oNB02YTpXviUftQsM6eGt8fJoMLoEvPu2uFCnB1xR7iDrTt5CchtJWA== 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=uy8cwkSapqeLG7O0T8KVNU8QMp0397fpnfZmGUMw9Vw=; b=H4P30DYKbit24e72C+DbyGU2By/nh50cJsUCi93GkX+kzjhew7zx76iDFupwTnj/NS1bQPKNJdgQD5QrB2eVYN8dLVK/9c37K56qnDEb7uWmqyQ7A4+VCvVi8/Ei0VCsjYNf+Ez5xIx6Nk1mpqjaJxLCntJ/HZtfYyO2rUcDfa/I09D8RHkiBOA92cdH3mRjp+8GYIfRm0O0lUsyiN6DDuyGegMdUb7LVbhnNJ8Z8i2Fh1LQNKMBhMrRbvleI9oly+A0H+mppz86QDQCs8aXbpJ0ozS52u/dy302XELTQhjhOapmCEnujkZysy4ID5wKopLAa2Ee1cQaV8sbk90oJA== 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=uy8cwkSapqeLG7O0T8KVNU8QMp0397fpnfZmGUMw9Vw=; b=KHzp2Ee/iNgxe4rK24Hm+HorGWt57jUHXkX4f74M3PvsXpG1tnfb8iysnWsUiCko9YsritAQ33tHc7bLTtApNCW+CvPrGdlVUnv9foxNIabbNM23dxLh44aD4AnRim71mK6lFelD5U4nE8a+ICBv2rcuqbar9f6CnP5m6wSvVhM= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:02 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:02 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 05/17] xfs: remove the kuid/kgid conversion wrappers Date: Tue, 11 Apr 2023 09:05:02 +0530 Message-Id: <20230411033514.58024-6-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR02CA0052.apcprd02.prod.outlook.com (2603:1096:4:196::18) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 388685c9-86c6-463d-f879-08db3a3ddf60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TwgkVYGBrYzJLZ+5K74ojExp2Jn/K+n6Knu5s1fbSzSu7NVil/kCmwVs72zLzi2WGwrcSfRCYsjNPLiOZhwSPaXNlJt+upJewDrLaYyQ9zs3ftX6HVxHeZp7upw1qYWg77m/95NhvwaW1OtqvwYTM++7ZdeGQCzuUjFxkWF/vnMLYZdMI4yaDGODlkbs3q9k4PMfutQvOg5THmy22IexT+XCB3HpyfiJY/Q+7XMzxu2Kf+N9RyiD3/RVEX+OftW0SU+a+T6FeyS7LcwfGE4hPHPWp/xcsFx6ax+ivDWM5Xn7vkSDZ1xGD+m4QApAHoDmu4Tig3BhPtT3YoVogl+izTWRF3GwUneZexmBEHL9bJ2LCH2osPVU56ENqocDbIqmtRtIo642ItsI0r0ppwIJdaP76vf47ro1o++dkvjRg79q1haYp+lsoXfw6a/feJ5zPEn7i0y57ALbLnch2qsq+gfl6Bux8ILm1wO1eSXJBNRZmmVS8/Jn8mGuE8v7riUDvLX+RHBt5dvc2WrIkoN8Hy/2/7UlLsN/UfxtB0lfiAizvU2DIKdf2khh0JDLuE7w X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Xicvr7+L8va9HiwvFQ5hwTJSSLSb9pmTp+S1y2UQEhWh153T1uWYiocvaMgh7my4EeJ7kpqqx0eFyaEjfTsLkzQ5M7B26iT5G5TXUYk2HvR7rMfjOD6Adsfxx9PHusE8dYclsc5qsVl/gLAJui2gIilRK8jE8WNB6cT/bnpjWn43+vKHCYRYy41bUyMOv8bWnm40RmnjJAN8daHQZG/33VHVWL0uBBYyrKbHtLsz+ts+LR0rjsthu8mXiULYxz4cWSh4CCm+EezTgwyWOtnPk+nksL4TJmnK4CPg7oNgExBhQt8ZgEA+WvNCPqEXUoPzXNXwdICGx7v+Rcj2cSRVYqAO/Ppb++Nxir3dcJ+UdjOByKNN3q6GYAN7bAHlzVQPh7Kk+rngn65iUOhF5l50IduXk807CSPaXeFkpZmFM/pnny5UtTyrvFo78uvYBbSAlhKde09BYqXTB30KCNulGapTE3bCNHkadSyO1o87CtdUd6aWmX5hCPYThbRIC2J5Sw2mZY7JUSScMBT4kmmD2iJBNwo3c+pCCjBb1gG99Tko00NLKPJBj4JQsi3N5aL0LlJ9F9nlk9PEzPMa4lEzU8/Cm1w2Ll6FATZl3MXCCfnCBv/Z22vPc9ieg7sFmScqhQAspo9W1IZscbr3SOKvY3cYC/NKHu1Mf0ryVx/NF3S419+tXGWh6fsComJj8r5nQaVOnnp5fYRFCzrjuWFkn1yMk2huR7y1qj1vNYtNgWUz/QfzuMIlrsaEZI9wPnOrg85J/Zkh3NcNJ5RmYQG1zjdlPWdW+lZWyDQsuYEPhxfTtc3NiaI6YYTQyHZCaT2p8euN9twMal50HsDZgLet9FKu/qdFiDE59DMBjYq466aHET+PQombo/6jXtLTcz7xA37ckEoKJIigjiQkoPAtlPQBI3K+OXKFHkF0yn7clcXxCwU2/eIltrE7+jExNoWbsASYoteJs/WlvTsBvK9j6dj9Na8lX/EUBM6wjEGvuwHjt1Wj4Ad/rTUjz6AQkqKf6JjywonPd8J2d4aWMA5bfoUEzphEVBli5Sz0BeL9Wx6VHhXafz9rLZg9KErqI2GGIOwYFaZr6L+xR4Se7eA2oXDSd06wIRD3kcTem9EX1bQawivjB1EV5TTspazf2aUxPwlrUknU6/JIS/ZqcoaNt22S8OvaVs4Gb53/EVD78vDQ1B/JcyqaArDw6q71yB333pFKeD8gyxYFuT7bABvGyIrF2jgRGHKLBIVioNvDenhXzqxiuGsqnwmA0HzX1JTDr9aLRCbC38aeHcncH/Sdids3rxcbOOZ8PpZObHcD3DptVr/0/VTEgqhIQOy3NQwCoEF6KGSvPmkTZhjne5i2cp9HpmGZaMjPSZJ+h/vitsPaYfiElKCC9F6fHCGKDXvHD8l9F68AnVYHj0PRb6WJ6xqlICEnh1AmIN7DpgcJ/rgsZSgCfsSbHX4OIeinlw8W7RxkCgAg5tDS4KFcUXDXy2/1DVKdckRqFv8F6964abz4YtbzjLRi1vkGb9xnw/wjgj90afMjhq9W8DPfogEY5Jbr8qt1vstdoGW50ezkb7mTwvfvW1sh01/NfbiB6Eiu X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rTPznEn97n2qBJsY5UmeDEbQUnipI8q/rkIY+/E4CI8qGPxKZyaP0GInB5Q5GbZBRguRgQc3iJFcLFOFrqK+Sw+eragSGNWBh3IelBi1xYRGjpznC7nQaCEze1TpegMbJDY6WQT/0zpMusYtz1XV+Er0oJO2rnNmndc37SzA1k7Rh9bY5m+QuR+aQVc/N1jz/maDDXuQ/kuKnl2tNZ1PyoKfGFDyw0D33zCfE/8wpzHdxT1Y8s2YGTUa4PBEUx6RDgO6raMt6GP6CYrjGTAWCKVFQxgnqnSUxOTKnT6HEyPrxLQ4J3NDWrYwDil8xDaDH2HU17YkrrftmSg55amgvAj1HnWW6YPBAZpfhEdMkfqYzIoSNWL/ZQ8B1mnnUWDwuZt41yF9zyLS+xblwC2NEKIRplRHcl7MhPD9+ATXWkunmal23vx93Xf0Sgr+4AhpjYU0dT0bAf/PRW3w5bes9zFEtCed21WVxiwXhDf69SL4ORcEhR+0JAZFMG0BedZoaUlDbnIArsmehllVCgUt1gQl3FLRQQcXuRguvJg+Ta0Eflsf317cHFdHaJqytj9ZZSOm3V+dIBpxY5Y8DhlOAuV7kB14xFzbndhehpj6XKPKjVKb+n8UkjAIYgR6oGuOOqN0XNH22XdAA9EoD0zLOozxAZahRSREWp6KWPhXWjrtrl5x7KRvwwJCsqEb6Ga4L7JUPvSUmONWmi3HGVnh8/X1DnQ8jiffmQc6vScdVF1Ve3VPh5gALrsUyfBb5IxlZ0GPbHMF66CMxmdp+pDFmzNTZVQvf3ucpigroDfXj7UIepFdjKuymSWM49N8wo5e X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 388685c9-86c6-463d-f879-08db3a3ddf60 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:02.0903 (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: uqdNToEYHK52WUyj+Cm4orUmIJdCeFsBTQ2qBzEwEWdr9fwVBIdx98jzmNyv5YogYq9CTVXUgr6ZxWyPgsS62w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-ORIG-GUID: ejO9qldn37Oy2RdJlAw3j86l7Kyy-GEI X-Proofpoint-GUID: ejO9qldn37Oy2RdJlAw3j86l7Kyy-GEI Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit ba8adad5d036733d240fa8a8f4d055f3d4490562 upstream. Remove the XFS wrappers for converting from and to the kuid/kgid types. Mostly this means switching to VFS i_{u,g}id_{read,write} helpers, but in a few spots the calls to the conversion functions is open coded. To match the use of sb->s_user_ns in the helpers and other file systems, sb->s_user_ns is also used in the quota code. The ACL code already does the conversion in a grotty layering violation in the VFS xattr code, so it keeps using init_user_ns for the identity mapping. Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_inode_buf.c | 8 ++++---- fs/xfs/xfs_acl.c | 12 ++++++++---- fs/xfs/xfs_dquot.c | 4 ++-- fs/xfs/xfs_inode_item.c | 4 ++-- fs/xfs/xfs_itable.c | 4 ++-- fs/xfs/xfs_linux.h | 26 -------------------------- fs/xfs/xfs_qm.c | 23 +++++++++-------------- 7 files changed, 27 insertions(+), 54 deletions(-) diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index 94cd6ec666a2..947c2aac66bd 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -222,8 +222,8 @@ xfs_inode_from_disk( } to->di_format = from->di_format; - inode->i_uid = xfs_uid_to_kuid(be32_to_cpu(from->di_uid)); - inode->i_gid = xfs_gid_to_kgid(be32_to_cpu(from->di_gid)); + i_uid_write(inode, be32_to_cpu(from->di_uid)); + i_gid_write(inode, be32_to_cpu(from->di_gid)); to->di_flushiter = be16_to_cpu(from->di_flushiter); /* @@ -276,8 +276,8 @@ xfs_inode_to_disk( to->di_version = from->di_version; to->di_format = from->di_format; - to->di_uid = cpu_to_be32(xfs_kuid_to_uid(inode->i_uid)); - to->di_gid = cpu_to_be32(xfs_kgid_to_gid(inode->i_gid)); + to->di_uid = cpu_to_be32(i_uid_read(inode)); + to->di_gid = cpu_to_be32(i_gid_read(inode)); to->di_projid_lo = cpu_to_be16(from->di_projid & 0xffff); to->di_projid_hi = cpu_to_be16(from->di_projid >> 16); diff --git a/fs/xfs/xfs_acl.c b/fs/xfs/xfs_acl.c index 3f2292c7835c..6788b0ca85eb 100644 --- a/fs/xfs/xfs_acl.c +++ b/fs/xfs/xfs_acl.c @@ -66,10 +66,12 @@ xfs_acl_from_disk( switch (acl_e->e_tag) { case ACL_USER: - acl_e->e_uid = xfs_uid_to_kuid(be32_to_cpu(ace->ae_id)); + acl_e->e_uid = make_kuid(&init_user_ns, + be32_to_cpu(ace->ae_id)); break; case ACL_GROUP: - acl_e->e_gid = xfs_gid_to_kgid(be32_to_cpu(ace->ae_id)); + acl_e->e_gid = make_kgid(&init_user_ns, + be32_to_cpu(ace->ae_id)); break; case ACL_USER_OBJ: case ACL_GROUP_OBJ: @@ -102,10 +104,12 @@ xfs_acl_to_disk(struct xfs_acl *aclp, const struct posix_acl *acl) ace->ae_tag = cpu_to_be32(acl_e->e_tag); switch (acl_e->e_tag) { case ACL_USER: - ace->ae_id = cpu_to_be32(xfs_kuid_to_uid(acl_e->e_uid)); + ace->ae_id = cpu_to_be32( + from_kuid(&init_user_ns, acl_e->e_uid)); break; case ACL_GROUP: - ace->ae_id = cpu_to_be32(xfs_kgid_to_gid(acl_e->e_gid)); + ace->ae_id = cpu_to_be32( + from_kgid(&init_user_ns, acl_e->e_gid)); break; default: ace->ae_id = cpu_to_be32(ACL_UNDEFINED_ID); diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c index 14f4d2ed87db..672286f1762f 100644 --- a/fs/xfs/xfs_dquot.c +++ b/fs/xfs/xfs_dquot.c @@ -859,9 +859,9 @@ xfs_qm_id_for_quotatype( { switch (type) { case XFS_DQ_USER: - return xfs_kuid_to_uid(VFS_I(ip)->i_uid); + return i_uid_read(VFS_I(ip)); case XFS_DQ_GROUP: - return xfs_kgid_to_gid(VFS_I(ip)->i_gid); + return i_gid_read(VFS_I(ip)); case XFS_DQ_PROJ: return ip->i_d.di_projid; } diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 91f9f7a539ae..9d673bb1f995 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -308,8 +308,8 @@ xfs_inode_to_log_dinode( to->di_version = from->di_version; to->di_format = from->di_format; - to->di_uid = xfs_kuid_to_uid(inode->i_uid); - to->di_gid = xfs_kgid_to_gid(inode->i_gid); + to->di_uid = i_uid_read(inode); + to->di_gid = i_gid_read(inode); to->di_projid_lo = from->di_projid & 0xffff; to->di_projid_hi = from->di_projid >> 16; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index a0ab1c382325..1c683a01e465 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -86,8 +86,8 @@ xfs_bulkstat_one_int( */ buf->bs_projectid = ip->i_d.di_projid; buf->bs_ino = ino; - buf->bs_uid = xfs_kuid_to_uid(inode->i_uid); - buf->bs_gid = xfs_kgid_to_gid(inode->i_gid); + buf->bs_uid = i_uid_read(inode); + buf->bs_gid = i_gid_read(inode); buf->bs_size = dic->di_size; buf->bs_nlink = inode->i_nlink; diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h index ca15105681ca..f4f52ac5628c 100644 --- a/fs/xfs/xfs_linux.h +++ b/fs/xfs/xfs_linux.h @@ -163,32 +163,6 @@ struct xstats { extern struct xstats xfsstats; -/* Kernel uid/gid conversion. These are used to convert to/from the on disk - * uid_t/gid_t types to the kuid_t/kgid_t types that the kernel uses internally. - * The conversion here is type only, the value will remain the same since we - * are converting to the init_user_ns. The uid is later mapped to a particular - * user namespace value when crossing the kernel/user boundary. - */ -static inline uint32_t xfs_kuid_to_uid(kuid_t uid) -{ - return from_kuid(&init_user_ns, uid); -} - -static inline kuid_t xfs_uid_to_kuid(uint32_t uid) -{ - return make_kuid(&init_user_ns, uid); -} - -static inline uint32_t xfs_kgid_to_gid(kgid_t gid) -{ - return from_kgid(&init_user_ns, gid); -} - -static inline kgid_t xfs_gid_to_kgid(uint32_t gid) -{ - return make_kgid(&init_user_ns, gid); -} - static inline dev_t xfs_to_linux_dev_t(xfs_dev_t dev) { return MKDEV(sysv_major(dev) & 0x1ff, sysv_minor(dev)); diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c index c036c55739d8..6b108a4de08f 100644 --- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c @@ -331,8 +331,7 @@ xfs_qm_dqattach_locked( ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); if (XFS_IS_UQUOTA_ON(mp) && !ip->i_udquot) { - error = xfs_qm_dqattach_one(ip, - xfs_kuid_to_uid(VFS_I(ip)->i_uid), + error = xfs_qm_dqattach_one(ip, i_uid_read(VFS_I(ip)), XFS_DQ_USER, doalloc, &ip->i_udquot); if (error) goto done; @@ -340,8 +339,7 @@ xfs_qm_dqattach_locked( } if (XFS_IS_GQUOTA_ON(mp) && !ip->i_gdquot) { - error = xfs_qm_dqattach_one(ip, - xfs_kgid_to_gid(VFS_I(ip)->i_gid), + error = xfs_qm_dqattach_one(ip, i_gid_read(VFS_I(ip)), XFS_DQ_GROUP, doalloc, &ip->i_gdquot); if (error) goto done; @@ -1642,6 +1640,7 @@ xfs_qm_vop_dqalloc( { struct xfs_mount *mp = ip->i_mount; struct inode *inode = VFS_I(ip); + struct user_namespace *user_ns = inode->i_sb->s_user_ns; struct xfs_dquot *uq = NULL; struct xfs_dquot *gq = NULL; struct xfs_dquot *pq = NULL; @@ -1681,7 +1680,7 @@ xfs_qm_vop_dqalloc( * holding ilock. */ xfs_iunlock(ip, lockflags); - error = xfs_qm_dqget(mp, xfs_kuid_to_uid(uid), + error = xfs_qm_dqget(mp, from_kuid(user_ns, uid), XFS_DQ_USER, true, &uq); if (error) { ASSERT(error != -ENOENT); @@ -1705,7 +1704,7 @@ xfs_qm_vop_dqalloc( if ((flags & XFS_QMOPT_GQUOTA) && XFS_IS_GQUOTA_ON(mp)) { if (!gid_eq(inode->i_gid, gid)) { xfs_iunlock(ip, lockflags); - error = xfs_qm_dqget(mp, xfs_kgid_to_gid(gid), + error = xfs_qm_dqget(mp, from_kgid(user_ns, gid), XFS_DQ_GROUP, true, &gq); if (error) { ASSERT(error != -ENOENT); @@ -1832,8 +1831,7 @@ xfs_qm_vop_chown_reserve( XFS_QMOPT_RES_RTBLKS : XFS_QMOPT_RES_REGBLKS; if (XFS_IS_UQUOTA_ON(mp) && udqp && - xfs_kuid_to_uid(VFS_I(ip)->i_uid) != - be32_to_cpu(udqp->q_core.d_id)) { + i_uid_read(VFS_I(ip)) != be32_to_cpu(udqp->q_core.d_id)) { udq_delblks = udqp; /* * If there are delayed allocation blocks, then we have to @@ -1846,8 +1844,7 @@ xfs_qm_vop_chown_reserve( } } if (XFS_IS_GQUOTA_ON(ip->i_mount) && gdqp && - xfs_kgid_to_gid(VFS_I(ip)->i_gid) != - be32_to_cpu(gdqp->q_core.d_id)) { + i_gid_read(VFS_I(ip)) != be32_to_cpu(gdqp->q_core.d_id)) { gdq_delblks = gdqp; if (delblks) { ASSERT(ip->i_gdquot); @@ -1944,16 +1941,14 @@ xfs_qm_vop_create_dqattach( if (udqp && XFS_IS_UQUOTA_ON(mp)) { ASSERT(ip->i_udquot == NULL); - ASSERT(xfs_kuid_to_uid(VFS_I(ip)->i_uid) == - be32_to_cpu(udqp->q_core.d_id)); + ASSERT(i_uid_read(VFS_I(ip)) == be32_to_cpu(udqp->q_core.d_id)); ip->i_udquot = xfs_qm_dqhold(udqp); xfs_trans_mod_dquot(tp, udqp, XFS_TRANS_DQ_ICOUNT, 1); } if (gdqp && XFS_IS_GQUOTA_ON(mp)) { ASSERT(ip->i_gdquot == NULL); - ASSERT(xfs_kgid_to_gid(VFS_I(ip)->i_gid) == - be32_to_cpu(gdqp->q_core.d_id)); + ASSERT(i_gid_read(VFS_I(ip)) == be32_to_cpu(gdqp->q_core.d_id)); ip->i_gdquot = xfs_qm_dqhold(gdqp); xfs_trans_mod_dquot(tp, gdqp, XFS_TRANS_DQ_ICOUNT, 1); From patchwork Tue Apr 11 03:35:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206982 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34606C7619A for ; Tue, 11 Apr 2023 03:36:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229888AbjDKDgU (ORCPT ); Mon, 10 Apr 2023 23:36:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229747AbjDKDgS (ORCPT ); Mon, 10 Apr 2023 23:36:18 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 61E7A172C for ; Mon, 10 Apr 2023 20:36:17 -0700 (PDT) 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 33AJcCrh030581; Tue, 11 Apr 2023 03:36:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=PKYW+PPQiWfNpO60834+JpIHyqyImqmCoRMRZVwuTq8=; b=J+axr97Sow83gDgpUOvN8zZkdbiWnOBpnViHmhrZSGouLAwux2a84jnx1lmRm0kMigOs 8XUOl4Npwi6FJYYagCXROfYD80/AvDoTN8io8cOwJUTEydqYzepldesogHC3aNnr/sfp XIr6UDBxGQu3Bf0npdBoKCUQ5cIrQDMpta96bQLLGogB6N5+CbALxtllUx3o3J0WmbGi fy8nEYEA4L72mrLlGwShb7o3cSKfgEaAQLaJISZs6D/0IoKA6Tx94G1UQI1iAJ0lvp5G yZUBD8VPQIT3HXwc6UF6U/KiR/Mc2fvvXZDJwIJfoxFN3fJmXAlI0c5ocLGO1y1N2FxI Pw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bvvam5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:13 +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 33B3Hrox001866; Tue, 11 Apr 2023 03:36:12 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwe699y2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SWctoUnV5U6fgg9l29baUuhQWWk9UvRiqyd5r7lBuiShlPVyBBtOIHr9F0t6SHERGs/B5GfWn5p8E3+vbBvVA5ELElU5eSWPW9UJWobeRTcxYbKOumoyPnTeT8omjWDbmNA2mVFfjOTKLQmYG6gTIe44sbMFu6rsgUH2IweGTSj8WDhJ3fmURGnldGbLvF4ZxwzuXH9ogYH1LMoK2hYj3COy+hkhm0tK/UqGx7hCS91tu/nGEOOZHKXAqxOTCTtfxEuCiq5JwLM3LGStJ2SIJItUxT7PLmo3lVl4LlzELURdacZH9vYiddbqoVT601Nz9QS/jCbJEQAMwYLJnHEquA== 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=PKYW+PPQiWfNpO60834+JpIHyqyImqmCoRMRZVwuTq8=; b=IiuAs/lBYwObCS+w/p8qB7R2X4t8wGK4PHFsd+31r/2PnBk16kf2LS3LGBaaJfABwBM0Fg7WsRdNasmiCqLpEQMVrHFXeKnNoYPeTvUjcPMsGadH3bKCexRzi86qE7kkJx24Lc+352NjEOhQkZR+njzwmiOKPMzFUInaIp/7BF1RUqByBqnb6iSWOzNSheJWqY35yKTS8i33JgxJKbYcxiVs9c22vOSNI0Gs5pok4xWvNSsfY8wpUqlXeYxL58jCF7eT8sm+ubKCKyxQnV69jdh2Y3a4MfyA/kV389sgtcx8O/I7OEt6c4EhrL3e1g/prQoVcH7Xu5M7rE10B9tNOw== 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=PKYW+PPQiWfNpO60834+JpIHyqyImqmCoRMRZVwuTq8=; b=DHHnh106jAc49B5FyhBXyaw4XY93fCa7jisXRshXITmJTSTaDmWclRiVgJ1WO9a/aKbjgxNXTSU/g+V5rRdbAsxKOQLF0bIWTYmzTDC86agxA4nhLKQ0BV2QGO3eFxT8AO/TMo8WVY96NeAWGzIJ+y87IFgYw0QJAyTXx8ANXzw= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:10 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:10 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 06/17] xfs: add a new xfs_sb_version_has_v3inode helper Date: Tue, 11 Apr 2023 09:05:03 +0530 Message-Id: <20230411033514.58024-7-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR01CA0002.apcprd01.prod.exchangelabs.com (2603:1096:4:191::21) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 54133c81-1f7d-48d9-c445-08db3a3de47b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GuxYxlG/27ZLvyjIOcOKm9RXiouWGrADrZOWiAQK0VVN22dkNoUqvQm8cUpNTwpTzkhcbdahnTbJ3+G6vvGoyTZsmERuji/Qq1EBnC6ZhqoNzjI9kPR3qi1ZvOxfSpzElnWE564+dhwDmmGqdPKrV/c8btqtqq2/tj7auVFw1OJYgVD8rb0bpNG1luHwpzHAxUFSlXmxDmGcxYz26jWgXL/kff4fA9YBmaPi7tnWdbpZZiIT4T+BTiDfCrhEitVc3NkmybLLN2mmUQTyJ73ZYP1dGUwVUxvBDrZULw7OpCLoW5uw9kcedEnzqDeE8FFV7/0bKeZIQJYCSEW2pMjhER8k8/CQyH+Pmm+kY77Q1bg7QDWIoFFuzyS3Cdz5k5S8BqK6Qrlhp4zMfqqoHZWaT1psbq0hDqnkJ+S0Y/5JzoN+7JgeTaIEa1N7FIeHAnsUh2sTCYHQLog+v0zEFFq3UTXWKKiZ+UMB0LLshhvTTOr1JsrGgEEO00v/6V6St3aIE9u6yMEUc37cHFPZdc0yl1dtj545RaZjTZlGpdzfHajtgLQTpuzrQSE17a1N8H0/ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005)(66899021);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5w1az+PWMyngWA+4Xy/EanKbxXy0Tg0ZQ3DMd/9Wn4Hs0lgQUBuTGu8fjzV8HFCzN4N3ogx1IUUcsn07ItI/Xj/5CB5cabGr2j2ba+ir95Q5jLvnOuBbd9mBIWZj10WAABnRUc3dtxvSpivOOUP+t68+OQe6DZ73R7sa6CCd2fRxMb0NG+6vOHXEdp++SOdkVdrMviXwkOu0y4AXvdZZjCuxDRI0viisomEK5puct5g2Tad7VGfOHi/OM9TnjHa3TQcAlWNKF+DJ5lx6Md2xMmLBGxcW5kmVM9b5IoJ7YarZTAZ3qw8+bwVIFQhRKScpEwb3XSreHiMcSlLxrle8YYBDPoXwgca0oldPeEEP6LoD4iTXZVEKUmTdoniwZWErIr83JbjNtc1MbDajNPW4LDgYXGo3A4WfVaxTNDKOESYxtyY+940NxJn71SnBSz/Baujch8XoUSpB1+Iy+czc+X8aQWX/+C/JeM31hTA8xdJgWh1mGA6LmJdtbtX9V4apMLgVORLUX7ewmaT+VvsS69R1nE5JwNBp/YLdy+P2Ih7zQfIa71H+CR2RyMiYi9y2wgIBqVhs/FNA+0nEIp3cVNym5/JHAGwCPemoongf+1Ax+2Q30Q5V0XZya05lsbdlanfehOzML74VwuLWDwBS7W0SvglJ4zwc/DZ9yYlpHIYcMD9BdRYM0mVGwJxvf4wU2kXHL1E1ExRit8PJ7Cetc0qMcGFMX7iwT7LNKR/rBtUYNa456NSSp4yzjMFlFXnXM3Wk87X8Ie4q7goS3NYxLDiG0d1tYvuYPevSOPnuuBiR8nP1tbPZYh6UInuz2iqd9SllDzPg9Vg0hGSEuB0UF+0tDZbxHVrwbYf2/gm7/rXji0c0FyDC0ut3HvYhcRoWKZV9VnbwnGdrBx5aKd8yJ9YlapzjqLVWuznSOn8oxqnSN8wg6mGWWHcYuMdZ8NH7jphv+eux2pBRjn8dJEBnsKO6915XOWhTLuc28liga2kmIcuPDwOBxI26kvytNcWwnfilf/fXARfwwwcCOWGqgw3ktDftneP3ETZZiZ8rh+RBlpgNLLPh9sIXsoHuMmtBR4URwiMXGHhL48CGbVP+IlIMa27q7FO9679JiKpelhHfHVatJ4mbOcIsdTascG4JyCprT1o/xXzr3p9U52KyEtRH5oIPC8CEeIljB6mQa+S9nb3jX7TDxga9rGvzZFnHYiU+U40ZQnmVs5ZxAnqjBwujJGIhXBih3XV0Zi7daWNHRDQsz5BE4mHHi7mUlOVJVbzrACdGNvqmCMU9LfVF/SJcfMNCXbZ5rzOGbKqNuCwSScC6xaOicmo8OHreR15VscyC6sRjAwqvphNMR/QXpRrBL/eF9pzRiv9sysuvkeE0NqzF8hFoRDDHNhrOhvEFZbfd99Fu33nrUBXWQAh3FKBGNK6Lwvnq1cqunoUVPfWNVe3fI1CgG2dwET+zXeKJmzu4wFj5/QvD7+NJxCsFLC+tp5wABJ0F02iqd3Gwkt3axIvFuRfEu44T81uW0FSh5z7qiJgWHl+fapLqxjP+V6uxdDpumGCRc++zQpuVPIl/kbuAaXXsDBBPm/0i226R X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: mOpDQPu1e8FTHMVYVFsu1TPKS845zkIyNS6vkh73P4GJczVKUFyeJlNBp3Wypsz4t/8fFQors9aI4Jy3zMmaRU3nNoBrAOct4wpPB+JnDe6xZnAbzJxr5oOShpA+DEM1ug3UWkXYBSHGxvJ6gDX1QwHyfK6jaT11oSBFgE6huDgjQCAZyon81fExZGTaXkEN8k+6n6EQdyQsvlXQFBaq/XchvnusaKUroxyj4yZh6N6gCpz8QAq26bR6u03sUGzjmPOlubPq7vcwZHOOlDFCEdCl5W9KK1p2hDHaRxD5to8gSsval3tkAieGydG/7ZSbYD55foS6UH/fHqPbJ+JRYbqjQCJQXOU6qlvzJ7imut+dV0kYjFQ9QpkvpDL0YGG5bP555WMR/Kyvzyr854CS/uLePndxYaHw0jXRbEIjw6Kpd+MMztzB49RsuJQNKvfqdgsEBXTb60lsvQ1ybCkchh4D7mbEL0N7M3fYh80yAcWiNOPdjCbQ6XyJYZYMrgDkbZ4ire49cRjoLdNbjqYNlOm502+knoOwl152XPFrCxZRQZk7AoiTY1UX4wuqwh5IlJM40dKWGs6lIjPTopGenhPxObNPQjJCTrQ3D/J0iKPUJJo9AWhe8TzLY+6kR2QBE/Zoy8Nf6X//v23O5bX8FEF7UJepFiiclRj8KuKtqFB8BaxEeIS6q5w5su1qWrPmo3ZKx7EhtXyq+PQcLkKFKJ5Ddh0iihoPzFlsdV1wELagDeNPtEBToUtDCqjDnGL6YVPIkqfOXTpd8scFjwlzRaWaN0cq4FeEJGkDqzhNGz/9yX5HEKJWDlo88pkxBvIi X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54133c81-1f7d-48d9-c445-08db3a3de47b X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:10.6499 (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: rpK9/p83dIjmCdCh9SJ+EMttibkk+Ik0BMpoiizSzgf3S6cnjG3H7KQVcMpiYPUy9sCyD4EzO4K6HSxkto+Ztw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: -8kr4XIC1TZZzB3YclygcLR29zeRK-US X-Proofpoint-ORIG-GUID: -8kr4XIC1TZZzB3YclygcLR29zeRK-US Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit b81b79f4eda2ea98ae5695c0b6eb384c8d90b74d upstream. Add a new wrapper to check if a file system supports the v3 inode format with a larger dinode core. Previously we used xfs_sb_version_hascrc for that, which is technically correct but a little confusing to read. Also move xfs_dinode_good_version next to xfs_sb_version_has_v3inode so that we have one place that documents the superblock version to inode version relationship. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Chandan Rajendra Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_format.h | 17 +++++++++++++++++ fs/xfs/libxfs/xfs_ialloc.c | 4 ++-- fs/xfs/libxfs/xfs_inode_buf.c | 17 +++-------------- fs/xfs/libxfs/xfs_inode_buf.h | 2 -- fs/xfs/libxfs/xfs_trans_resv.c | 2 +- fs/xfs/xfs_buf_item.c | 2 +- fs/xfs/xfs_log_recover.c | 2 +- 7 files changed, 25 insertions(+), 21 deletions(-) diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h index 1f24473121f0..c20c4dd6e1d3 100644 --- a/fs/xfs/libxfs/xfs_format.h +++ b/fs/xfs/libxfs/xfs_format.h @@ -497,6 +497,23 @@ static inline bool xfs_sb_version_hascrc(struct xfs_sb *sbp) return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5; } +/* + * v5 file systems support V3 inodes only, earlier file systems support + * v2 and v1 inodes. + */ +static inline bool xfs_sb_version_has_v3inode(struct xfs_sb *sbp) +{ + return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5; +} + +static inline bool xfs_dinode_good_version(struct xfs_sb *sbp, + uint8_t version) +{ + if (xfs_sb_version_has_v3inode(sbp)) + return version == 3; + return version == 1 || version == 2; +} + static inline bool xfs_sb_version_has_pquotino(struct xfs_sb *sbp) { return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5; diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c index c3e0c2f61be4..ddf92b14223a 100644 --- a/fs/xfs/libxfs/xfs_ialloc.c +++ b/fs/xfs/libxfs/xfs_ialloc.c @@ -303,7 +303,7 @@ xfs_ialloc_inode_init( * That means for v3 inode we log the entire buffer rather than just the * inode cores. */ - if (xfs_sb_version_hascrc(&mp->m_sb)) { + if (xfs_sb_version_has_v3inode(&mp->m_sb)) { version = 3; ino = XFS_AGINO_TO_INO(mp, agno, XFS_AGB_TO_AGINO(mp, agbno)); @@ -2818,7 +2818,7 @@ xfs_ialloc_setup_geometry( * cannot change the behavior. */ igeo->inode_cluster_size_raw = XFS_INODE_BIG_CLUSTER_SIZE; - if (xfs_sb_version_hascrc(&mp->m_sb)) { + if (xfs_sb_version_has_v3inode(&mp->m_sb)) { int new_size = igeo->inode_cluster_size_raw; new_size *= mp->m_sb.sb_inodesize / XFS_DINODE_MIN_SIZE; diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index 947c2aac66bd..c4fdb0c012aa 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -44,17 +44,6 @@ xfs_inobp_check( } #endif -bool -xfs_dinode_good_version( - struct xfs_mount *mp, - __u8 version) -{ - if (xfs_sb_version_hascrc(&mp->m_sb)) - return version == 3; - - return version == 1 || version == 2; -} - /* * If we are doing readahead on an inode buffer, we might be in log recovery * reading an inode allocation buffer that hasn't yet been replayed, and hence @@ -93,7 +82,7 @@ xfs_inode_buf_verify( dip = xfs_buf_offset(bp, (i << mp->m_sb.sb_inodelog)); unlinked_ino = be32_to_cpu(dip->di_next_unlinked); di_ok = xfs_verify_magic16(bp, dip->di_magic) && - xfs_dinode_good_version(mp, dip->di_version) && + xfs_dinode_good_version(&mp->m_sb, dip->di_version) && xfs_verify_agino_or_null(mp, agno, unlinked_ino); if (unlikely(XFS_TEST_ERROR(!di_ok, mp, XFS_ERRTAG_ITOBP_INOTOBP))) { @@ -454,7 +443,7 @@ xfs_dinode_verify( /* Verify v3 integrity information first */ if (dip->di_version >= 3) { - if (!xfs_sb_version_hascrc(&mp->m_sb)) + if (!xfs_sb_version_has_v3inode(&mp->m_sb)) return __this_address; if (!xfs_verify_cksum((char *)dip, mp->m_sb.sb_inodesize, XFS_DINODE_CRC_OFF)) @@ -629,7 +618,7 @@ xfs_iread( /* shortcut IO on inode allocation if possible */ if ((iget_flags & XFS_IGET_CREATE) && - xfs_sb_version_hascrc(&mp->m_sb) && + xfs_sb_version_has_v3inode(&mp->m_sb) && !(mp->m_flags & XFS_MOUNT_IKEEP)) { /* initialise the on-disk inode core */ memset(&ip->i_d, 0, sizeof(ip->i_d)); diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h index 0cb11fcc74b6..f1b73ecb1d82 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.h +++ b/fs/xfs/libxfs/xfs_inode_buf.h @@ -59,8 +59,6 @@ void xfs_inode_from_disk(struct xfs_inode *ip, struct xfs_dinode *from); void xfs_log_dinode_to_disk(struct xfs_log_dinode *from, struct xfs_dinode *to); -bool xfs_dinode_good_version(struct xfs_mount *mp, __u8 version); - #if defined(DEBUG) void xfs_inobp_check(struct xfs_mount *, struct xfs_buf *); #else diff --git a/fs/xfs/libxfs/xfs_trans_resv.c b/fs/xfs/libxfs/xfs_trans_resv.c index 824073a839ac..8ece346def97 100644 --- a/fs/xfs/libxfs/xfs_trans_resv.c +++ b/fs/xfs/libxfs/xfs_trans_resv.c @@ -187,7 +187,7 @@ xfs_calc_inode_chunk_res( XFS_FSB_TO_B(mp, 1)); if (alloc) { /* icreate tx uses ordered buffers */ - if (xfs_sb_version_hascrc(&mp->m_sb)) + if (xfs_sb_version_has_v3inode(&mp->m_sb)) return res; size = XFS_FSB_TO_B(mp, 1); } diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index b1452117e442..f98260ed6d51 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -328,7 +328,7 @@ xfs_buf_item_format( * occurs during recovery. */ if (bip->bli_flags & XFS_BLI_INODE_BUF) { - if (xfs_sb_version_hascrc(&lip->li_mountp->m_sb) || + if (xfs_sb_version_has_v3inode(&lip->li_mountp->m_sb) || !((bip->bli_flags & XFS_BLI_INODE_ALLOC_BUF) && xfs_log_item_in_current_chkpt(lip))) bip->__bli_format.blf_flags |= XFS_BLF_INODE_BUF; diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 6c60cdd10d33..598a8c00a082 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -3018,7 +3018,7 @@ xlog_recover_inode_pass2( * superblock flag to determine whether we need to look at di_flushiter * to skip replay when the on disk inode is newer than the log one */ - if (!xfs_sb_version_hascrc(&mp->m_sb) && + if (!xfs_sb_version_has_v3inode(&mp->m_sb) && ldip->di_flushiter < be16_to_cpu(dip->di_flushiter)) { /* * Deal with the wrap case, DI_MAX_FLUSH is less From patchwork Tue Apr 11 03:35:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206983 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5AFD6C7619A for ; Tue, 11 Apr 2023 03:36:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229747AbjDKDg2 (ORCPT ); Mon, 10 Apr 2023 23:36:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229536AbjDKDg1 (ORCPT ); Mon, 10 Apr 2023 23:36:27 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA5A51726 for ; Mon, 10 Apr 2023 20:36:25 -0700 (PDT) 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 33AKB3DQ030714; Tue, 11 Apr 2023 03:36:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=ikUkWDy2kfzSPKbwWZfxtHoI2L8ovJ6u52FLAJOyVgA=; b=HScrPSq/nZzDARJV+AJSasd2sQUQ/0W+JN15twISa5p3umofqsrA11MLoefUsV1nfuoG ny8vmHc8rnkErUyUz/8DBFjbzHoCAl8TgFJ9r6smnXVquPhUBvWTF96F0NiQISPl35l7 QRIuIKKNYIPjc1/iFRVUWISvHii6HNxdCH0pur0Ch4LiscWFKlV5pQen4GtRQbSM/0Pa 3jUkt41llvKxSh+3g0qTNJEOGSg80Lib1ZgvkS9fiFtP6FNR3bi6E/mIyQOKJGUIz17d D4dhSvaI6bQ24dr4rog0nnKUi2Qd3cjLjiUQOBs0dzzLGQ8xTAWWbd8ngxSSsz8TQjxH 1g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bvvamc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:22 +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 33B3FbES038633; Tue, 11 Apr 2023 03:36:21 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puwbm98nn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WdhXX4eHitwaCydoTbiTWpqWsaOV2gG3KdA5wcI4h/UDwFCkpDqeLOXYbQ+PwKzUMEzCxuASjrSCPkCpAVHK0AC5q7FVy3bF84+9P63buP5lCKkXNigb4ZnaYZGkmJ0cdE7dwyHjqP/1XEoef5+VyTTBtceF++Q0C87YMStW/8RLrk4D15WWlffFbaWm+mY+wJQWvOpWGCg690s3uydrHqwjutnnQQjVSnqSFwIcAB8rDDNaQKWx6ZZLPQNpxrJCTgS7PbCPn1I2F/GkrHgryPmOEhLLRfKal6SNwl9H89LBzOOdI2iF6r/DgA9aeYVyN42XzBF3WlbagAdP9Dljhg== 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=ikUkWDy2kfzSPKbwWZfxtHoI2L8ovJ6u52FLAJOyVgA=; b=d4QFi18r5Tirjmdzrz5SwoqD9xHB/qLQhgJfwL09IPHb0E3wWJXoHT7jgmSfILegXT5GI2USKRPzU8/e68/GWDsgRpsu8/WLcid6ZPeLz4O/baCXOKZ2RIi+RlKPp/tfP6ql3L6W6ANew4iqjuYYEKahbofXSI0zVZMp2PPMBFJ7LBPwZxOi23DFMMzRxuna+IYz3SkqY4eOyGF7S45fXIzWQmVQjdRcmS0BGw3YxCxVoE4+pkxZ8GKBV2K6dGGF2YhKuExYUSaFMKfjJEWSRrJCv0i4whDF02GoGAeBj3lA769E+wkme2S9bMP8ftBq3elXmDPPA0n0Jq4fOCNlMQ== 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=ikUkWDy2kfzSPKbwWZfxtHoI2L8ovJ6u52FLAJOyVgA=; b=fGQuaHrQ+F+aNlz+Is2V+RUtJQHsZEXfDofCZvz20Rtadxm6tZElTzrHG7/CrQB/L7N2Ps380GUaXPBuO3z7QLcmTYsIjuR11TdQPdyjo8Z8nhqviNR1LATRAr3X5trB1Kkf609WKv0gGEOOVKd4FSkMg59PhtqM0RKk1abH6qY= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:19 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:19 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 07/17] xfs: only check the superblock version for dinode size calculation Date: Tue, 11 Apr 2023 09:05:04 +0530 Message-Id: <20230411033514.58024-8-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI1PR02CA0007.apcprd02.prod.outlook.com (2603:1096:4:1f7::6) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: ca517c35-6f51-46d3-957a-08db3a3de9ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oJe0wKJ+Mvdag6+uSGtjwzDnT41LIjj0h3u+v6Anxk3X9ykLZctwCUgLWQZsjYiqQIodNmE0cuRwC5MmGTBNNyJyNoUOHFPu5adEaCMcZaZ1JXRL1O1B//Z2cXvryAlQvYN2phhP1p4Bk0CKpXkkeTZjYXCSQ2xMJ9gSI7ocom+ENl5ckoSr3xbNlQpwyKGyL0ZjQPe3KdAXd/El3uZ4KSLJCmApSQpjqRY3ykheVg4ylmXPupNOpTx9S+AbYpuHBY8i6nxq4BhULKbT08JLuLgG8XOzMI6m0Nv1Wjdnk5qbgC9RT0old5lH4FCPj+bIfdlu+vZBprA0jkbDi1qTG29Xr5viDlOowVbak6HaDQZFnA9u6XMQBeRGLN55h1mwxXlAqm4BGltVtu0Px7uGbW0PXi9JrP/aMf+pwtlHYjLh4CEwaJ4qe3aihX8DO/fMRD6tKbhPYf+uWAQIalCDuOSKUNPVpKLbfCT8A4JVaFEYxVZMYPtxSW0JN/SdYLvbSNuEpew//OnzsaHI5m+coxjSHED3Dfv4WL/hmj6qj4gViikN/1sICl0dqcMeKXGs X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ACDBFGfbHKtYHxmW9xkJxVc9OUrwofy8ACQ955UYrF/v8vBQbUDn4lNIgPangvr/kalClBtNcdP02+nZ8MnUNcCSY/wXEIk1twWEvmveJ2PVme+whwCTFkh/97818OSdPj/4BJ6ce2ZzuA+nySiKdQnDNE/g/w4OE4EYT3Wfd0Ja42pnNZ/WivETHu9h2XXqRx12m7W1SfA/dY2jHxRmoQjfJczAUvZnEpxxxQuEcZTEf6II30F2o2IrLZpDfcMAXv4AvhqD6WM/xEVoasmDZ0WXpmn8srgTN8ceNLGRytilkc9V2RlGYpZ7oYiO4KEZhz4O5bcpAysxfWuofJgB2joNZ4MSS6li7PwpjQZ7Oq7KbvF0v0duECZgwwMSBdokAr/O55DDXaPN63HU4eNLwBqVD3KCW/vZmm1HFtTR35cW114dmT4nrBwBdZmoeFthDzNnQrNN/jqBfpYYT5Y+nCi3yJW3GaaF1o0WQqIyF9brfAsPZugUDrDbMjxyi7kN9UfnFW8EBGErwGX9LJPQEQKtdP2I2r7tnUADDVkuWl/SCwwFeyGPL274ZdX6MBHukgBn3J2AhvbKBlzhduGX4rOYoNU1vMp+/IYDvblfHI4CZwB4c9XsffZim0WlWgthJ/MHlHfOb3o4jcJtkYUG3cUxXhDeASMikyFbljkFCVG2Dx8zSAeUGbfaEQMRBsbP5yZyO6unuCY9gRpX5zna3hoxIW3RMmVDq3iRWugSLiPn9yrpwvr6TpBVmxYQDfajgbu9q58LcD178a7uqUidrAv0O3L4Qaf5moI/8rOotUFD1STgqeqNiM5Bgc+UKPZp6JHupKvEyZvbg85VFpLVwuanBOqmZk4OL4uQ1mdroElXqIcGi57IMOJ5rl/PnDGgmeHMLb3vauqpn9Zp690UxZc2nBuWY4CRAjcZo9NEaptx3BXmeP8l26ERhhqxTG20x1eTVmcSXUPx3IUeJFqBX5ig8P58FZ1ywn+MHcvQUn1L3kFZDbahdVCSndS+5DJThYxPCF0hLfQHpThbODkwetJVhlS1LydckBL5FNI3qHBzk4zuQWyRTPi4DMQFe1ffKo+onppUaAiabGUwW90w1jQ5lrEpyIV7M4sfviAsPLVojC0+UkPTrvmvXxxyg3xo11Wsq8Sf9BJcVQHpv3+b02Rqh5KhBeMy8EQUJz7dxByd8oM4p2jOCKaxgLNJIUQLHmRTExB3XI+zjDReXTgQJI0FjrRzZpW9MdHKvJKNdNhWDJFSY5bowO1BsXgV1XICX/1c/uEwgmcAo4p7nF9eMJfOaKzcUEayvBe70R18sFr063Pm6TCxuu6JMPlOtKWJUVQzfyFPMCdm9K6/8RNvIYJTsYHytWu006xe8Wk6b2Sb+QSQjwRZFL4cWuMqi2ydfkWoepGhkrk12nic+UxpRcReVoGwPXtfHiyYg8UycoQmLQG4mM7Vbvd90Vv6gHgQnz0JB4XXFPIOdPMDOverJa1+jkmOFv+HAwMl3+meLry2HnFa+KDVsE4LerhkzcBXpVRUuo+DLku8byJ/TkBsXC781R6UvobgO3wJn9WGvUF+VIfD4zbFCxxeOpDmWGgp X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LKe6xy11jegbXMef8o+f7diY9Lc5NEg1QQBxRAxs1r3gi+G1XQimaGL0mQx0LLrSZ6MP6+voghV6Z9yqTAHP+fL7aOza4BTN1rAoiqj/SZ/qCdVtreL4RXVByj6bamL4JZ19ltZ911mpQz91AYZ6kKpl4LSrJ1pOEvG4Id+m3mItrPEnQA2mGC6eI72dTAoAh3BZDJ6auHTym5ASKF00tPldMm/OOFkIz9UgAiOlWT1MT0qZzZEDnIQ78H5ZUE9jhvhm9DItDlNxEPOUheUHqhFw2D2/uutCnzmh0o8ds9k/uaSXpRAkNfDV4bQjC3l8IeuOpRIsIk8OPIC9Ls82vUb01O4Jjoz424oxlFYpqDA7HUdR9QeqSDkVomGlcYAehqyftLWLmu2UT51A2edwpBYeh3UNitZczmIOpDsWmPpw88DSheZGgNhF1o0H+dQrvCcFYNZ70tF1pnSq2rI9skEyWBcma/nEGWL5ksJC4WaUEKs4nSgSseCgIeFxYjddbDwrN6lPM0MKkEoii5LDv1L+3pFKPk3W0KCK2J9+szao7fHBWINXE4lGz/7BVGPCckY22Faq1pIVS7vX27scR7KdrlY65cUP4fp+pEipOWRPgYOZxcqqMayLU4+OPOG02TpQZ6qpnpR9Z7o8bZzcLd4fhtSE6RUMN4DXHhbCzql+RY6i84diOppPyUv4kznbYU+rQQB+ApbRdbL1BZKJIn3Sha2R6aYpXCJW7saxzC78ZRbgFSBtDl7ff60BHnvZvGrukfb7HWd5atqTqZcOqN4pJv2ROssidZ3kQS4hlwY2CcAfODZPPawrn4cWXItL X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca517c35-6f51-46d3-957a-08db3a3de9ba X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:19.4559 (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: E7pdCk0sotm/4qzbOqQ/qYKB+ag0Nw+2/Avs3G922KZGLsNGgV43tDqgS87gmXXAlJS8/i/T6CEUoDZcDnfO6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: CgmTrfyBmkmkuP0gXxmmQPpSdQjqrpOG X-Proofpoint-ORIG-GUID: CgmTrfyBmkmkuP0gXxmmQPpSdQjqrpOG Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit e9e2eae89ddb658ea332295153fdca78c12c1e0d upstream. The size of the dinode structure is only dependent on the file system version, so instead of checking the individual inode version just use the newly added xfs_sb_version_has_large_dinode helper, and simplify various calling conventions. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Chandan Rajendra Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_attr_leaf.c | 5 ++--- fs/xfs/libxfs/xfs_bmap.c | 10 ++++------ fs/xfs/libxfs/xfs_format.h | 16 ++++++++-------- fs/xfs/libxfs/xfs_ialloc.c | 2 +- fs/xfs/libxfs/xfs_inode_buf.c | 2 +- fs/xfs/libxfs/xfs_inode_fork.c | 2 +- fs/xfs/libxfs/xfs_inode_fork.h | 9 ++------- fs/xfs/libxfs/xfs_log_format.h | 10 ++++------ fs/xfs/xfs_inode_item.c | 4 ++-- fs/xfs/xfs_log_recover.c | 2 +- fs/xfs/xfs_symlink.c | 2 +- 11 files changed, 27 insertions(+), 37 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c index 3d5e09f7e3a7..f5b16120c64d 100644 --- a/fs/xfs/libxfs/xfs_attr_leaf.c +++ b/fs/xfs/libxfs/xfs_attr_leaf.c @@ -456,7 +456,7 @@ xfs_attr_shortform_bytesfit( int offset; /* rounded down */ - offset = (XFS_LITINO(mp, dp->i_d.di_version) - bytes) >> 3; + offset = (XFS_LITINO(mp) - bytes) >> 3; if (dp->i_d.di_format == XFS_DINODE_FMT_DEV) { minforkoff = roundup(sizeof(xfs_dev_t), 8) >> 3; @@ -523,8 +523,7 @@ xfs_attr_shortform_bytesfit( minforkoff = roundup(minforkoff, 8) >> 3; /* attr fork btree root can have at least this many key/ptr pairs */ - maxforkoff = XFS_LITINO(mp, dp->i_d.di_version) - - XFS_BMDR_SPACE_CALC(MINABTPTRS); + maxforkoff = XFS_LITINO(mp) - XFS_BMDR_SPACE_CALC(MINABTPTRS); maxforkoff = maxforkoff >> 3; /* rounded down */ if (offset >= maxforkoff) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index d900e3e6c933..1e0fab62cd7d 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -192,14 +192,12 @@ xfs_default_attroffset( struct xfs_mount *mp = ip->i_mount; uint offset; - if (mp->m_sb.sb_inodesize == 256) { - offset = XFS_LITINO(mp, ip->i_d.di_version) - - XFS_BMDR_SPACE_CALC(MINABTPTRS); - } else { + if (mp->m_sb.sb_inodesize == 256) + offset = XFS_LITINO(mp) - XFS_BMDR_SPACE_CALC(MINABTPTRS); + else offset = XFS_BMDR_SPACE_CALC(6 * MINABTPTRS); - } - ASSERT(offset < XFS_LITINO(mp, ip->i_d.di_version)); + ASSERT(offset < XFS_LITINO(mp)); return offset; } diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h index c20c4dd6e1d3..31fa9ab2ab61 100644 --- a/fs/xfs/libxfs/xfs_format.h +++ b/fs/xfs/libxfs/xfs_format.h @@ -963,8 +963,12 @@ typedef enum xfs_dinode_fmt { /* * Inode size for given fs. */ -#define XFS_LITINO(mp, version) \ - ((int)(((mp)->m_sb.sb_inodesize) - xfs_dinode_size(version))) +#define XFS_DINODE_SIZE(sbp) \ + (xfs_sb_version_has_v3inode(sbp) ? \ + sizeof(struct xfs_dinode) : \ + offsetof(struct xfs_dinode, di_crc)) +#define XFS_LITINO(mp) \ + ((mp)->m_sb.sb_inodesize - XFS_DINODE_SIZE(&(mp)->m_sb)) /* * Inode data & attribute fork sizes, per inode. @@ -973,13 +977,9 @@ typedef enum xfs_dinode_fmt { #define XFS_DFORK_BOFF(dip) ((int)((dip)->di_forkoff << 3)) #define XFS_DFORK_DSIZE(dip,mp) \ - (XFS_DFORK_Q(dip) ? \ - XFS_DFORK_BOFF(dip) : \ - XFS_LITINO(mp, (dip)->di_version)) + (XFS_DFORK_Q(dip) ? XFS_DFORK_BOFF(dip) : XFS_LITINO(mp)) #define XFS_DFORK_ASIZE(dip,mp) \ - (XFS_DFORK_Q(dip) ? \ - XFS_LITINO(mp, (dip)->di_version) - XFS_DFORK_BOFF(dip) : \ - 0) + (XFS_DFORK_Q(dip) ? XFS_LITINO(mp) - XFS_DFORK_BOFF(dip) : 0) #define XFS_DFORK_SIZE(dip,mp,w) \ ((w) == XFS_DATA_FORK ? \ XFS_DFORK_DSIZE(dip, mp) : \ diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c index ddf92b14223a..391e441d43a0 100644 --- a/fs/xfs/libxfs/xfs_ialloc.c +++ b/fs/xfs/libxfs/xfs_ialloc.c @@ -339,7 +339,7 @@ xfs_ialloc_inode_init( xfs_buf_zero(fbuf, 0, BBTOB(fbuf->b_length)); for (i = 0; i < M_IGEO(mp)->inodes_per_cluster; i++) { int ioffset = i << mp->m_sb.sb_inodelog; - uint isize = xfs_dinode_size(version); + uint isize = XFS_DINODE_SIZE(&mp->m_sb); free = xfs_make_iptr(mp, fbuf, i); free->di_magic = cpu_to_be16(XFS_DINODE_MAGIC); diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index c4fdb0c012aa..3505691a17e2 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -417,7 +417,7 @@ xfs_dinode_verify_forkoff( case XFS_DINODE_FMT_LOCAL: /* fall through ... */ case XFS_DINODE_FMT_EXTENTS: /* fall through ... */ case XFS_DINODE_FMT_BTREE: - if (dip->di_forkoff >= (XFS_LITINO(mp, dip->di_version) >> 3)) + if (dip->di_forkoff >= (XFS_LITINO(mp) >> 3)) return __this_address; break; default: diff --git a/fs/xfs/libxfs/xfs_inode_fork.c b/fs/xfs/libxfs/xfs_inode_fork.c index 93357072b19d..e758d74b2b62 100644 --- a/fs/xfs/libxfs/xfs_inode_fork.c +++ b/fs/xfs/libxfs/xfs_inode_fork.c @@ -183,7 +183,7 @@ xfs_iformat_local( */ if (unlikely(size > XFS_DFORK_SIZE(dip, ip->i_mount, whichfork))) { xfs_warn(ip->i_mount, - "corrupt inode %Lu (bad size %d for local fork, size = %d).", + "corrupt inode %Lu (bad size %d for local fork, size = %zd).", (unsigned long long) ip->i_ino, size, XFS_DFORK_SIZE(dip, ip->i_mount, whichfork)); xfs_inode_verifier_error(ip, -EFSCORRUPTED, diff --git a/fs/xfs/libxfs/xfs_inode_fork.h b/fs/xfs/libxfs/xfs_inode_fork.h index 7b845c052fb4..a84a1557d11c 100644 --- a/fs/xfs/libxfs/xfs_inode_fork.h +++ b/fs/xfs/libxfs/xfs_inode_fork.h @@ -46,14 +46,9 @@ struct xfs_ifork { (ip)->i_afp : \ (ip)->i_cowfp)) #define XFS_IFORK_DSIZE(ip) \ - (XFS_IFORK_Q(ip) ? \ - XFS_IFORK_BOFF(ip) : \ - XFS_LITINO((ip)->i_mount, (ip)->i_d.di_version)) + (XFS_IFORK_Q(ip) ? XFS_IFORK_BOFF(ip) : XFS_LITINO((ip)->i_mount)) #define XFS_IFORK_ASIZE(ip) \ - (XFS_IFORK_Q(ip) ? \ - XFS_LITINO((ip)->i_mount, (ip)->i_d.di_version) - \ - XFS_IFORK_BOFF(ip) : \ - 0) + (XFS_IFORK_Q(ip) ? XFS_LITINO((ip)->i_mount) - XFS_IFORK_BOFF(ip) : 0) #define XFS_IFORK_SIZE(ip,w) \ ((w) == XFS_DATA_FORK ? \ XFS_IFORK_DSIZE(ip) : \ diff --git a/fs/xfs/libxfs/xfs_log_format.h b/fs/xfs/libxfs/xfs_log_format.h index e5f97c69b320..d3b255f42789 100644 --- a/fs/xfs/libxfs/xfs_log_format.h +++ b/fs/xfs/libxfs/xfs_log_format.h @@ -424,12 +424,10 @@ struct xfs_log_dinode { /* structure must be padded to 64 bit alignment */ }; -static inline uint xfs_log_dinode_size(int version) -{ - if (version == 3) - return sizeof(struct xfs_log_dinode); - return offsetof(struct xfs_log_dinode, di_next_unlinked); -} +#define xfs_log_dinode_size(mp) \ + (xfs_sb_version_has_v3inode(&(mp)->m_sb) ? \ + sizeof(struct xfs_log_dinode) : \ + offsetof(struct xfs_log_dinode, di_next_unlinked)) /* * Buffer Log Format defintions diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 9d673bb1f995..2f9954555597 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -125,7 +125,7 @@ xfs_inode_item_size( *nvecs += 2; *nbytes += sizeof(struct xfs_inode_log_format) + - xfs_log_dinode_size(ip->i_d.di_version); + xfs_log_dinode_size(ip->i_mount); xfs_inode_item_data_fork_size(iip, nvecs, nbytes); if (XFS_IFORK_Q(ip)) @@ -370,7 +370,7 @@ xfs_inode_item_format_core( dic = xlog_prepare_iovec(lv, vecp, XLOG_REG_TYPE_ICORE); xfs_inode_to_log_dinode(ip, dic, ip->i_itemp->ili_item.li_lsn); - xlog_finish_iovec(lv, *vecp, xfs_log_dinode_size(ip->i_d.di_version)); + xlog_finish_iovec(lv, *vecp, xfs_log_dinode_size(ip->i_mount)); } /* diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 598a8c00a082..884e0c6689bf 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -3089,7 +3089,7 @@ xlog_recover_inode_pass2( error = -EFSCORRUPTED; goto out_release; } - isize = xfs_log_dinode_size(ldip->di_version); + isize = xfs_log_dinode_size(mp); if (unlikely(item->ri_buf[1].i_len > isize)) { XFS_CORRUPTION_ERROR("xlog_recover_inode_pass2(7)", XFS_ERRLEVEL_LOW, mp, ldip, diff --git a/fs/xfs/xfs_symlink.c b/fs/xfs/xfs_symlink.c index 97336fb9119a..3312820700f3 100644 --- a/fs/xfs/xfs_symlink.c +++ b/fs/xfs/xfs_symlink.c @@ -201,7 +201,7 @@ xfs_symlink( * The symlink will fit into the inode data fork? * There can't be any attributes so we get the whole variable part. */ - if (pathlen <= XFS_LITINO(mp, dp->i_d.di_version)) + if (pathlen <= XFS_LITINO(mp)) fs_blocks = 0; else fs_blocks = xfs_symlink_blocks(mp, pathlen); From patchwork Tue Apr 11 03:35:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206984 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA03DC7619A for ; Tue, 11 Apr 2023 03:36:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229626AbjDKDgg (ORCPT ); Mon, 10 Apr 2023 23:36:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37548 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229536AbjDKDge (ORCPT ); Mon, 10 Apr 2023 23:36:34 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0CD18172B for ; Mon, 10 Apr 2023 20:36:34 -0700 (PDT) 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 33AK8U9W004259; Tue, 11 Apr 2023 03:36:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=+EuhXFy/D7CewhMcp4KqSMGmH29WmNfzXFiPHJhfelU=; b=RGYGAWBAlhckk+VXixmkxX4K4BcnBpE8tkbFIMHQ0eTJgdJfxp2oRVr0hIoeh5HUsilL 41ABa8gE2afz47GrZUjvTIa9Ha0lgUVp7+/Rvl1T3qgmklTejmKBgOPp5+xNQiMQ+fPq GO1EdsGtPT/dzm0FaQn+72zYlReHpeUfE95TYIiKG3/toPsfix2I+Psc38i8V5GNrXM9 qOQDgSdpgZOrMd0s/7+LrQJJj5qKfCGSKpoi2/8k7T9lz0cH1z01lpPkUL8vmJIKh8tr kEodEmKF9EqAlmzai0pcMBwQ0TLE4wBtAiXAzzFcOjxucTvl4VmY6GMNJF3uEh7MtzFA gA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0hc4a8c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:31 +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 33B3FbEW038633; Tue, 11 Apr 2023 03:36:30 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puwbm98sr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mAaq90oZmTyVZQPziEWOFFT+BFiDaMlaxSAV23VA/z8or0vdhaoIdppXjJDC5dhYOCeeWj0LupCXBkuJGB6bdXcdzDBPpTzZR3zV+Z5toi59Z8rrzL55Y2OoRPNbTmfnv2IEK+pQMmOV2rJqrGbQaVwAqNdmcwDHYvdq/gMRp4FhpdmLphMrh3oMwvwCmmtgSQPK+VQTglQv0HmonN8d4NiYPl/sAwt0zIbfLLKYXivr2ufrbhYxf2e2eW/KuFjmIDFSCm1wv2ruP5s9Ko2Hg/c9pKTbOfHn6+fKgQmcBVnketFwGy0VaVvWO2oi86cTYVbQwpCSHNkbJcWjFtUfHw== 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=+EuhXFy/D7CewhMcp4KqSMGmH29WmNfzXFiPHJhfelU=; b=MF+1Il0gcrum0u0MflGUtwcNLbajYHBX729LO1ze5Xp5qxnJ3x/9v3UokHVDwmUp9DNSPaS/R78zXvyPcSi+71JEvBFvAWYnTVJpCuWHOMpKuqfKyVNiCexj2grROo1wNnFyNsmF4ilAe7MHkFhC8OQHuGd6HMoTc2MI8tClRGmoG5ESpklrlvTC+5VXd5tyP+8l9dXe4FjUhkGlNGxKKOoFXWvQyrWzrY3I3FjaQsyoe3JKH7n0t6kq70wQi7PTz7DVSVzNs6uDsHGxPDmfh4qUkoSMSFHEEnIvmq2TfNySgMGxz019/vjJGTuJMsDg53a59B0aDbPGnSNKxAaDHg== 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=+EuhXFy/D7CewhMcp4KqSMGmH29WmNfzXFiPHJhfelU=; b=Zt8D3iu9nfZ/ISDPU5ASUJfW8f1o0RKRDf39S06A0wTOoy/qDxA8bji0M2pHrPJDxI5rCG9bSp6HXOsO6QrJKgNDm1aQDhZ5JWTh4Po/OUWz8YBdvn9Z9WNFrUMVjOqaA8GZa34PoJobVGpdw5SmkrPIGgAaN0lGetv6CxLlGLg= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:28 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:28 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 08/17] xfs: simplify di_flags2 inheritance in xfs_ialloc Date: Tue, 11 Apr 2023 09:05:05 +0530 Message-Id: <20230411033514.58024-9-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SG3P274CA0015.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::27) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 68e3e58d-827b-4107-3141-08db3a3deefd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9LQ3aYuPHrFSw72Z/4zUWFoEvpm3CeRTehvkSA0wi7vl5H3XZN9hj+QRrweQx6+QMohXtsPtwF0yJZ2rvxdF0S+6FupPjUbHgC2D5bu0l2ekk3NDZt5aVAZ1chURt54LyrwgOP2YmKKmgAt8r0JV4HN6zQJx3JIcGG6wC7J54k6QeYl3OR9shsxtnQ6OJSXi2triWt1wp7E6HNRhKhov1RhDhz7gAYpWoliUCHW7qFg9vxSVM7nA/TprVT/W1gjT5b/zUC/hWvjfrqyudA69mo8pLwg+d/XdUKeI4Je6z2NPVxlpvXSedmmtQEUZJ5vApCU8SppGrFrVeyOqXeMhJ+OOh2DzkY4Riyk3zr2yusVqWB5oazcDLj2sptSnCsZNEhU4ni8tpFmFjBiPfNAemZovyNZPUhwnQKRv8gMV3kt1ZpJaoSzRFyfk8G8sYI7cBXPchxLkeMXToShq6IZyY+693XblXqQrGshHSqS+U2g0GZmxNx16RxowZ1K1EjDSuCpA8C2Pzf2Ljcmqnl/gpL1p2Q/UMrD3p7tX1Kpn12fK/J1jnFh3C8s4VizXFf8NWn4oF9fX6YNu0FUl5u75cuf3aK0G8yrzeNC+NZ+k5wA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005)(218113003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pbq2CPUisUK8AQ1rSdFHOMj8NKg8I1Ky8iv37uVpCgXsbHSTFQ7mjfHKv3pg9pIEYuwzgZ0IH4UUo3Wka5XgD3sW+i9cs80OwcKfiKMDzCxd5Q575zNvwimeyu0K72N81TxNAZKmJctNyLnPZq/dnMgQCWt4vZZiqGTQouu/ytvSJAqFgRGpGIb1JL02BuhVESRbjSuxkT+IEjW3x+SmnxOwWzcWnhjEO6quqq6Jkil7qt1fUG3SZraqqWEqDK9zM9xKtOjK2A6u8tUU8n3kphJwgQ1VJhlpHEqPL2Kk+fX78OT+HdmS+HGPGtQ9+nsV33nszKSMHb0nPE8Yiefsow2knWC9bq2HWP9hYGfhiXbJCmTpekEsnFhTDEsVlvzQOYrq5aNmHPnsAXfqCdzXbReW4kI85D1vYYtVKVqKSaMMnEZVk7Afde6Zam7sfQjMvH42us9gK/MQxU7te4V956d9oJfGxY4052kYqPqXj/64E6FCzCHQM5C+G3N+CV+rE6BvwzrqAXWvT8pOi1eyAWknnEWFNccRgPESRhGEm9gt/QucEbR5d/u9EqSJllHQSUoEWlkS6zNeDI9siKDK3oGoSLy4wkPHPm5N3ri4uDbwb/n0sR9Yus7TlpSHaHW88bqwcp660AwVV8gMDgXVcN46Sq/gqcBISHs9w1JKy9eXBDFnKFg2NzwqF1bdY5cxIlJ6qGy6XBxlQjiNLyXVxy7O+SkQfrueKmJ3Wh14M96PUOq4kF7Vs2lV1u/RSYwF0BMFCxxz795OqeZyc0VI1BHu+jRyR4jdahi7DGt5ietKqngfG0cGyw6zciScpyUWqGjq0GKIb1GIMzSC2LOol3vkehcTKPIaJfgF5A6dODWdwum94B4i+IB36+CChzeN/+ygt0RCGB37onZPzpYrZ9gbip2Ligg1TyPHB4l5vcwpnuFbUA+qU6uM6vnD7uOYeKcFHmFviLCHR3gZQ5ZHRB5pjfRhsJ3y1g13/Hcb2E6PcUBE9wPeQ4Q+macYE9QynqxTM7hk56GBHmOLp267tLLZFqPfmSxlorVXYg2tXVTZkEqLmnE+Cl2/u0jRuAqyXkxS8+g+vJNUMX4m+X0lr514B6dmUxUg/DfA8WzjcXncEa9UbVv17TgVnhu4EhZLLsh2wYiCj6qAX7H/V3FoJzWHZsb1LCizCSlpOcw54kYm62VKdg5l+EaeN3XJ59wqzNiMNgJkhn+WP3zx7qUflTp+ZNqF9w6zPI4aXRdwxxfd2bI6Q8+X4KMvbJLYBAMzu+l2//yXgI8HPaB10ZDMI67yMjFEe+ghpy2A5xxGUv6U/AhAgNrKXKYDr3hXkU2bZS2UfDjljd/7BfaYuS+/o6jhvUe8gszKHIVZEyqbQQF4UvMW91eRcDortw72kciUodFc0kiZ5Toxzyk4XXe+wJZa6aEcycLDHt13bQvRv0Je10lCRrixv1P/oWiLPUaGc2G2TmYdgBMenm2xyh1P8ZQnnTvrO9RKahCuiwOrErrPLb0GW98WT0ZNs649OWOalalMegc/XwUjAzyZfg+LGo9LMx8crIUaRhzEzMNy0Wl8nFjEhcXlQwKb7GvdQuLs X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9+oOZX1I//3Ss7dusWEXMTM09sRL4Ol5Y/j0gIzlEuQnCovz71ifsUzPNvuC+gjtUDUZ1ns0nNMq0aqbZsbjldyNvD/yc3TUIUS3xY6FwEQ42T3reqWrQRr4OnHMqgUwNVESV7+biAkoHpRDXbZgRhjOfg0opYSSkLi8eRR2gJISXCHHoxMjwWqW4vHeRwx5bA8YHsXDAE4Ku2qZj/uUxJ+FjLRZU7TgU+LF6e+9S/8gMxr2yo7BcJER17iG2wfhwYPdKvLA4Q1dQcoHy4vpwxpy0XhVgAK4LGSB27ApZqDAOugEt/7ZjiXkylZ2I7eqbqumz/BfISzM/qLNBhrnng+YXHe/7qTSahEM096momrM3q8dTjRmPOL5n1iVYpMukk19WUy+Qv71Xv6usUEvdRzH+rCIsLiDmWhLiniclSGSi4y9iYmqmT05MDUX2YXkeh7BsI2uApZe0jpeD4QzyFjO66rZwrs+tQ+eWqnMJ3NBhzvG1Jf542JciZeGK2DmqaJQe6vvSfsW1CJurEnHpAnela1e803QKiK8zBrcaoA/X+gBt5ILqSm3sjRQr6xMBqPfLaPWyo7BrhO1q7JvQmikCUzdDK6TAWKgKMQEjA3Vk4R3EwF88MprIkC0VSu76dXvg7PV23Ucs6y4TYraZMa8tCgjyatw7nJ+eZyPP6QWvcQ/Dgzejh51jzazFT/yFWqAJD8Y7cQGIsjWIXtTvht2t0okxlnum7To20S3IXLf+Dpkf6D/gYw0KZDjh10n2tVwLa/9o/oBnNwqyaGhznf/cx26C/M2BBVwQRsDmdjt1CK5nuUj/DTkjKDa7Z1t X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68e3e58d-827b-4107-3141-08db3a3deefd X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:28.2694 (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: +rPefCzj9XrgfiXjU6d5pE6phpSnnpqys8eTTJRAHULzmUiTjYANOuHlP1D0RsY3tbIx7+sPbkYhlJDn9Ylwow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=877 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: sIWI6ePCyGvlG7lUTZQ8UL0vKV46LnzH X-Proofpoint-ORIG-GUID: sIWI6ePCyGvlG7lUTZQ8UL0vKV46LnzH Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit b3d1d37544d8c98be610df0ed66c884ff18748d5 upstream. di_flags2 is initialized to zero for v4 and earlier file systems. This means di_flags2 can only be non-zero for a v5 file systems, in which case both the parent and child inodes can store the field. Remove the extra di_version check, and also remove the rather pointless local di_flags2 variable while at it. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Chandan Rajendra Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/xfs_inode.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 9d6ad669adc5..cb44bdf1c22e 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -902,20 +902,13 @@ xfs_ialloc( ip->i_d.di_flags |= di_flags; } - if (pip && - (pip->i_d.di_flags2 & XFS_DIFLAG2_ANY) && - pip->i_d.di_version == 3 && - ip->i_d.di_version == 3) { - uint64_t di_flags2 = 0; - + if (pip && (pip->i_d.di_flags2 & XFS_DIFLAG2_ANY)) { if (pip->i_d.di_flags2 & XFS_DIFLAG2_COWEXTSIZE) { - di_flags2 |= XFS_DIFLAG2_COWEXTSIZE; + ip->i_d.di_flags2 |= XFS_DIFLAG2_COWEXTSIZE; ip->i_d.di_cowextsize = pip->i_d.di_cowextsize; } if (pip->i_d.di_flags2 & XFS_DIFLAG2_DAX) - di_flags2 |= XFS_DIFLAG2_DAX; - - ip->i_d.di_flags2 |= di_flags2; + ip->i_d.di_flags2 |= XFS_DIFLAG2_DAX; } /* FALLTHROUGH */ case S_IFLNK: From patchwork Tue Apr 11 03:35:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206985 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D91DCC7619A for ; Tue, 11 Apr 2023 03:36:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229837AbjDKDgp (ORCPT ); Mon, 10 Apr 2023 23:36:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229536AbjDKDgo (ORCPT ); Mon, 10 Apr 2023 23:36:44 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8DF75EB for ; Mon, 10 Apr 2023 20:36:42 -0700 (PDT) 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 33AJikC2001612; Tue, 11 Apr 2023 03:36:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=6DfL7kz/4wgXXfWg8K0W+ffz971oCAL2vXI0knJqu1c=; b=ISM4wK170MYxDAPtA1B4IjmAO8mL+U91WWSA3h7epFuNVOxBBDyEs/Up5sTUjSRXpUFQ 6ye8iAgm/xCA9FE33Ksz+VM98vlTd4bvJrW0pBxNJdefTWRi53VLgu/UhEgSvzQF5py3 EjzPqfSjjIqTh0i2iKRN8+dkxWG6WrGnKRcysnrSAO7Tuh1qQJG4tjpsilDKOzlES6Ox AUKaysj4QGPH06mJQTLk4dFIqVNC1qopORrVYESULzMxuYuX18grLgOL2VIkYwZzRcip J+RexeSMpdIg3QSYz+OTcJUe81Z0Q2XynWvnR51F9QmTQJjKi72yDr5kPzT/vlOyvKf5 Ng== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0eq4acd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36: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 33B2rO2x032546; Tue, 11 Apr 2023 03:36:38 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2176.outbound.protection.outlook.com [104.47.55.176]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puw909asp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nLUPN+kfm0TnoXgrshk1qfzOaYcAj+V/W9OmEI/VRdbYjWc7ElkimR3OUhgf4gAkkuuz/ytLriubIKvb4MIlQD4kIUSboK3WeRQv9ueqcj4LeC3F/zcwlFqRwE360496NRpHtinoM+Xa2CdEvfV6uruwiC4A8j/HuKyxCjUiSH6Es/7wc2FK0/6VWUC6CwP5J7L6qhCE+CpEsKdu+vM6spSLLKJYCyDs61WrhVdSuWyI05q/br0XTRLPPRvSLNudE/8xDXV0rTr4GColk5dRQiTATvQgzBd+ve7KhNCGuYmPv2MD2I10TRYqvJU+JD6iJLMCZQYV/cT48w97oAjpzw== 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=6DfL7kz/4wgXXfWg8K0W+ffz971oCAL2vXI0knJqu1c=; b=Zj3JtxLBVsGqNolPmjU2wPgTQ4cvyCiZfhdPwi81Zi+kre3KUIufuZ3LTDvEMM7YoLPJfyoFTY99pUYu/em7J5Y3lB/GVNSmcEgVZO9Kb6psHl6blHk9Ek62iRlt+0UG82JuiYhEV5S096XQNt9s1JrQnTSxn3Zc84FFu+0WgVDuvE0zLZifRVffprIy0sVtcOfbR7TH+GUCoYm0OABHKD07sUGOg2UyLPe1D6r0PQeBo8vJkF/38M++y86iBUZSz19H+/QV6vgFu3+5FnOZRZupfkEk2d5qSF5UYLVbf/3HLeRIMlsmrkxVqHY7wHCOCWPAfA7xDsjS0RcgKqo4fw== 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=6DfL7kz/4wgXXfWg8K0W+ffz971oCAL2vXI0knJqu1c=; b=dTkTiW7PbQz8h/kaj9aszBL41n72ktzlHov1xLZbPifeS25yUpSJijwn/hoVAvwY6LIuA42KLL2D+QN+e40cHIKgW+TkUhHx+EldksQ4zL+0PlLzBPzO2OL31FL05zL6r8Cmx7eNeSeFBhPwTobafMlqDijoRDKOYeoIRLqzPPE= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:35 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:35 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 09/17] xfs: simplify a check in xfs_ioctl_setattr_check_cowextsize Date: Tue, 11 Apr 2023 09:05:06 +0530 Message-Id: <20230411033514.58024-10-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR02CA0047.apcprd02.prod.outlook.com (2603:1096:4:196::14) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: e74ba995-0ac1-48df-30e0-08db3a3df37d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ezwf0tozChMA3bIiBvYKS6qLHXFmGd2+0nnt2lhUa/KOwKPOTARUQUZ8EVjQeqNMUn9fVII/An7moxg5Cplvrw//9/6O71u5I+zIHISOxH+G3+zPENGHnZtaLZWaIF3sPpmFbUdUtsSeaM0Yv8fCKJiVCKAT8ZHamf6LsMpqJ/BAoAvglEWqSpuRXsshyy9oEb6FgMdRU9BT3wd4ZUmjj7l3m0I45t9IBqXDCDwubecQ4+psscLQKRE0giAq/vdoX8Hw+X28hbs+tjZTnBLYm12l3drJM7dPOvj2bYRnag9IHfdsav8oQWuaomY0qU4xmw59HYRfZ2vLpJqerzCA/ogUZBGE8Va+Av+MxPS2MPwtw5VBWzsfmwMclEKz97ud7r3ouUciDX6I8oXWGr7SaTVP3GT6icqJpeLYsdhXawbhaLx156HwniI4eSar9ob5mYhK5RnbZ5lWeZ/AJVlTDvljzcAFpxjH/n7dhMW6D/2/7OijNY5FBGeaXRF3hoqTX/KKBpDTr9DoYP/OCY58cVbtezjYZzvlDExTEiO1j7hbifalM6pbrneGoNqzVHF6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8t5/bPZnxj5QscOM2QmQfmT7t/jyFwZJ8Cmtv1gGt48deckuWt14aEjvLxjbEIjFeLnwj82f4zYyO0duJp2k0crJPWG+Cn+10XDKRPoY8nSv3Ef0JSU4O/14Zkq3lRlaAawxXfDxARPCtRare4FRCepOv3l2N0EorxGFOoYXnA2PLlMuDtCgdsXpew99MByTyLbXhgpa5PRRlQSzxCGg4dR+msGCn1rZAmfykRKNp9eUzpNy6SDr6uPBXuOdkrOZIzqIdGYj7zL3ttDoq1CG/zuktw19RiBXIlAHkDUBaiVSry4NQWm4aNCoSj1xoz79YOkAwFi4CzMMnvCVZ+vGUosPxZty3nvW3vZ2MOTD+Nl3QhUuxsBpA87diT54CH67QONSsdphsthZPwLbBV0qLh4sx+Qn8ca587OBFfmOP08SGcvFTWAnC6VGwexGOGZNN32g4l2iUCXhFJhGlmwg/Hy8K3vGfXcgh1PF53nYSRSW3c5gNxo+TwkIkjCBCqBFzDIOZtUeXThAuDypEy0sOsYbi5eVUfuszOCY5vqR1EPzdiXkgNTEVJxVEzicvkcbx0k2pRqFgEi/8zejt8bAswn/F75yyG+YE9zKcFvMrvD/Mvhbu5VgzAvu0e3GEY/0mdHgHIZ+0Al3phgAH/9G5ue01c3pEa/BEwCdIkxIWb/vIc5YnSin900diVJG6Pq3emwCKPMkNsgJGOp4+Bcj40p6lj6w6fCK/VXwkN2lD2vom8Sj9vXjNvQbE8OqK8sWLWNa8hOq+VpHTLR27YyD7fWIE7zE4n9t5lm02OyQz1Kf7fSMFfBrVM+QAlOcHnVVDYtwjxlikhqN6dDlS659YGxzj3ej8rdcXZ9jWA4nYmYtiIOkAzCaQhRVNgUS3T/bN2TVWgCl/SrZ/uJ4z9pwFLLBjo2yixXPkHVeqEuDq89yfWG2vP8hBZ9sDnP+MT7TIhA1ctR//omowbfGSIQjMj4SV6xmECjqfnCNf+j6ndPAxz4ym7npqEuDrRIYIjNJTfyNxvMws8ueRTfXcx6XQXxyxIKA0JK2wqgg/AsHv0tYQw0a4KkIDxZSwdr0nQRWY/EWuJMe06+7Gp9UJfpOC0IYqmsVDRZn+901V9d2d7PnpUZmIkyEEff2EGzVmk5YVymRtbGXXKhUAqmvr/5cKs7PTd9o0pROqoNZ0ktKWHNj0x0DnXQPFOjb4YbqCyowdTm7hYExHhvI2gdCbWPbbzYafKnQcG6CGMomvFNd+ooymFwPqTsT877SweQmsFGD0TfP9EMY7J5pqPnivYfvE6QJvpEM/NWF3F60AO/OeYziN4+Tmh8F67FtgXYTT/0Cl/4UKse2zYwo3K44dGvl06ZMaF37LC00Uwwzt7NWtdyAzNNf4hMR58WWJy8uBhl0xV9WhCLGVLD5JO/vGWhsn4av74E5xl5PzLHcARdBoRQF1pqGrLnsKw0vhqfRzDFdJVD2V8+a9SptOzepLQr8lnraUplPk+j7Vn8Kf+Y18Ym9iyoufx+y1cuciVhiwdHzpNm0IxPwFP55FpmH7YF0v0TU+mtVl4QnhRuYamLrLvNamAos80aV8Z+S8IYOYyl4 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: F4PVONTwL4JwjSo5aCGXn3jXCjBpFdf39ZOeH2ACSu4sOgVmKAMnR7OboE6sUTIrPHhz6eAMcUyKtUxdC4P6CBPGC+YCkCLEx9tz3/pxwAoSOneA6DnxNS2j0Z5EKwkQT4WedZY1XfWO5sbOF0puOUg9xKZkhY8B7q9yOuhVnfC/CK46JUGy6GMfChBC8gvIVZknHW+xPn6YclKTG8kfUU6Vln4i+oqM6TmnTF3uuO7Qyql5VTZqZ9zUvng0+FbvYAEB7p9JIZEZf44Ev/Zmx998cH+CPQKpRYjJCyn8NojnqCTSw13eToHC9iVzWpqJUWaFnqDWQhdv7TQbJS/jREtTYsQJziKt82ALNG+BajYfdCVs5Pnt+4P2jb2ljWcqRcqs1iE7z+gOKNCWC8f2q7SSpX1RwBkW7TkONFUcHbwd/dLcFpdrHzY2tnQymInpRXE0EMvrPTJEb5PgirJsbjz5kLGdw/fhF7g1lRVxN2fTCiDvjhlM6zw1YbDTfRq698WZx2zsco4Y+cVdp80+AVmaXDMK7HkdKtXRXuDcko8B1NZ9IIRH7NP/0/uOdJb0t7ir20ReRIOJF+Up7vFZt6WOTEfH1EdnYOZgr5Fb84d4RkugN76/otkCWOLrRcMF8XH8a0b4T9wZHBYIVkZQP8hXTl2/MMOVf6y13tZzfROu440UFPAcSyRWm6vklNIFM0eOd/Qrx8HkmVJ5jjBP+/8pdfSzH6IU96PLOdIDu2YGzOj7dwEtdszIoilJrz2GB92kUmnRjxlDfgV/2YwrQHxTC8BAvcnyJthrxo7MjZNYl0yau5fMDAGNPgCtQaTq X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e74ba995-0ac1-48df-30e0-08db3a3df37d X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:35.6217 (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: QEd4wf1SYwjiRDZk7KdaFFb3Zo06P9RZv+14rI139W1uUwPncgIpxpZ2nmUxtrHToH0Cy7fGeawQZjHmi8XpAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: 2bf20t8gfAnvqIqMTsZDGOYaBGcHVCap X-Proofpoint-ORIG-GUID: 2bf20t8gfAnvqIqMTsZDGOYaBGcHVCap Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 5e28aafe708ba3e388f92a7148093319d3521c2f uptream. Only v5 file systems can have the reflink feature, and those will always use the large dinode format. Remove the extra check for the inode version. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Chandan Rajendra Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/xfs_ioctl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 6d3abb84451c..597190134aba 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1510,8 +1510,7 @@ xfs_ioctl_setattr_check_cowextsize( if (!(fa->fsx_xflags & FS_XFLAG_COWEXTSIZE)) return 0; - if (!xfs_sb_version_hasreflink(&ip->i_mount->m_sb) || - ip->i_d.di_version != 3) + if (!xfs_sb_version_hasreflink(&ip->i_mount->m_sb)) return -EINVAL; if (fa->fsx_cowextsize == 0) From patchwork Tue Apr 11 03:35:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206986 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A5F3C7619A for ; Tue, 11 Apr 2023 03:36:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229663AbjDKDgx (ORCPT ); Mon, 10 Apr 2023 23:36:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229536AbjDKDgv (ORCPT ); Mon, 10 Apr 2023 23:36:51 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5E25172B for ; Mon, 10 Apr 2023 20:36:50 -0700 (PDT) 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 33AJes5f001978; Tue, 11 Apr 2023 03:36:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=NoRaA7w2ijWQPdS07DPF50vtxbKfLkzVgDAYDzA1lkY=; b=l+hlAaXkZndC9pZflKdZAHyXWC0WmM2uKuZfVt2pqdpA2Y1AlpBaZy2lj0J2FkASpDTT 0aN3RJt7vrUMXpYkHsyg+L7yv7nc2gB6ZFm4GWrV6vUcPiEkCh/GVGFZyZqj02nm/NaQ y4kP8K3WTYmht21ks1SoYqgItE6NnAb301wUSjNCq1f2CS4YwpTWsjcQijTtTsJT1nrG rcuLG2jGGXyxi6y1CmSTcxqUtgh7mo7Dz16l4wBGWpJTQZZEI+gO67fB9kgTWf1gJApw wfliwAlDH2uqpGOkFP3WNh1TmSpS89uAJ5tnnJB5IQgP53VmbMFKMznMTBnnq1x+atcK JA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0hc4a8n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:47 +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 33B2uVDA001761; Tue, 11 Apr 2023 03:36:45 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwe69ack-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ASWCuo78xMJapzkCmtcCsvMsDbVg1CaShkCyzk35x8L8zC6ZzYbyHVZKDyRcQ47Jd/spFQ+UXdlfcqT3xlWXeI5wq9LHHb2J9UNc2n+c/v58DiOy0xbOJz02gPbH/iTbHLsSiWoYO3k4R0phzs0ej3s3PvOe45OgFKKsVPZt4iVFGoz4e7Q12o358TDBY7Tew/+cu839rtN9s9r6Ts1OghUc01nfSQa2T4/6VJsKgCzVClhiZ+WeGIncG1eaaggFYLmHsoJYJqedrMzJZMF5PbOsD8Ncw49ICRwBAuhzWzvbcq3GioG55kkSYLcOTJhpAzG5/J/L9nRmwncj5R0EwA== 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=NoRaA7w2ijWQPdS07DPF50vtxbKfLkzVgDAYDzA1lkY=; b=O/COgID3hY8S+hXZfH/oGngOlTxdjNL+G5QdHG6iMQSDy86BGw0GURzGhCrEbgXP3fumbltC/Tt3aFsapKAlvaxYrxQzu0iBt6wGj/0LuxDDb41gAyGZhCmwr6cbz08Vf1YBXPzolORAa2LPzZK77KA8/f0bJKl2A8g/G9ExOY/wiopyIM90kXUGPK+jJbtoWShcpF5AraPWIgniDmTJCNhTGw49Aj2IRpc354sAIelmlxodk/nsYJVmWaR0kbAhcE2AZLx0W4wTw/sJP0a9N3fxNM7MWRm39153WKhCwM1pwbw8LKW85IWQtAhlfwcv0zKkee68Md1WDq93lULU4A== 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=NoRaA7w2ijWQPdS07DPF50vtxbKfLkzVgDAYDzA1lkY=; b=LxzPPUswJB5AoUwpPJwSI65typGEqJekz6CEEpyLPb7xswMBtIai6yaQX1xCCSXMpS2/BJQgauY8WgMj1VCu57J8fHOCwsTDYH+2M2WXQ6+F78HKuawbmxUI0y7XaeWtt3MEnX/L5qMFVabk7Nz53H/41nkmA8+qBVIxUYTEiGc= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:43 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:43 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 10/17] xfs: remove the di_version field from struct icdinode Date: Tue, 11 Apr 2023 09:05:07 +0530 Message-Id: <20230411033514.58024-11-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR04CA0014.apcprd04.prod.outlook.com (2603:1096:4:197::18) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b8f7692-f1a8-4391-afb5-08db3a3df812 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hCoOHSZJlpgwUGvyM4HpYuojxpZoUCZnS7OWlfj38yv/mFCyX839c6V8FGKDYCZoFfSmK+oGifzi5IWQgdfiZQInkRdKgki02639bdK0tuI5iktuaIp1Gzv5mEZrZ2CEpEbJfqkAoWWV/MzXdgraqHwmhTmnefM9xuhQ2bDJbYeM5a4b+gTFhpjqzZRw4HQhoS+VxeRW+qhqdez58fBwqHu8nTgbxm3kFY9x+mUghWTDKLF69/vda8zHMJAFBYba9wyAMrcnL3M2ZcTWIpgx3fETLkJuWFGTuO9myQjxd5OzDpFJvoJ2kniAwR+fQD/onhuhFsv1lH4mFS11Z98ruhWdhJWJc6vqOYekcPVzIKTbxySX3QxA9S6RgOFOeiXdRWwMKmadgQQEhKL8V+TU2eZYogicxRdJEKjv/6j+RKl3yepDw4G2I2CkLmfUccCx31+n+jHbISNQhhgOpi48clvx02SxGwbrJS4lw6MpyktP8fB9u2ir9qK4tcM3P50eaY2WAa51fs3fc2VsnDB4qoUrPuoFgcJe4zU2Q6X8W/wgWNvyTBvdRiJiugNLFj9x X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(30864003)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005)(66899021);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oEZTkfyFMljWtR2XzeZqzqYn6vd4kbrdO6eDjUDXDi/Pwa1bDqOWImiYLF4S49yHcWHqqU25mMFre85DWYc//KqJn2lAOBbvYutmlB+ZMZy4cu6bOIU9JEPodKP/NgbwbtyG3NUlMM6VrCDB7j3iBgjRD/C0NhM79FETKq9F01tUEJO6PL4AdWDuFGSnoNb6QNPOtl85VucDEDCEBztjxDN1KZwSbYT4Tzjo1nRRzijgPd+LoiU0P78TfoN/q08crJgFtIGcDoIA2qmcXSoZWm1makQpH3BWc44Ft/hy+hf7HEb3BUAiOnzMqgdN83O7/kKKCLk+leC2EqJ2AaYlMKpA0gd/CxG5Xv+beuUrfPz5aDAtZD5GvuAS1Pfui8cOJRYdUAcWN2ItaWVb5JJMUVATMPm5RqYe4q3aZJMIGq2rYK8Mz1F3dMWmojTeQi0JrWyoMwTyFXVVdv7nRNspYwXWNwlDq6vB2HKHXzXVI4mCOWvi9nqJ5A6SBDLRPX0GVIDDCtarCnIkY1EJwiy+r7ypmnjJ4pGzI1S8vP69iEiKyLD2MPzoChUfSNpU8HVkFdfYiFxKqxjhGXQSg+wRL33E1sl8zBj3g77WQRUP5DEAvg/Ycc1dpYl9TLMCsfNDoNqHTKRRfj0ea5QpmS9cF84AHpnxgF5sXojNJFYk4a0wRlLOpXyWxORGVuofdBdG3dd1UTNamp3hf1R0PKDYA7CIqXknm0w9m0yh2iaasCdr/QcsI4jtGbUg+5APzpQ6uZ+5hvitu5y8l4wzu9Ywc0txaWdoL2TRuGp1MhB+MUyEaL0jB6gb6azyJ2ub+83hkZPUGoS37Idke3gvqUbbMsZywatr/dkNbHXqSq3KIl/grvNS8CGpppCWmbKVRnH+qwU9mfru+KR6+D1ICCm0/aD9OQSN1bZKZc07dKOGiqqKw/PywGosRVcmdUO50+0bAXtpzoayy5anto4DXvIR4pxwqUuWpFZQrncJVFnLtmZlT8vxWcQfm5isRhdfRdqNL0yhMqpYwNefknLdiTtQi6sK+BE0ftUdz2YUGrQp637fHpHpRYDQPFJqB3bz2BhgO3JVZSUSPC0pwCc3m8BRbghg1qpEcXMhlHMHAwVU2sqm0m7KZYLNYpfMdAtU1r30If1mpn6r+/a3ftYjAhYtKlBx/qszhbaDqiulT9aL9LaGj3iDqTlTW9Ewt6IVoj33TPo6M+Wehtq/a2LBLIhbstjMaWN3w3UmZGy555k3wQ+Pk+UceGgzjGvc0ZnVmL+JkaywdJzCE8bfAeBnieK4eGJjxaoHkjBNk3eB3Y6Wb7SWUFOuH3/gqpYCEyuYvv7NB6lZ7hS0e2ywOB6Fffs2Hz6tgRDKSFxpRjFdW5sW2532uQKLvD3STjKw9SyQL2uGBMgymH1jdy3XW+CQjXLEFDgRTGJ53UHnE7oMtiH/VyV0vsD6YxCaTmMsiTak1wMmlthSg60KarSNkUWunwTOEjj+AL/JC3+Jc48Wic04tGWuxCGI/VPUyVF+isCcoSAQB6b/ilHEASfyXPS439bkpow54P9/jq9RYwPg7R6b0ddsjqdInX///GqlotpXG0LNAIR7QgXJQmX+6PSKjekA7w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: FMMUIekJr1clDZ3jTJs7AuvbIyS/xJ3HapXIrZesQs9lIvvhqYZL9tUIQC98j2KYgjJfN5MtS5Z7ec/yP5iUNfpG+M3qnt6zjHJGcJitomssrCx0oHjO2ef3bIJOVeO3ildjS4jJpEJpGX55WBLpDogeJDvqFMkASKg+9xCZ7om96cXR2NEAcLRBwnIwnEjuD4xoOwXmxhz09vnvKSxN2ZaIoR55uaGwXFP14YbFAEBfBdTHFuxG44FvumMdQ/lrKY4FtI6H+IFbTONENJpVYlld9Oz8i2C32/nDzT3SacE1SD11cncnpTri575rszXhfwjH0Dbj8EA1ltISw2BEaPgvViawIdOKknmFIK3C1pINa5DnQ39lHubgvytkYkKaes8acOpVik/o2bFK5m72+T09f/fc7g6r1nbslGi5dLt4N+awYtsGM95gRWMvYJErn3YmS2bTccCJME2xGTQ/UFbdyPho1nFCuMxfowoe7nVvxyLLEDunSkcOJkvcTBYfQ6Opr/v0E/pQxM6yTp+nhjigczuu2v9uKl6T+2i8MbRIz+JzGtKGhcDkiecJEpbTy0XnAHAXUPadtS6RTyed/tW4K8oxhw4vzx128tL/qeJc4B/tHYNBgkTgnAxbPqUdwVqcKGBOwx3OXpGLcdZfEf48EPA4jotYHCyejMlmckKKhDC81vx8Z7oVc3OYY8WDhpfNpBEoL+wSIFQCAW68V3VY8i3RLBHS4q1dXg4MppR7z8t30W8r4hKpy8jpPyDgVTP6N4pI8oXO6iokg1jfS0l2xb2oPRaCMApESJX8TXiZ34jqhivavaGwGCA7tLDq X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b8f7692-f1a8-4391-afb5-08db3a3df812 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:43.5177 (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: L2NEqwGXtY8Ti374KYUfwgVJDZ8+GCd26KFHE6cZul/91VbfH5thJoeE00/pC308h1GD1vp7Jf2N6I0kK/NS3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: 6ggIIYPb6TWdHQFm4k96zzdEJ7BC4W-N X-Proofpoint-ORIG-GUID: 6ggIIYPb6TWdHQFm4k96zzdEJ7BC4W-N Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 6471e9c5e7a109a952be8e3e80b8d9e262af239d upstream. We know the version is 3 if on a v5 file system. For earlier file systems formats we always upgrade the remaining v1 inodes to v2 and thus only use v2 inodes. Use the xfs_sb_version_has_large_dinode helper to check if we deal with small or large dinodes, and thus remove the need for the di_version field in struct icdinode. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Chandan Rajendra Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_inode_buf.c | 16 ++++++---------- fs/xfs/libxfs/xfs_inode_buf.h | 1 - fs/xfs/xfs_bmap_util.c | 16 ++++++++-------- fs/xfs/xfs_inode.c | 16 ++-------------- fs/xfs/xfs_inode_item.c | 8 +++----- fs/xfs/xfs_ioctl.c | 5 ++--- fs/xfs/xfs_iops.c | 2 +- fs/xfs/xfs_itable.c | 2 +- fs/xfs/xfs_log_recover.c | 2 +- 9 files changed, 24 insertions(+), 44 deletions(-) diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index 3505691a17e2..962e95dcdbff 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -194,16 +194,14 @@ xfs_inode_from_disk( struct xfs_icdinode *to = &ip->i_d; struct inode *inode = VFS_I(ip); - /* * Convert v1 inodes immediately to v2 inode format as this is the * minimum inode version format we support in the rest of the code. + * They will also be unconditionally written back to disk as v2 inodes. */ - to->di_version = from->di_version; - if (to->di_version == 1) { + if (unlikely(from->di_version == 1)) { set_nlink(inode, be16_to_cpu(from->di_onlink)); to->di_projid = 0; - to->di_version = 2; } else { set_nlink(inode, be32_to_cpu(from->di_nlink)); to->di_projid = (prid_t)be16_to_cpu(from->di_projid_hi) << 16 | @@ -241,7 +239,7 @@ xfs_inode_from_disk( to->di_dmstate = be16_to_cpu(from->di_dmstate); to->di_flags = be16_to_cpu(from->di_flags); - if (to->di_version == 3) { + if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { inode_set_iversion_queried(inode, be64_to_cpu(from->di_changecount)); to->di_crtime.t_sec = be32_to_cpu(from->di_crtime.t_sec); @@ -263,7 +261,6 @@ xfs_inode_to_disk( to->di_magic = cpu_to_be16(XFS_DINODE_MAGIC); to->di_onlink = 0; - to->di_version = from->di_version; to->di_format = from->di_format; to->di_uid = cpu_to_be32(i_uid_read(inode)); to->di_gid = cpu_to_be32(i_gid_read(inode)); @@ -292,7 +289,8 @@ xfs_inode_to_disk( to->di_dmstate = cpu_to_be16(from->di_dmstate); to->di_flags = cpu_to_be16(from->di_flags); - if (from->di_version == 3) { + if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { + to->di_version = 3; to->di_changecount = cpu_to_be64(inode_peek_iversion(inode)); to->di_crtime.t_sec = cpu_to_be32(from->di_crtime.t_sec); to->di_crtime.t_nsec = cpu_to_be32(from->di_crtime.t_nsec); @@ -304,6 +302,7 @@ xfs_inode_to_disk( uuid_copy(&to->di_uuid, &ip->i_mount->m_sb.sb_meta_uuid); to->di_flushiter = 0; } else { + to->di_version = 2; to->di_flushiter = cpu_to_be16(from->di_flushiter); } } @@ -623,7 +622,6 @@ xfs_iread( /* initialise the on-disk inode core */ memset(&ip->i_d, 0, sizeof(ip->i_d)); VFS_I(ip)->i_generation = prandom_u32(); - ip->i_d.di_version = 3; return 0; } @@ -665,7 +663,6 @@ xfs_iread( * Partial initialisation of the in-core inode. Just the bits * that xfs_ialloc won't overwrite or relies on being correct. */ - ip->i_d.di_version = dip->di_version; VFS_I(ip)->i_generation = be32_to_cpu(dip->di_gen); ip->i_d.di_flushiter = be16_to_cpu(dip->di_flushiter); @@ -679,7 +676,6 @@ xfs_iread( VFS_I(ip)->i_mode = 0; } - ASSERT(ip->i_d.di_version >= 2); ip->i_delayed_blks = 0; /* diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h index f1b73ecb1d82..80b574579a21 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.h +++ b/fs/xfs/libxfs/xfs_inode_buf.h @@ -16,7 +16,6 @@ struct xfs_dinode; * format specific structures at the appropriate time. */ struct xfs_icdinode { - int8_t di_version; /* inode version */ int8_t di_format; /* format of di_c data */ uint16_t di_flushiter; /* incremented on flush */ uint32_t di_projid; /* owner's project id */ diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 5eab15dde4e6..2462dabb5ab8 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1624,12 +1624,12 @@ xfs_swap_extent_forks( * event of a crash. Set the owner change log flags now and leave the * bmbt scan as the last step. */ - if (ip->i_d.di_version == 3 && - ip->i_d.di_format == XFS_DINODE_FMT_BTREE) - (*target_log_flags) |= XFS_ILOG_DOWNER; - if (tip->i_d.di_version == 3 && - tip->i_d.di_format == XFS_DINODE_FMT_BTREE) - (*src_log_flags) |= XFS_ILOG_DOWNER; + if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { + if (ip->i_d.di_format == XFS_DINODE_FMT_BTREE) + (*target_log_flags) |= XFS_ILOG_DOWNER; + if (tip->i_d.di_format == XFS_DINODE_FMT_BTREE) + (*src_log_flags) |= XFS_ILOG_DOWNER; + } /* * Swap the data forks of the inodes @@ -1664,7 +1664,7 @@ xfs_swap_extent_forks( (*src_log_flags) |= XFS_ILOG_DEXT; break; case XFS_DINODE_FMT_BTREE: - ASSERT(ip->i_d.di_version < 3 || + ASSERT(!xfs_sb_version_has_v3inode(&ip->i_mount->m_sb) || (*src_log_flags & XFS_ILOG_DOWNER)); (*src_log_flags) |= XFS_ILOG_DBROOT; break; @@ -1676,7 +1676,7 @@ xfs_swap_extent_forks( break; case XFS_DINODE_FMT_BTREE: (*target_log_flags) |= XFS_ILOG_DBROOT; - ASSERT(tip->i_d.di_version < 3 || + ASSERT(!xfs_sb_version_has_v3inode(&ip->i_mount->m_sb) || (*target_log_flags & XFS_ILOG_DOWNER)); break; } diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index cb44bdf1c22e..6bc565c186ca 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -795,15 +795,6 @@ xfs_ialloc( return error; ASSERT(ip != NULL); inode = VFS_I(ip); - - /* - * We always convert v1 inodes to v2 now - we only support filesystems - * with >= v2 inode capability, so there is no reason for ever leaving - * an inode in v1 format. - */ - if (ip->i_d.di_version == 1) - ip->i_d.di_version = 2; - inode->i_mode = mode; set_nlink(inode, nlink); inode->i_uid = current_fsuid(); @@ -841,7 +832,7 @@ xfs_ialloc( ip->i_d.di_dmstate = 0; ip->i_d.di_flags = 0; - if (ip->i_d.di_version == 3) { + if (xfs_sb_version_has_v3inode(&mp->m_sb)) { inode_set_iversion(inode, 1); ip->i_d.di_flags2 = 0; ip->i_d.di_cowextsize = 0; @@ -849,7 +840,6 @@ xfs_ialloc( ip->i_d.di_crtime.t_nsec = (int32_t)tv.tv_nsec; } - flags = XFS_ILOG_CORE; switch (mode & S_IFMT) { case S_IFIFO: @@ -1110,7 +1100,6 @@ xfs_bumplink( { xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG); - ASSERT(ip->i_d.di_version > 1); inc_nlink(VFS_I(ip)); xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); } @@ -3822,7 +3811,6 @@ xfs_iflush_int( ASSERT(ip->i_d.di_format != XFS_DINODE_FMT_BTREE || ip->i_d.di_nextents > XFS_IFORK_MAXEXT(ip, XFS_DATA_FORK)); ASSERT(iip != NULL && iip->ili_fields != 0); - ASSERT(ip->i_d.di_version > 1); /* set *dip = inode's place in the buffer */ dip = xfs_buf_offset(bp, ip->i_imap.im_boffset); @@ -3883,7 +3871,7 @@ xfs_iflush_int( * backwards compatibility with old kernels that predate logging all * inode changes. */ - if (ip->i_d.di_version < 3) + if (!xfs_sb_version_has_v3inode(&mp->m_sb)) ip->i_d.di_flushiter++; /* Check the inline fork data before we write out. */ diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 2f9954555597..83bf96b6cf5d 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -305,8 +305,6 @@ xfs_inode_to_log_dinode( struct inode *inode = VFS_I(ip); to->di_magic = XFS_DINODE_MAGIC; - - to->di_version = from->di_version; to->di_format = from->di_format; to->di_uid = i_uid_read(inode); to->di_gid = i_gid_read(inode); @@ -339,7 +337,8 @@ xfs_inode_to_log_dinode( /* log a dummy value to ensure log structure is fully initialised */ to->di_next_unlinked = NULLAGINO; - if (from->di_version == 3) { + if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { + to->di_version = 3; to->di_changecount = inode_peek_iversion(inode); to->di_crtime.t_sec = from->di_crtime.t_sec; to->di_crtime.t_nsec = from->di_crtime.t_nsec; @@ -351,6 +350,7 @@ xfs_inode_to_log_dinode( uuid_copy(&to->di_uuid, &ip->i_mount->m_sb.sb_meta_uuid); to->di_flushiter = 0; } else { + to->di_version = 2; to->di_flushiter = from->di_flushiter; } } @@ -395,8 +395,6 @@ xfs_inode_item_format( struct xfs_log_iovec *vecp = NULL; struct xfs_inode_log_format *ilf; - ASSERT(ip->i_d.di_version > 1); - ilf = xlog_prepare_iovec(lv, &vecp, XLOG_REG_TYPE_IFORMAT); ilf->ilf_type = XFS_LI_INODE; ilf->ilf_ino = ip->i_ino; diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 597190134aba..e7356e527260 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1299,7 +1299,7 @@ xfs_ioctl_setattr_xflags( /* diflags2 only valid for v3 inodes. */ di_flags2 = xfs_flags2diflags2(ip, fa->fsx_xflags); - if (di_flags2 && ip->i_d.di_version < 3) + if (di_flags2 && !xfs_sb_version_has_v3inode(&mp->m_sb)) return -EINVAL; ip->i_d.di_flags = xfs_flags2diflags(ip, fa->fsx_xflags); @@ -1638,7 +1638,6 @@ xfs_ioctl_setattr( olddquot = xfs_qm_vop_chown(tp, ip, &ip->i_pdquot, pdqp); } - ASSERT(ip->i_d.di_version > 1); ip->i_d.di_projid = fa->fsx_projid; } @@ -1651,7 +1650,7 @@ xfs_ioctl_setattr( ip->i_d.di_extsize = fa->fsx_extsize >> mp->m_sb.sb_blocklog; else ip->i_d.di_extsize = 0; - if (ip->i_d.di_version == 3 && + if (xfs_sb_version_has_v3inode(&mp->m_sb) && (ip->i_d.di_flags2 & XFS_DIFLAG2_COWEXTSIZE)) ip->i_d.di_cowextsize = fa->fsx_cowextsize >> mp->m_sb.sb_blocklog; diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 757f6f898e85..a7efc8896e5e 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -517,7 +517,7 @@ xfs_vn_getattr( stat->blocks = XFS_FSB_TO_BB(mp, ip->i_d.di_nblocks + ip->i_delayed_blks); - if (ip->i_d.di_version == 3) { + if (xfs_sb_version_has_v3inode(&mp->m_sb)) { if (request_mask & STATX_BTIME) { stat->result_mask |= STATX_BTIME; stat->btime.tv_sec = ip->i_d.di_crtime.t_sec; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 1c683a01e465..42e93779374c 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -110,7 +110,7 @@ xfs_bulkstat_one_int( buf->bs_forkoff = XFS_IFORK_BOFF(ip); buf->bs_version = XFS_BULKSTAT_VERSION_V5; - if (dic->di_version == 3) { + if (xfs_sb_version_has_v3inode(&mp->m_sb)) { if (dic->di_flags2 & XFS_DIFLAG2_COWEXTSIZE) buf->bs_cowextsize_blks = dic->di_cowextsize; } diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 884e0c6689bf..84f6c8628db5 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -2879,8 +2879,8 @@ xfs_recover_inode_owner_change( return -ENOMEM; /* instantiate the inode */ + ASSERT(dip->di_version >= 3); xfs_inode_from_disk(ip, dip); - ASSERT(ip->i_d.di_version >= 3); error = xfs_iformat_fork(ip, dip); if (error) From patchwork Tue Apr 11 03:35:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206987 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D32EDC7619A for ; Tue, 11 Apr 2023 03:37:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229536AbjDKDg7 (ORCPT ); Mon, 10 Apr 2023 23:36:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37710 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDKDg5 (ORCPT ); Mon, 10 Apr 2023 23:36:57 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 94C16EB for ; Mon, 10 Apr 2023 20:36:56 -0700 (PDT) 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 33AJZsMq026479; Tue, 11 Apr 2023 03:36:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=P7pXKonUTI/eWlsTECWfw125oqs6oD1m4/cjyKm5NJA=; b=WdFHsDOjI6RLDpfkPwK7WWNjsNXQAv1SxeElZTpQOv14iBSEHC38k342h3SEHes4V1df m9uBIeNxrWmiC22MSJFOPc29VMqT/PatuYPbBrmfMZ47UY26ov4Bi623UbmgNk3/rvim io9Pf0bmmchLBaSR/vXw8RmgF18OXlz3u926nM2dTywVc2K+ocifs/hkZZxTxw/UtINj 3d6sTs2wy89U15SyphEStSNbp+g8KBqd4gVFoWq/X23Ydc+W94kFzhIllVRRiQk5oddG qAlT5HIRKIrWZHZvEbmuGl2MGB0PZ0emkTKRCFpmtN4uJ4J5/LTLN9OGvaDK2M62LU5q 6Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bvvan2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:53 +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 33B0kYei001780; Tue, 11 Apr 2023 03:36:52 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2173.outbound.protection.outlook.com [104.47.55.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwe69afw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SrJgd7DzhmX0UHvwdfyBhNtKJPsjNXd4qzQYAdY9VY1u7pBRfo1LMO+nfjHZlRttw3W3Ezj+7rWUW0rxj0oUjbnsbPw6XtktXZljn7vRHHnhEVoaAfiFXemOE5/bW5IuLSA8PlByJi/u8/gRnThgpRil4iQenb5dOx07S57Z1Y5vz7+uqVlCjUeZqZBs+xwgtwOwDZVUFCByk3ud2ezLufwRe3Ev3O77TS0L9TZbsIg3bC6gp+JZT1Sjzfcj8cX1GvGS2NvYIvhqZl4808d6sWMXSebVet1U2vTFgOlkXr/0r05BoskNlLc78H+bFqlv3trlG/2RNb7X/43dFZm5qQ== 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=P7pXKonUTI/eWlsTECWfw125oqs6oD1m4/cjyKm5NJA=; b=hVxGVBeOThKv26JsEZtyZXduoooqKO2dL50xKp8hGCwpdKMSOeeLbz+9tijhPJv+vIiUyvG1Ch2yq+M0JOuSzP1pP5XRoZVtqmlhEI2wz2Q9RfJFPJVESyFfYYJVw4ELIsJbp8g9lRFOSK5CQkQ/qKBXUFEqTA/jrEfnZSylsu/Qf7nVpZvNFgbMMTPXt5MjOZnazz5/W/QfgYzXI+pIZxYdveaVXR/y0vxNrtHzUKhV6iQXI4+FqokdswHRJRN6ZTwHF/i+JZA31crL7zBD6FPkoKG6+sut6uokAzD1T0LRE71qzisE/GYEWDQZ0oVi778raThah+6G2G57jVu4zQ== 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=P7pXKonUTI/eWlsTECWfw125oqs6oD1m4/cjyKm5NJA=; b=xxjwQqcPbcjnv4oQwuQrGeOiF/xPuD5PHB6VzH1she/UCFGL1I7MdaFOJiFr5yw+H7Ce1P2NENZwu1TYtVVO/xOwlrCPHK0IWlO70EOtt6BOWAFim3SuAeBW7+cSUydjeg3KRsr9LPVO/LLtrikyBdJDRAD5jA0cdRgjtajd5MY= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:50 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:50 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 11/17] xfs: fix up non-directory creation in SGID directories Date: Tue, 11 Apr 2023 09:05:08 +0530 Message-Id: <20230411033514.58024-12-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: TY1PR01CA0196.jpnprd01.prod.outlook.com (2603:1096:403::26) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 1437ca68-5c16-4bee-7b2c-08db3a3dfc3c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F7ZWzi0IzJn82i/+uPCE4yg0GotLd3ii0KfE0IMUxS61Al9R/9Cu2KJvBKV05mDRxveXES4l0zDxfEdU5tq5xwsFJAUYL4pFro3Lm+vdncYQjHHmAwen2n1RW0/KKnGYyjezXxLPj5mLv2XmKpvl2s7MlZ4LuFzeeS2BUnpNaTZ4aTzyz1j+aOoDtW7aWSwtJe6nDQdQ99R07jTKCJ+NH7oiTzTWQwJI2js8k0uE8uNA0gHROcO0NqTguWDxzqcB+XATKehPzLspwGoUVax/0nG+vnpJbTSPaf7DiLxUrIJLfk4JoVdG/qopyAl9Z7YJOd9qIFPa2HE/NEfGFGzZxyBmo73yA0/lQK354UToSdP4w5zVz7IS43LORemekbMwNCBYKv/JKeOIvXGWbuudxLzrjcGFwhJjhNVeNOoVR8/cIy0SFSn/J49as+8aabeL8NfGILG2Y1jA3DguF5F6Xqi2YIBATQcC4mA3z02iHiBW0CeB0KJvGlqA1FbtTdOjEF4Th5TKvDKNMr/hivoNMAJCW3tSwaDKg+IE5QWFHJG9XFnX1zDZYt1T9kkfyFUO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Nd9Y5r2pRhdNfrV5uxdQwSVqhrigTyrUKZKpfPgNrIeFxpKOM+TdkZTjR3p2yDt2LqDaAl+6f9trRNS5grI+KqUAWYcT/+NTI8VUr8FC5GRSuYKA5mexBrY20W72klUOxbZU5NHQumyHNIijVFAuAGDd+qPmJf/Zkig4q9TW8KttnkXigCzf+dcNNSvgFsdg/K0+WfmCsx4J4sbp6dMYRB6xdKPjCBOpQ18vc/zhRHgZNnL13uolvkWMsqsIYyQdbWcX6ZdZbLWhyZpcEEilNWC1S/nznOPcFJY6KDR9J7aPDmtM7Z8PS/Q36nYrqK3OBRnFR9g/FdxmvLZHG+7Zk3pdlUNeUrHoWKHfB43djHqClAx9FW7q1PQ9TNq4GzR+FbCTKe6OQqRgBBwJgC/1ShNMXJs3E/3wEKcFGc6x8vBE4H0sFv10Z9D4G5NJl2tai87YWYZ8ZhPiTFLBapJ36MuTOP89O190i1gCfXtVDGD7Es5t4Xk73pwhv8iopNd6phafFvMf1zi8LAt6scyPtpZ/GPzJsWgRb0QVJOGhdzvPkp+bZWwpe/wCNYndnCJFjMVmzaZrZhpxrn/czlobIBqc1KXaOYmMacHF9nc4Z9wAz0P6ymRYO5qLpdSIRI6C76oFswFcs3GiYhGZk7uy8HDGrv91q2ee7gFXHhVWiqUNIqvB8x2wRP0HYHEdseJqQlDj9VC0UfMRDoNKPnpZHo5Kq6rzbTwXj/z0Hs1nYbluXj+JbyrZkmiwMWPTNB5QznA+kF/kH7bm7BRDKgthcEMiM2sDzx5uUMHuQ3BwrI0vhtthLMcZOM7zYiUrBPkUcV6oT/KQwJsZAFu+mqEoQa3+lA4QUiuFBnZPycFV5G4uurFJAxi8GJ4f4+oFUIOzwJk2bphbZuedgxxcx1Yi68xkr6nI7Ev7u7oeAx1m+GfqbK4lSIOtGp79yLm5gt31/dG9XVYyA7vXbOFAuiyGz6Ndy8fMVcwbEPUV0SsYRwJ9qSGn/bBNthwayfp+0JShp70ugKnpxanlHPJqSMZBT47P0s4qlqk2QIbsnw8omP933TwXVitKe/dxyh+ssv5d5GYHL2aRMxu5Y1FCQTcFXxetnJx2B067yysnbp9Se+B0XTyD6VgJzHKA1QtXWJr0iMcDJRJSdBvy2a9nX1TcLx2QK52Da/vG0XgcbL8rHoKGFOjGdr4Mpi1Zreo7ZioVrQfCGBAGTK1QndHXLO578F5ww1xjUisupMxsC3dhlalkPXLdO1Oyb0LN86ZpqMTMC8Z+vd3QV/O2XedHnq+hvfTtMVqNB+1b0gRGZo4SjDWbFVKltes+Gt0HreMK/S/BDVq4c0lxGaGsAMPRp8pN7l0/7a4WdWIofhuWTkf0usj+S03DEMwJljNo0/hd7ml5AZeW9Fj71zlp327ks7MuAPpAajXYRp3cRrYE0DDFkQIm2V8iQh6bRBVRvkpLHTnYbYLpQL8EOEU9lUCAWGIE6Q1+dxc75B2p+TUtGN3b3dqg3+7OfVVrp1cDfmQty2eNZfLe1WGPYwEQICgYfmbqCoF4gmDNryHOVwG2vhenw8L+5RujowLjSfoo9mreqrcXESPi+q/fBMgL/sqa/SeRmw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /Q01TLwza6hSpRc2PtuNtNVtpZXh8GEn0yv0zIlLqTKrjZCTn6tGxEZTKw/GTJn5sLNIegOIZsi4jMLceBSZRJRVafrKkjMPYpNNBEnx2jz5+7RZibmZy4H0Z+LARjFMGa7Dwdmp87b8WE4d4mGu4oSNa5VfKtw/49SYWseoC7u3NxUkPe3Wn7YXQGG+95C+spzifUvQgYMDO5l/B3ECAEWAfiUdT7AONXjq/DGf/+vr/lPZnm9jYvwPVAGJXF/3cZuVmW5DGuwxzcJktWN8VKStwqa3SEAkHkT3UK6u0K5uQJ4HMmIfZfE2RClZbOGBpYxdUG/aHuVb7Qd/27NM7iUitEAWuXhDkT+vq2n7rMVGTg1HbKd26SEzb3kAVgVIjCt8iZnD46EQQ+wbSjQp2TkdFtg9mQNl5t5vi0Npm+AW/swhOZKeyGUNMD+7k+6IgYPI32/yYb+EABUJ/yU+JKlrMc6g9cVJmNWMhr6MNI2pno0HZXP025SMIZ/c7TrE6e0Ie1jUfHjp+DhgASycccsfe+r8lclWiNCLftdzN4Lz8cB9nXj7Y4oFDupOOk1rZfOYKFFRSxuO0B+BPNEJdexP/YvHcqXQcMoWPFEdSgg8ZRiGON27wkOQt5iJ1pkjeTIdvwemzwOhZjA4dKC+DzphIgxRRuOf8MCPlv4+cU2Y92A/fLT+GvbiA1q7M03+6C8ZWR+EloDRZPn6VpYrdLMP2VVn1NadBBOIAmeQQ8BG9GnFX++GFQZipqXxrFpU3OjMDMUSc7EpU3SWHl1aqunwSFDnBkQZD8AIujdxCHbv+RjLxIuFNenVcfrG8k4f X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1437ca68-5c16-4bee-7b2c-08db3a3dfc3c X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:50.4363 (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: h8RnbmzR5zxX1CanQvDlB/yRmj+k0D8nQuK4udq/CurKGBEGqTr5HkGCi58EsPvk58FMde3OYeUc1yq5U+TGUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=901 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: kucQfyRbjaPqIOxw-ZdpfgfomN6fnoXt X-Proofpoint-ORIG-GUID: kucQfyRbjaPqIOxw-ZdpfgfomN6fnoXt Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 01ea173e103edd5ec41acec65b9261b87e123fc2 upstream. XFS always inherits the SGID bit if it is set on the parent inode, while the generic inode_init_owner does not do this in a few cases where it can create a possible security problem, see commit 0fa3ecd87848 ("Fix up non-directory creation in SGID directories") for details. Switch XFS to use the generic helper for the normal path to fix this, just keeping the simple field inheritance open coded for the case of the non-sgid case with the bsdgrpid mount option. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reported-by: Christian Brauner Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Amir Goldstein Acked-by: Darrick J. Wong Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/xfs_inode.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 6bc565c186ca..568a9332efd2 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -750,6 +750,7 @@ xfs_ialloc( xfs_buf_t **ialloc_context, xfs_inode_t **ipp) { + struct inode *dir = pip ? VFS_I(pip) : NULL; struct xfs_mount *mp = tp->t_mountp; xfs_ino_t ino; xfs_inode_t *ip; @@ -795,18 +796,17 @@ xfs_ialloc( return error; ASSERT(ip != NULL); inode = VFS_I(ip); - inode->i_mode = mode; set_nlink(inode, nlink); - inode->i_uid = current_fsuid(); inode->i_rdev = rdev; ip->i_d.di_projid = prid; - if (pip && XFS_INHERIT_GID(pip)) { - inode->i_gid = VFS_I(pip)->i_gid; - if ((VFS_I(pip)->i_mode & S_ISGID) && S_ISDIR(mode)) - inode->i_mode |= S_ISGID; + if (dir && !(dir->i_mode & S_ISGID) && + (mp->m_flags & XFS_MOUNT_GRPID)) { + inode->i_uid = current_fsuid(); + inode->i_gid = dir->i_gid; + inode->i_mode = mode; } else { - inode->i_gid = current_fsgid(); + inode_init_owner(inode, dir, mode); } /* From patchwork Tue Apr 11 03:35:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206988 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE240C76196 for ; Tue, 11 Apr 2023 03:37:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229840AbjDKDhF (ORCPT ); Mon, 10 Apr 2023 23:37:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDKDhE (ORCPT ); Mon, 10 Apr 2023 23:37:04 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DA641726 for ; Mon, 10 Apr 2023 20:37:04 -0700 (PDT) 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 33AJdxKf003211; Tue, 11 Apr 2023 03:37:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=kT9jFpBDgx79C+XR2tBh5CA2fEYRrG5oiKmnSY4V0wg=; b=n9xSxeGuMhkAqHf+XB5jlNJ3/EKNYk91AD0JBI+CVHiR+jnAtNAvIKIQRkMMtcbEY52t RMlGrff5CgLW7r9jxhLVDaJcAHOMN5bN2L4KFcVCyiDbUWMa9sRTonQQgdGn0A6NXI0r qft4f3Skv6hYFg++7PYe+TDNxwWnfc6Leu5uaE/1kD62KdSKshfEWxdHlo9ZQ0Q1FRDy xS67cx/5aC8ZHAJbKXrLsdF/iEv+HFST5AQp24N/JgyZK0dFsm0SvmyV+aZ+YjEwRteu s2CykxVqDIRXGXxSlCOWKB/np2QkcEXYxvP1swLN1Gnb79hw1vQ8jpVqI/CWBSt5DJPx MQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0hc4a91-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:01 +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 33B38SxL001834; Tue, 11 Apr 2023 03:36:59 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwe69akb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:36:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LZkDFgUn86zST95iuAKn5gmJRaYQyVLTsg9bYKoRVQ1vp6IuDmowhbOTrMC79o6iREQWmDu0hjzYMwVNvTbmL1W9Um+fospSD5i11SOAzS0em6NQDY+eAYt6T+/88pGn6Zg5HuPVdhpiYq4p1QdzBTO3PeDP+Kl3cE1OvMyGeFS2THV6YwYto8P5DgX4zO4gV6419k0qGF8+18idmQaJ2206JsKj29Ul6dFpLz+7zhiDuN+n4e1kAYzEEdNONZon59CZi10BT2TYKEiah4ZuVKNOC0iPR0WQIELOv8jFD0n+46sLC89xq+PWXu/8CUm5U9lzNPPaQBaJBxTwsuZ6Aw== 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=kT9jFpBDgx79C+XR2tBh5CA2fEYRrG5oiKmnSY4V0wg=; b=mPkTpLy1uq6qw5vyUd4oITW2v2dPrJpmLa7172nMg6imuLBG/mi5swAAgOSF4viubi7htIqLdNVuNbe3DbDVcRma/OH5DddsGz7m6N2ZVlI6ugvDOwAmz6Mdd6cIKF9AQLVnj4yYrMbzooCpySCBBUUhE1kz5/xMbYGPgd96NzZaDlLCJ22K5PA//5xQf0yuK4YIvTH0KdorRnpwAtPNgSf1o/wMbQpWDaRrLu2W/ytg49YoALSmjI2IhyX5MTVe8nEN+p2Xe1ndtwKZh4ksgv1g8fIHbjI7S18gnj4kuzUFSmw3iIU/IWFm9afMopJs4PqpM/95HeFJ81P4ydM1QQ== 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=kT9jFpBDgx79C+XR2tBh5CA2fEYRrG5oiKmnSY4V0wg=; b=HndYK/Ov11LaYq7A+lRhkhrLqgFNDEzUFJ2VjscIOaCX1ihlrhIsnzaqENMzvdko9K5aAtWnUn0oF7AmUzs6dJ8sKjzsoAKaciUEL4Nij9aoBYKLrycwHwPRbYcfh4jSmyavUDl/By/9J+gBRyo/RtHCXG/MJpagtS3+7Lnza4M= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:36:58 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:36:58 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 12/17] xfs: set inode size after creating symlink Date: Tue, 11 Apr 2023 09:05:09 +0530 Message-Id: <20230411033514.58024-13-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI1PR02CA0017.apcprd02.prod.outlook.com (2603:1096:4:1f4::10) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ebf8c3d-a93e-41bd-815b-08db3a3e00cf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bHyNbd4no2HvTQQ923p7q0S8SjBtFSTikVD5DmKGLfUQMPyvLc8PJf1ZhIO8wA7l2K+9lShbJAX0uKkZqrHE5p/zKMMUGH3pxgqT+TZQDEK4fnQBAPmeWnZcUb4qXMWgZWmXrnpt58chzQipjrEEvN73N1xGejGZmCQftJz2nzGUn8POuikvE1IYCMEqo92iuFkefXViaT525smoJDPmcPZc/PUb8lHCAM3wI3UB/R6jObCFEhvoXet3ZkSsBntkwRBecXkTmTxfJFYm5L73VPlkLgu8r+n7m6z8b3e8rlf+jrKjCNlodyAVC3vdJNU0ZLBdezlCb7IuBxElW0ZpdYfHN9mBuPR6ThCk8i3jrq2Pqi22YZ1WlUZFh3PY8BoqLv5MfnOHP2VRQbJACPtLEPyFq1cj2duKAdy8cuW7RFSfFola1FqdEhcC/26EY7FvfcGKC93v8ZOS56HV7rucKJhkM2sjWv+3Suig8OfBvD0TMqgbyMLlfX+ta/CC4tSkXpxCQwETkMH/6gPyfwQinu0IBHWLVLVHzlSzyGwOyViNPSwC8q4VQTSYsXXe3zqi X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +r6dtj3RtWauu0LGu5ppCkuxuUlEy/tUDrVh1Ze4BLwPz9P/TQcpgFFr5T9fcjpCon56wa31RDT+xTmaLMBTNBiXspaDgSBDISUyWYXYrKa4F56zbxoS62QuLw+vecv6WGOvtpiX1IV/CIXVuMBnYpPa8IUgAWxzWXX0Zx5EUdfqxSyjA0fMzohQnMVlVpirLBI62m/v5P7RYANw0jzr8O6Z0FWvDd4XhIoUDjAtqyaTc8W+6dJYKmF7hjxUSFeBzuIBJX3VRX9H/ysXssHD0qDjrX0CID4R/NsNG0/DBCWI3yDXd67k5VltuXYgI8hV6DCl8rKoDCrqmnDwLOOYWy9t2LdwXh8scTgWnK4f0f5aeQMYWtO9Hj0il8EW3rc1nLfTq2REKXjb2Tl+y7Zws7tXlnhh2Jj62lKA/uD6UwuVH1DsZiXjXdDDDAgPuABVn4H2sCCCdFp0WBayB4+rJsGmNeNoS2ZASzh8TvzIF+LYvMiT2VVO6y4zrljqIOd2G2FGpM7+5wPFMdBjGALPvYl290aaSZAc1vSOd7ZTDLJexI2rTjAUKfUwT4AmHHazlpOlZkBxqEKTOmz/rSBTqzCk0t5gg+e/kWN4AdUNeiowtlnoxOkBPhVqL45TI1i5H9rTEeNvjIPKmFwu0h4KSi5lk+ISYVMHshiDf2cB/ePpiBgTkhW1b2iVtL84yIDeg9CVjUhsUau7UMW6l8XMP+PrlV9xAbIwRiB9j7f1GPUOvG3jpyjVkeBz0v5QtB9A5XzS0B+iK6UaxzyiuEppRnr0AoKdJGZPAIdUbzDmiq4d7OhoEBfyAXwF+fIqa6OfhgcYGrz1ltK9NLCcv4abN6xo4j9ghnfmikrnVk0D9RO6Im7gjkrjJclTpiF7qxFAOEv2mwvDFfejMlQ4PbaKj4eJgPybd/uEl1owRhCrxuANDpJfE4vuBBi/jZIjMBeDZuF2XVhftvpmdN+F7QE9xwgsrQghf6zUUqteH7fksLZkXiEKeoCZFaWkCj1od3W3OIyPgsmzx/MAH9DaOdW9ZvMqjmFxtVJ4a0jJRj6T2p24D4BemZPBJDHlbygk8q2d4wNowwAB5gHg5NwZeVb06BGfvqRacJJLcYk9jxT5h489aaC0m9mlyQaPcSwQMl2wj4MljRoJc5D+acwQdswYb0LvELe528Vdxqofv08Zzog1Vp6I4+I2eQ7qgb5vKCqEOXWguXSODsJ3WXdvYUAI+axzJ7VLBmJGzCb9gxMKXxwecFMwMIMNscwH3B9svL3TIp7cW9iVVFOtz3Sd0VaxWrmyAPl8GFrwGCthT0xsZ1JM96vBefQ6mRtBRe14/KU9Ud3fKe15nJMmQtcbICM7+avHvDAEC94Diof5nFWz/eziBLvJvyYe4yuBV0liGKCtbcgKsN5nR4FQpsGJQTByUOPYB3ZJB0dQS1OnM398r9fPjjaqXK5OBc+kemce3Bkt5TsTjK1+ZQK/V4spqzzYOnVBqY1VM/LDmNuT6nRwU7+ULvTkxRRdN24uaxqc9ElNEqwMohMoMEPLlGsOvvn17PYsvUuUyF6dO3g+ISJlM4YcgNOb1c2IibPAvHSJuAHWecRAi2AYIXAsuijMy/HeJg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7SH01BJ9eXUDa8oBzZ/Q2Fo+S0WeAkyPC64qvq80CxUX7IuGCts0AGFaaqS/mXilX4LsaLrLD42lNEDxrANYDpAa/xx3yljchpVLYfLOYqVuDiU0z+uB9kGTXbchvT5a2dIAHQ/MDVrLj+65k4GghUR+oNiQaMI1cRIe7LrZKE+T2GqGGb9e2ZkbGlufESdsY5wr38L/D7/OTyGhMKz9h/neG/kHU5PCxJNhLgCW+3hM9SrWByNi+wqLvUEwEGRjqFFNk+3cw0Of4s1yE92evosbefcLCRqiN3dZKGP92T2N7/R3jPrtMQVDrQ45SZX99vAoJROnhgpjXnvtRzKdnWk6gNsgIfJiPbVJumCNDFRffYYN2ocMMRk/OZRl+UVUqe8z7CMT/IFuOGfpXalu5PuXg0q+Uh0X0PHyLqE0Ke8UZD7U+ljrrFtlhvhOlD7I5HMMJsTBBPA3a8uh1hVvmK4Vst+F+B3rUHKtK1aLmmpFOJ5eWeZw476u95YzHJFuv0iFU9x0w7Crx81yBiwRx087KdabUlHeLqKPg6NuCHbhaW/alRepfZnQT6alRXIwIdVfWnebSFh2Z21dLiQLSJjuwyz4GkPJz11SPXzaulHVepzJ9VK20k5Su4YmMpNmTndXkmvQSdr9SWH0XCmSRJjEXG1m6MH0o0n9GdqvFS5O+RkhudnuzjoZfBtJ4ag2azklJ3ax1arDA1t++OFhZ4wFPDLv0OpuLxaBdwl97ARftAVpKxDHVZfZFMOIvbcxn/wShpDRTzzQGmqDi5k2JV7wBxr6G8CRCYL4Usp4aNT8duff4BiQh+dSC6CbjAuv X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ebf8c3d-a93e-41bd-815b-08db3a3e00cf X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:36:58.1708 (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: eHTrVVQArm118p11CWi9y8clIZJXXz+tTkbID6Sr4S7HXqMnC77l6boYUoRyOdXSWwsY+r/gnB7TcTK3etRnEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: wtpMWNo_R0iKkznS5yPEdtXyR3R6Huns X-Proofpoint-ORIG-GUID: wtpMWNo_R0iKkznS5yPEdtXyR3R6Huns Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Jeffrey Mitchell commit 8aa921a95335d0a8c8e2be35a44467e7c91ec3e4 upstream. When XFS creates a new symlink, it writes its size to disk but not to the VFS inode. This causes i_size_read() to return 0 for that symlink until it is re-read from disk, for example when the system is rebooted. I found this inconsistency while protecting directories with eCryptFS. The command "stat path/to/symlink/in/ecryptfs" will report "Size: 0" if the symlink was created after the last reboot on an XFS root. Call i_size_write() in xfs_symlink() Signed-off-by: Jeffrey Mitchell Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Reviewed-by: Brian Foster Signed-off-by: Amir Goldstein Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/xfs_symlink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/xfs/xfs_symlink.c b/fs/xfs/xfs_symlink.c index 3312820700f3..a2037e22ebda 100644 --- a/fs/xfs/xfs_symlink.c +++ b/fs/xfs/xfs_symlink.c @@ -314,6 +314,7 @@ xfs_symlink( } ASSERT(pathlen == 0); } + i_size_write(VFS_I(ip), ip->i_d.di_size); /* * Create the directory entry for the symlink. From patchwork Tue Apr 11 03:35:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206989 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A691C7619A for ; Tue, 11 Apr 2023 03:37:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229693AbjDKDhO (ORCPT ); Mon, 10 Apr 2023 23:37:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDKDhN (ORCPT ); Mon, 10 Apr 2023 23:37:13 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10F6AEB for ; Mon, 10 Apr 2023 20:37:12 -0700 (PDT) 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 33AJuOIw014424; Tue, 11 Apr 2023 03:37:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=s3kWDgm1lUus90+3q4KA9FacayrBIJymGbP4O+RxzLI=; b=VAWEVCMQt89RFDlYl4LPWWE7dwvHq/bghDlOcsA3i+z2JLui85QyQYqtg9VtZf2SN7mi EC6AR2oqweejaBTg1AYI4n0QVEwk0UGxp/5b4LdaJHDSl31OF0fveHC1LXQJ3zJ2/Bol p4LfgbH1jwiDp/ij0tDHZg//SMfGmdwbUxpRtqy8yhhYSE9id1GldRDESzdBNwqCZscq hCsdXCgE//ik3fbDg5CowPoY5UClnjU0l+ajrDKD8xotrkPsshxSG5QgSiS3vqiR+XTZ TixwCY8wYMZlsJfOU0RQyiL51JY/OympR1yso/svZltf4CMQTId8Y6L0OHO4LGAd5XYt kQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0b2v9u9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:08 +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 33B3U0bI021198; Tue, 11 Apr 2023 03:37:08 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwdn1ggh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d33vxntIvDWvkv2u+qw+EcSRZnnvofBZyoyFWpmGmeeDmsa86yrISXVOywIa5JJT5ozOXChXT09pPwhs3jNthiZnD6YOscb6j6W26bYPeQiHYTHoItgLHL979C+wYubTRzPZqcsR9ql4/mQv4hXY2W5CH6jieiWLjQcoUkKwqI6mH0FTdQNgyEG1KmWO0LWbp2RrC/9YfKOorQb1TTSBSoqwgHo+m15vLGkLK/MWfa77eVR2zTWO/8QNseAZjWKKEY1qhOaL793EMSNpy3Evg9vNCxcOrqOdqjUOU0QI5zni5N1EtE9uGG+y78LFrMBereEKdpAOoWfy8R270nOO5Q== 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=s3kWDgm1lUus90+3q4KA9FacayrBIJymGbP4O+RxzLI=; b=CSHEfZMDqBxmx0ccDn/yc7cDcFg3Ig4SA8GtTJCs+A+zamat2ewGspThcZJyqiT24CMn8rgb6+ESCAsHuqRbYoVLi/DldcQdWYSiiGO9+i9YrZdI1kZBBba8hys7qpQmwbVcjHWDi9ag7rIbiEmxRSFwL+lXfmsZ3isOOdZRYWGvnszBcIbivGYdoyZH3IljuPLMXsRsxfa5k9KtjIB/H2T9iNzm9PpDGZ1wuiY/BDXSEw2S/5ZUEf7BjcVBlCrGU2cVa64ADH1xlpzsI7Ps6Xmu617ZrU1Gwo7ogbbABiA8PbZq4FBJdVqal2xURoKDStG8k8GNn0R0c2ggqiqOsw== 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=s3kWDgm1lUus90+3q4KA9FacayrBIJymGbP4O+RxzLI=; b=KbGRXvK/QWfsTLGJAxgDCh6PV2Ocj5BUqb8IAht8K6fRJCv8IEG3D1MJr1WVYVFiWvsb8SXkqkc5Ll2QJXdXyP0cOFnAZFO9wgpuvTbIl6plkszZOz1t8WJUwr1FdHRQ5SwDQnqoRhYKhEl4rG4hIskf0K2JUWfxza8NeGesvfg= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:37:06 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:37:05 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 13/17] xfs: report corruption only as a regular error Date: Tue, 11 Apr 2023 09:05:10 +0530 Message-Id: <20230411033514.58024-14-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR01CA0011.apcprd01.prod.exchangelabs.com (2603:1096:4:191::6) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: e89ba8fd-ebd4-4be0-6013-08db3a3e056a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EEND2knfKRpRGZReiKpNktvBRzkuUuQrn0K6YThSi+X/olQ12IZ5lJ5U3Hc1OfbZsHyKyxuZQzqk26DQQEZrZUvwPBZHHrJ+7s7rkYAfS08BXkL/m1LbMtsk4ETS8FEw0QpdNa65X0CjVdcuG/vcEop8wHIeAWTk35Sv+XT/S4zFs1dcKX9XMX0EO8q0bI3ZtflBTGglXPdg2H1ovWcw7CVwcfHBF5/qcdt2kmOf9w2E70PwyaQVfRcw2xZCLsilANM9Z0Mgu4VauBGiS0BMCCzFOPyiev5C7la0q0BZq/6dEUrpSzuJRzDLZNdlGKddgvwWucjyR/0z1fTXM1mn3pTu71AWK94jyaKhI6lVU93KvLaFhQVJLwOqTsc5gey+x5tBzDn7L14AlPNfySP98Kwz750cCbDpWkT1FhZnclc6+olmaHId56yW9GVqujHbrE5D2ZAAOue2zYtFuk1eZbQPHN0Z1oAVZ3dvOTm3Z4D9axu4V8tXXr8ZZyG7SrWAaH0TDOojKQ7+gsys3F89OVi09drcVIKFubUZIF8Gnwm+lD5Z57OWcSqfFxbzeXRe X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ABvOugF2jyrgSlpt+RtON562yvx0aBhkYUwHNixOOxz01BTLpX6pAc1Iz9JZDa3XlZZJN3DXrBlMBZ4PrlEAmitkAaCzkTxcHVA8+CqTLpkfsGgbq2W1QzkzgVFgPi+fIyUKEyBazS/HXLGBHX9fYzG5hNj90tBa+7vioc7TJQmmddNyHNQoyarhVO9xmqsNdpDBRLWE8E9zszQRPcib6FuNtI1QWHJqjW26u60Yr6ae8tweb5uY7oEryOn/hyDsXxIB9uH7JI5L9Rg3DRwHF/J+Q+PceeY27VknTHKm8YXWu046EJQ7mLuSHcdSVJO5VDFrxeRr2Wt+AUKY4WHHKTGWjQkcSq2TXffldXG5DcKFszXnY+vh086vYgLF/9DvS+fkMDuXW9E1V/JEG812gmT3JviwYGmBRg6ghwS+WfZ22GQW34wtusWYkhQnft8dyJ519bTIArXGSeTig7hPJ2EVwmfY1AZe1cg9NXUZ04L3wScWCh0LvanM054PCE73M8WQnLp9K/mwxtn5LjxufHQ2ribvS6QZ+RO+lH69umGSWJglMkXUMbceU+UkDozu/bG0OroMF31ZU1UDsW8pGM0nvscIgo3my9Fht2vnyv4ArzgOLW+HaeElwsMLvcEjQ5Cz9lW03jJrJf5rEH2AfC2ebGY0YTSNhgTKk22VJXK+n7ZB4mH+uok27d6FzoS/69wNzDhjrqIhFSEuBmbT2zZUeLdOEM51VXpI0lnV9ARwwxIxngiIro7HdRVNXi/yaPLlNzBLbrTOHlnQcSuALRRsFGmdiJn+vY8eibrZTIFW6b67Qq2kN2NrirtpRnVVeAt1b/LxLU0NvN8dJiZRiAUtFk9ol7pAccuoAoVQ164GblJq4M/CpbZ579wrwN9nnJ8pg2ydX7b+6XUT/8kNTuUdgvY34DadVe8ZoAc/BVuA3L7ar52Zr+HtkF4D5uRJ35BpZZlALyRVmHtAUAOrXlVGHcxY1q3Bjv2grCZ6CtAAC3pjfqdQMhtIDyzyN3hE13enrsp2GUWvedMAU2P6/sqydHFGiMWT1TpsGJlp23859AEn3DYmqi3WxJ4LrtJt6f37VwMPJ9KMvV7qi8VL/zs6P6NJGHU8L/gl6ktkqX4yJBaBr9c+qz4mjTSFR0JUarU34+nkhs2ocvHA9tWhKEOTY0K/JlWb4OrjQIOsKtnCi7yjYoyv+8tk0krsZuP7bud4Br/uq6NPJEUmwG5vhZSUHTqt31wZDaoH3Dj0yOVkKi4SLNT2nMwM2vBCNHAgpwnMWwSTq420q4eJg2GdTCHy9xSYPPYEq2BXzQOv1TiROyhCgLcYNPddVqIia1aa+aKYEbLUAeRtxDNnQgr63N6z4x5d5yOw4SMFE/xs2Ys51HApPnxe+E3yZS6hHL1BljvJ++I0zQn1JVqk9flsQvZFpp+b3/MUki6sBNUPrBhhRn2kaLDWivvIIAIi7n0KhuOCt8DLhuLv9uqgVQ3uK4t823Dyfwg+dCbEjZqPMM90cdjkVYXSyrqsXi0k+Y/4dU5fB+8+VwmHp4Iqj2OwwA0Zr8g6+QltnbrHgAcn8D/uw4IsdeU4uWzEPVNEgy4ePkreXYuvZg5aPydPRhj79w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: efOAY+IxyXaRVdPybUTbyQU1p/Gb//4JOPkIIVXfcd1crYR4CaPKFBd8Jlx34EZXz0vtzEqlHcoSByGjYe/T1IOky4SxXZltgC1qjvhKr6oEiYdJMRaQfIJ+Hw1eXv3nNSOo1hWQ5qgtWZWwTcU8f5YXWtdPD7vEIDMrsTDjQT3r+HEIbaJtvCZyZNWwXlxhRwA8US6Ye0j11EkygMV4GUV1x0gbwPJdMsR7Cgupouw7hMPLwVphVXi0cqx7pFSzrsgUB20f+G9LjAKrJ12pceLdzpZ/f0iuoil3KHiOYmvRL4mToICKOysaHkSe5yFB9gQTW2BI85sRY2RaGkg8XZvubXf7cP4ObOu3QllAOjSSGuijn0j2TP/057n+vWjb6TTL2RH+X+RuIifSkO/Lmjbl9AdNK+kJ8VK/UfQLIXfEbHIro+CtM/DjonuN432CltYTx/Bf1L0iSjJx7ac4CPmHoPIbr+YKIHUteGqwxfTUpN8/akRtKJyIfWe4+pbRkDycj2WF9tSUpPnnNdJ9lXNbm97gv0W/9tcF1r3PKYnnAIMwgrI2TePyCu+iCGpahTIm2gZinl5cHh1psVg/MKXcCeYf5p4S7N/oB+sP86paKU27r4YQHus/rllcPlszFvoHPR67lqI9yUOAk4hiB08I1QitHayCSgfGYKoWM6s1ynG9RsTjibNBOlGyUkd+EERCrEHu9Y27liWqm3bOGNNZ+J0MloTMQA+7wi/05zrV0F5KtihkoISdxF7UuOktAXbHagyYNUlGc03OHDyn/vsEQS4Bo9POK3yK3BD2NUHGV0YmJnx06MWnrOW44fKu X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e89ba8fd-ebd4-4be0-6013-08db3a3e056a X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:37:05.8985 (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: 2/Y445sJEIQJY7Wl9Wf5dI9PaDyqPT9apkxV0DylVbeIfUn3RDmfh4E8/eQDvP9bN/RsVJwCz86lxd7mk1jmVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 bulkscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: rS8Kssl6d5DWGDFPTHx9sHMwtaHTNPbT X-Proofpoint-ORIG-GUID: rS8Kssl6d5DWGDFPTHx9sHMwtaHTNPbT Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 6519f708cc355c4834edbe1885c8542c0e7ef907 uptream. [ Slightly modify fs/xfs/xfs_linux.h to resolve merge conflicts ] Redefine XFS_IS_CORRUPT so that it reports corruptions only via xfs_corruption_report. Since these are on-disk contents (and not checks of internal state), we don't ever want to panic the kernel. This also amends the corruption report to recommend unmounting and running xfs_repair. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/xfs_error.c | 2 +- fs/xfs/xfs_linux.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c index e9acd58248f9..182b70464b71 100644 --- a/fs/xfs/xfs_error.c +++ b/fs/xfs/xfs_error.c @@ -335,7 +335,7 @@ xfs_corruption_error( int linenum, xfs_failaddr_t failaddr) { - if (level <= xfs_error_level) + if (buf && level <= xfs_error_level) xfs_hex_dump(buf, bufsize); xfs_error_report(tag, level, mp, filename, linenum, failaddr); xfs_alert(mp, "Corruption detected. Unmount and run xfs_repair"); diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h index f4f52ac5628c..4f6f09157f0d 100644 --- a/fs/xfs/xfs_linux.h +++ b/fs/xfs/xfs_linux.h @@ -217,6 +217,12 @@ int xfs_rw_bdev(struct block_device *bdev, sector_t sector, unsigned int count, #endif /* XFS_WARN */ #endif /* DEBUG */ +#define XFS_IS_CORRUPT(mp, expr) \ + (unlikely(expr) ? xfs_corruption_error(#expr, XFS_ERRLEVEL_LOW, (mp), \ + NULL, 0, __FILE__, __LINE__, \ + __this_address), \ + true : false) + #define STATIC static noinline #ifdef CONFIG_XFS_RT From patchwork Tue Apr 11 03:35:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206990 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B0EAC76196 for ; Tue, 11 Apr 2023 03:37:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229880AbjDKDhX (ORCPT ); Mon, 10 Apr 2023 23:37:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDKDhW (ORCPT ); Mon, 10 Apr 2023 23:37:22 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD830EB for ; Mon, 10 Apr 2023 20:37:21 -0700 (PDT) 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 33AK1OeH026551; Tue, 11 Apr 2023 03:37:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=65cjwmfOuTo4nzXM7aYG9D2EXPvQcneTTdpCrcE15xQ=; b=JIMqRLvg8ikq3b9j4KwXmZMxzo+HmRePjrmjiC8t9Re3SS+wPsQnhWXFMZjVaqxXlP0w o/GRwV0NBpQIGf40GNUdI43QIQkIEqenrJe/JaRkj0vFIFkvzqM4yWVO/b9UtZbwI43q KL5jDQyxFoIU0Y+y7SLNZEquaPwG1sA+CUp2wKob3NFruwZkRTUxw5o7eitdTl9Dba8u Cw7Na4XT2/wSgqQa0NYVenuehFxLyMcZuV5RmPqYy9MYdkbl/cxFKjg3NgwUgevaoNFw AaN92sSs/+bUVqnota6o4T953ClQt4C9vMErOVdcsf/Vx+zgeAIEjm21vMYmSEcBdwyg 4w== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0e7c8xy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:18 +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 33B2nv0h038272; Tue, 11 Apr 2023 03:37:17 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2172.outbound.protection.outlook.com [104.47.59.172]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puw861m8w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QA1FeQjEM0ESIem+pqTCPfAy3Orx198HrDtA2SfdSGoPUwcsDfwuWdeyQwKFhnade7sFJZKgBUiJ6RBvWqAlh4Hph5/bgU31GMfd/gWD+7ZXPkYWjK4K7Aa/vw7mezTwdkORZpoNazNk18Z89MVgw/m600WsH5SYI6opkZjcFl9PeEKvJOPUhRGvgS7yKHUuS1sjRHzvFFrJXWChzKJ6sNuecvlmRaGnuqs9FA3ey+6frLne3EqvI8ysd/gt1MWefXrPeA6dOAo37PesnJ6NX6MPXpR5B2UZ2NtifVQjEa6R/mI2o0O8vC2Zje9gleOgs6YG2ed1s7m4l9kX3QBUDw== 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=65cjwmfOuTo4nzXM7aYG9D2EXPvQcneTTdpCrcE15xQ=; b=m5bm/3D20mB7se4+HlPJCAnrpACSZ4c2P9dKcqgigIUC+4ZeRBUayY9SLClWH9PTApqXzZzl3eC20kmV/BCb6us2NlJ/QVzyCHk01uEQLTbWojP8s5zgU7K+689txtRjP4dislaZdDhbS2v4Rv4u741Oi/38Zhr1cJgG2seXUVWYEr37e8FMLVYOUHON0f7Ixff0GI/aJmuZbHWGIU3GmjIxhZ8Lw4fJcC3hxj5Mtjjoju/MV6tXDLOmH10eDcuQN/xN+wYaZvaf0UVZjb6hFdPZEfdrNx2kVEz1FQgjpuJ2bfP62GqMjHRHCJxutArGpCeu1its6nYLHoIPvTpEhA== 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=65cjwmfOuTo4nzXM7aYG9D2EXPvQcneTTdpCrcE15xQ=; b=TXx8HLqO16hMUQdh6x+M5VbQHKWw8g1uJbMqzX2Gy8cdCA57W8qLcj+h6Pd2JAzo7G782in0ofOEwYFp7fkqculhEl2VGBYlaG4MVWfgp0Pe8awujzKbtVAlgWq/0YpEOvmirnNXMD0p5F6QNC2yVFNbwSwpTJCAnfPXSSxdPe4= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:37:14 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:37:14 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 14/17] xfs: shut down the filesystem if we screw up quota reservation Date: Tue, 11 Apr 2023 09:05:11 +0530 Message-Id: <20230411033514.58024-15-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR04CA0016.apcprd04.prod.outlook.com (2603:1096:4:197::7) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a9d3cce-ce4b-4ac9-faeb-08db3a3e0a71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VS4Z2EIlthGzKNtxcNEx8y98vHLC/WGPY6iSrTjL2AHxroTEj7dc6wftOWgHmdkP1LzRw9ljBZTGnMJBeqWfTj9a8Z1aV6P8S3nEwOCWYYeQa+gvsnVHTwIxbCwox19FD3Zp/LZ7gwf+Ww5A8KL8sWA4OgyLXWTuS4RoBVEdH4Oj3Usmmgb8yZ+KtGSjg73WO7y3MnHr+Od5ar6rAFg4pDMUy5IIIJy2++Fifogetan+KSlPMFcwVpgKSdfBuNijOl40CcJzVZngB1id6SPBCZuNeLeSMCcpodT4+pf20uJ+ZOvUHgY/Lo6RWShJbyb56s2lqoyhXzHfLQVy3rAvDCBsfNPHlNKjRyNdtEBF8ln1CDBWPz8IVdTB4iWLApitIj9FfRcpCXwIipLcbmuDzclFxKln08K/YMABgPQfEl1j7V/mqBsc7I/6VHcQKqF7M8EFam2/yc5kskqfSIQZ3RHnCYmKVtxMJIhdJ+CLvjxp3Fm8A1JWB80rL/kMAXvPhVyitf1zhvrimgL88KZVEA1gBk3VDO2S4cCJH7muMhHveNxOF1j3l9zE9xRj2mc5+SCtOWWgdYPiMPwZygL9kO+DMmfkQFWLcteldvKinFk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(15650500001)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005)(15083001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Dp9ug0L2bgpQpetp78ZZwAkMOHQj/A2A9gQvnH3GdIHu8kUz+tcgaXJdMxy4JA3Eht5zZcQfqmWF/PnLctPI9VxgePfZK85VCw2qmjY1yQuemPGeXSenIbczF0G9vpSIHJpCBU+vo/8luuakqNKPHjyEujrCVcnBAxZE8zeapDLhgwvhZti5WF+52cymN73EX2pe+6qdiP+B0AWVr8hzysYnnOF1/SEck0o/9rwjr6y21fOwIPfv/LOtqMcBwPCPbM5WZfsaTDj4KYjPSO3FQYRyaSd51czX/C96YrlrvvYhaC2Sm3LoLBXkm5+T/nBdhmx4fkz17i9PnL36ZohrBx1b1PTCmnGwFycLpec6vl/ZW55LBM4m2atTGqPe7bB4whFviWIC3CzqIno07124e/wXb0RuqsVbMIVPE99SrV+cQ0ls2XyUZy7ppt2SGIuN1uNZGKKyK3oYxVTQZuszn/LHOrfw3+le1yQWqDbyKoiyZUAzhh9X9FlPqhDYPj9f3NgEgydaaNqbCJuoF54vBoDpupwcxYOYozceWZXXtIDQZSiBAm5zpGeGYSmWjtGdMuVYM3oKUTNN/aTjgPVg68IB7+y2pP9HunRO+zwBW9UuCREGFfdgg/gFXxY0gNPx5IF/YPmilBhmj9J1UZNwJjorl5mQSoVw6cF6qg+2kIPSvg15LC4XKAu3aVGSq30f9kTkI3Lv1pqRrYibS+o4aEKwqrtKbFxKU0VIEm/cVNNq1dz7X4W87i4Cg4zaWIzv6U7r7B7raA5fOZqyKtQ391ys6bJWnxhE+2AvJSHu8VW+lfJ37I/F2n4WjTSZmJw6RyMfdcu7e+zm4G2oaj1eVSJmOW2xqxcqrPtu+z/nTY9X60tMAVTtUe4EqCkI1P6k4lErLPU8rg9IrZ1ymt8NZAqJ+wkvJdi+RKdHWUEZAARmmQ4fUTBbIop/yau6BMg6OobFjdpHDUbwQAkpp7zGIcMu/ktQ+e/Xx27NuuOKQK57JLdJ00Vn/AwjK+shuDSMfzYbBScwyWjvSc/57+zBs1rm+g3Pyh61Mat1x207btqOKn+L/n8DfBQgVY1pbCkd8+KzuHUvy40XhUEmHPxMXT+idQtHkU7q63mcsOkphmjIAvfQldAS+t39W1oypIqm7t0/nS5HyTGLpc+bhmlUBkbkFxLIJjHVpnvCZfvzIQGwn2oplNay4FQ2ZeslUGMKBoeY4SOgVRWmFTpsuHZ6b6mH6kp5+oxH7VRtwhbSrzjOm+oNgphDucTLDlRdq1+GGFJ6NYvmXCb9PJe53oNRhOKa5xweg7uNJx1TWt68HrrOoOyDZHI6q2nECQVYL6lRaYaHldKxQ2Zd4FlwrUargDzT0J8MdRu2sLbGzmweL+Zpl16LgA1wIpJNFeIUP+bpNcqvaO+hxj1D1eE3ETo/+P70aZ11Nl+c/dzh373q/5vzlKl9GCPr+WXpeFGSdmT665iFCB6tN6lDN7fPf3KzOrw1IYKB5UVjmjMGeOgT/bl+qRVWemfGmlM0t/rHWSAVPJbW4nEGu0EtBqsNRCBqOseAILPKUtcQnSDwevAB/Jn+9cylRKA/vlAadZx8PfjDuL19Y8K4nUoqpb29mBg1cw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EduLVFrSnPjsqZW+xeeigEyfmHqu1O8hqdK0J2FLi0aYVMN2PThv3jy3gqzh6VLjmCDv1oWYAfMGbUkL87s6OhLBMi+Z1KgFmnII60oy2wdtVQmux6uFOhyg42ttNnQ0EvD7r0DsJcgTvtBslTHXy6giEp5Rw5TO/TFt9CmO78Ei9GWClfv6PwQMP9zK1SLDG+T8NU9rIubiA5s4LmDrIftvEspm0RpIiroHP8ipmA+3G1o7pfylDLL80AKqt7qMwZV71oSNcnfR39veYt+OTiAXkXVSN9UtSjLIUymdSDBS9a3Uw8twVX+P3y/27E0Nxuq/gHzI3sL7GV+VcX6pyPd6vopuRKruuOiodEtgN2BJ7QFIOqxoAPZS7ornPUAzCZe0iVTvuwi+SQIbF50t4t0jC70xt3eW3YDNh8kBNcqcUjRrmIL5rjYmehDj+GXiZpHHO/cXtQZ5P3Zi4LFVWXfPhIz1hB7ML4YumZXQ7IWx1k12Pie8haVO67LsBa+eSVfrXrv3yt7EvICsRvEktEzu9TBSskrxXoM8DwZfNS2UuzZdAwl3/4ouuI4+zyVnRtto9HyNH9OVXQINCqWwA1o+OBgRl4M8ru+XZpUfY3jBzYS5y0kne5emX5fNNuxQ1yoB44yxa6oUOSDVwf18rgb+eSNF1vu/w6ApEgG6ssTXp8Sxt6b3YpY2OQK1UtWWeOCvGps+85tLLiPo9vDznlvaUeHDO+zx78fBaOWnKeoLy1qQCF+jSwO3wQ0k7LJotKCSwmPnrE1kyUDJHAT+4oNrOQsa5VqUNHMyLe/E44Yb68CpltTuEkPPtMmyiIQc X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a9d3cce-ce4b-4ac9-faeb-08db3a3e0a71 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:37:14.1426 (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: KxvFM52ePsGZ9X6R0jcX1qDveL9s6hmbYxZ55+2I/zgXkUNDmPFGmZzGbCYhqkDgsqhYZVQaqm9m16juLMndEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-ORIG-GUID: cuSB90zYpetIM3cIEzFQ8xJPrsffrBdP X-Proofpoint-GUID: cuSB90zYpetIM3cIEzFQ8xJPrsffrBdP Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 2a4bdfa8558ca2904dc17b83497dc82aa7fc05e9 upstream. If we ever screw up the quota reservations enough to trip the assertions, something's wrong with the quota code. Shut down the filesystem when this happens, because this is corruption. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Reviewed-by: Brian Foster Signed-off-by: Amir Goldstein Acked-by: Darrick J. Wong Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/xfs_trans_dquot.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c index c1238a2dbd6a..4e43d415161d 100644 --- a/fs/xfs/xfs_trans_dquot.c +++ b/fs/xfs/xfs_trans_dquot.c @@ -15,6 +15,7 @@ #include "xfs_trans_priv.h" #include "xfs_quota.h" #include "xfs_qm.h" +#include "xfs_error.h" STATIC void xfs_trans_alloc_dqinfo(xfs_trans_t *); @@ -700,9 +701,14 @@ xfs_trans_dqresv( XFS_TRANS_DQ_RES_INOS, ninos); } - ASSERT(dqp->q_res_bcount >= be64_to_cpu(dqp->q_core.d_bcount)); - ASSERT(dqp->q_res_rtbcount >= be64_to_cpu(dqp->q_core.d_rtbcount)); - ASSERT(dqp->q_res_icount >= be64_to_cpu(dqp->q_core.d_icount)); + + if (XFS_IS_CORRUPT(mp, + dqp->q_res_bcount < be64_to_cpu(dqp->q_core.d_bcount)) || + XFS_IS_CORRUPT(mp, + dqp->q_res_rtbcount < be64_to_cpu(dqp->q_core.d_rtbcount)) || + XFS_IS_CORRUPT(mp, + dqp->q_res_icount < be64_to_cpu(dqp->q_core.d_icount))) + goto error_corrupt; xfs_dqunlock(dqp); return 0; @@ -712,6 +718,10 @@ xfs_trans_dqresv( if (flags & XFS_QMOPT_ENOSPC) return -ENOSPC; return -EDQUOT; +error_corrupt: + xfs_dqunlock(dqp); + xfs_force_shutdown(mp, SHUTDOWN_CORRUPT_INCORE); + return -EFSCORRUPTED; } From patchwork Tue Apr 11 03:35:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206991 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 286D5C76196 for ; Tue, 11 Apr 2023 03:37:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229891AbjDKDh3 (ORCPT ); Mon, 10 Apr 2023 23:37:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDKDh2 (ORCPT ); Mon, 10 Apr 2023 23:37:28 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F5BE1726 for ; Mon, 10 Apr 2023 20:37:27 -0700 (PDT) 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 33AJkNua011796; Tue, 11 Apr 2023 03:37:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=299byPnRpYwp6Za4WUWdptlgxkgLZNaavxV/WlD6OXg=; b=lCT9392YmSe/lEpSkKlJcyqx6YbJminBfuMTuENaT8z4FaGt1JBaFUMmEujaE7fDfzAz tk3NnmiRWrzuPgOQrp7PBZsfFXIbSuR32d2P81YA0ZU9RV//npU1SAIYzRdyMqFoX+jc 67wnImMWsS/hsr/SYHjMM1PlOuR9XCv42wt1LR9AO+w4flKDkfQxG76b+FJna5LiAMAH mp692ybPbvF31e87zOKgbWEspXWR7CwX55GrPgSaD08QP4e5uWx8WKcmQhL4EsuiR6Z8 jZGwEWM3iBKueD1Cve43S3FCXsadOZQI+AgwjK84RKRQdvaVojRFZuSQvCwhluJ8yoEH xw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0b2v9up-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:24 +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 33B3OnA1019926; Tue, 11 Apr 2023 03:37:23 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2171.outbound.protection.outlook.com [104.47.59.171]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puwdn1gr8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+VqN22kb240ZMscnLsmql4P8Qack9wHfzrsWbyilVahn1pv4agf5ZJ9QO80ofPk3WpclIjlu8SucYEftPoxCkZ2SxVn4tPZY5ZglbUQh/nHqVNcHc1huB7Zua9Ga+UBscKNxFjNlsqjy0vHAtcqux/ehGkTaGX68xOuXPDp+9YMmmTsV8AxcNyiRmULXt35mxy4xXlSNKKWrY0GzLJrhw4VK1dAdS0Cc4n+tH86Z8M9NDJn9g9tp0/kCJp/ZrNZXFCSQ/+/pAj6NmsgNg0GsVotX5DjegHYjgCmY44IfAWRwsIVwD1nvB5aQyI3EXV8TtQT8FeahOX6o7wgU+Ajlg== 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=299byPnRpYwp6Za4WUWdptlgxkgLZNaavxV/WlD6OXg=; b=i0qW+QFhcVWsSRRL0TViRpKB5Z8iUDL3Xk0OLHT4iryJWmoF3PBd+g+/Z64TanCn/ahcgolhOhuTIZf3sb0wU9FwElK/0tO7aEl2WinUPsxj2v6oDx0eIfI6COQzMjOh8V6+iepMLmxK/be3ZHg4bmyRjVDtCAdKNxPxfYFa7UAQQneLREUDa4Vr+EEpJs+INRq4XUXMCDNr3/6wECbX73fwzi9NsoiFX4TIEqr1dSnty5cxK6Fuv9gpsfDeVqfDF1eDPxEX8SMiMQrtSIja3VobDiW3PPfj8N7p7fGoJJTUg33o1czTznQa1P5CgLO5Gj7iNl8/XkImLbKimVTVJg== 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=299byPnRpYwp6Za4WUWdptlgxkgLZNaavxV/WlD6OXg=; b=hIpm4vMN/EjZExOPZq7QHKLlEapUTeSJWmBVwSxcu91HkSFTexq4ovc0FgZMjZIbBe72HT7cFFX688YakodeQSGmtNaFP5CY778qQnSOb00I/DOwZ4n9DMzaqZM8xpFVCdRvVT5BeD0hJbW2rYxNxygWLxTCLDiZKcchgxdHqt8= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:37:21 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:37:21 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 15/17] xfs: consider shutdown in bmapbt cursor delete assert Date: Tue, 11 Apr 2023 09:05:12 +0530 Message-Id: <20230411033514.58024-16-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR02CA0009.apcprd02.prod.outlook.com (2603:1096:4:194::11) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 65aad476-8ce5-4a9b-cc5d-08db3a3e0ef1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +1CBWZh9zE8EHVup32ZLRjcFdxTgtREYL8nvawXj/WmddxQJkP7g+B3nVzB9cPrnS2ZEU5lk7G/8zO1bpQK3Tgcjf76SIpUdKuB4oY/We2Fglwg1Co7wsHEHzqvFRORfwdm9NuBtPvDO8c5zIDCE/c9ibZ+sdhWjzllPiDgvnDJl57iNZoTP+myr0964Mv+7npXEC+vrHskT3UmdA+xB060lti9qR5n3Pn1dyG5oAwMN4RWuj0/krSH5DYMVd9AAOtyIzwV3cW8XW/8LFBYx/9LUjrsS/egux5OijCXFIa6RXKDsuckp1gQNdTJSaCF3I/8qO7xDBbMaY/L1nOXirLZKryiZMzJx3Sgob8X6pX6q8H+ndAN/gy7+X1mX9reQ2bfrMSgZRddqtokdWGtsSPvwvlGjZ2uWqqqHQ/WDcWail2ro3C9tNoGex47RjL9FprKmN7s6l21hVyaqMTEflil5PqXJ9ihqVennUdGzNd+zY/tZDIqVr1XX+XEcwd/0gOooAZ6+EApuJc+7lFvzRBwnJ0RCpQcIL5FqGeK9QbEuzZc2bbI2GBYl+2Lv4VNQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005)(66899021);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jqmXx61nk5Wsqf66EEVzKtQFaG0p6cNGw1Nbu3s+rOPYvAj7jJvhNPtd8IVvwVOZaxWLEIh6tTSmbhBY/w3dxtu+ophLV/upmJI0l4f9Qwd6UHHGkSkVmPjKCvfH8gLh/8KZOZLiyPMKlxgcBNrYiWZrcMubIB3WrkdF2cXh80HA8+nvfX9+sozEBD89+Pcxuz5TEaMCfZ+cNSSFSS0ahi5BQdYqFpdl3w3PphBhB2pi6jylK9fXBWrbGZ8rkGRF1txpGzvjH0ZzlCx5sYqORbDVq62IPWoXa47X0Q8qQyIHGMFNJ6cjZHVrpDPoVxm5zTFBaai6fVVW6x8ZQaOLoapqHPkuDNeSmDeldEbfklmapaPTbWKhGTGRdrP3CMZM24SSIFWN9ZmdXUXs5XbwErD89MX9g2mkJj+QiYtieTCoJiJstbmUYNNWgUgO95RZ45QIUWuz6C+fuBx4zzUfapDEyfK+8CM7FZTy+xoNMlbbEkTG7re7O8RPmknVMLUOjg803tdnBBLX1hIrkV5vXwcoLAxYjlgiCK9P/dIWiIuJFzQfBHxJkONNychCLXm8kxGzKDUONjVxxg85p/GIKRnNYRSg0D82OnZx0ueHrwOEsbZrMmcQtB8Z4EJlr4FVfDkK/umt/LBe0OLpQnzrkhLzrHD25H1eb+5eWQVE634ZCYStYaXv6c7Gg8Wi9XBiJBLln6Y0p5wP2H0WQw6tbvHLszzswRCYbMDJh3TfBClViXWsynSeRYq0xNlUJ1YptF3NE5pElQvKBM1SNbgKqwJqhZJxakLXdOyBFrqdRANuFhPzJ144CuQj5F5asyeJaUlgoJMzDTVkTs6l0JqajwtgRB8c9RqTsuB5U84IFE4GXvIjSB1nIH6XxyHnhRCxsLMHI7twZHGYXSz7z/EVMgolfXcWPKzQgLFJJdX6fw8WexkJpennPyroR8GcKAiywh2M92xa+7hvyMAqc+CilmAWaoO7hFQEgZa+APMlo9oi0wWy//RdRzPcU5JwLM0X6l7Z0E8RD8ap6rpLToy1yiF/jec3jiVRX7HHbaPhqLdGc9Rac6ILDCaEGDy6YlObHjSteFbo/L8kY3l5JF5ZKj3YPeIehndQ/5+BAfTVQc5sp1zFxCdB3/Y+fEcSCHqNOnGUm/i1YPFdcKlXcP+rWkyIsYVPf2va7AAMyGj0anDfEPjcg5KxB6a8YQnamxet46Y30ffUnlqw2UuCvd6SAPGWmI0u+7W5Nmwi09s3QltGASf4FBM0uGcmbWgPgOB7oPO6NtKFcmkvRWgxTjDI4aVZFMJuhD9+vBJS7QCZKSgrQ8NCTU9k80EHYlvOodIJcZ+FAaD8ExSYwLD1HQ0KKyFQZCvzCi2ftQJZVeqKnWZrdgJLQiJ20A3G2FwhSczUWfrzXmO30nqQ8gQms4bldMFXE21T8ZRWAsUoldPabQjyZvAzxjLFjmF3Nt/HCKfyUHWeX9LMcdSXUd9Z/jlVgXDL+OW5gMWUu25NYX7gpf2sSywxzZIKtUFXlQZmGBYyKpo8OnoIEhmY04rosdzH/YSFgLn6iM4rXf79M2xK1wPNUBL7iWCfZ1ho7Wl+nFxAAFJVaf5X0nLx1/7Gv/RjtQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qXruFFv6cd4KpmN+B0+Jn8zjonjT0zBfl4PiQwNiYuglwk48f9b7rkGPgONnr4FR8ucUl3XuBMRq8k2nAmiAxzj3fY3ROHwCZAzuXhQtUYrbzJB0kWM37ssIfD7EfnVi2KuNrlA8u1eRbZSg9hVMof0FWPVOIARoXPaUNK47bgcp7iXebKsKrOpBFezqhjj7GVTHdaCUl+eeco21EoN/uR/ASl/WPEE8SlRz2xhRgzLuSWQRjYGrsuMp58KzEc+ElOSF812m2C20svaSX2Krj8CtjTg31b/u/Pq6KQrHMBk5Di7h+kaPkwe7cUSBGtnvTYh2QctRnDdalIuttZKe2LDjOdxHwo40nvQDBT699er8Yiu23xmyp7owxfw0OhL4YzO6+/WLquio8kCKAC+7H2sdIFiZ4YVWrSpPwUjX/3MwMISDiHd9DsI8GQZwOSHENNvnaSlfs9ZZiteICT+pvFarB1osa7QANjc5RkJtm9X5iZmH7oR6Ev0OfHx0F4mkMLB3XTOqfCcXwYDvUkmEBdqAKd2GLB7KSZ2ybq7pxvxLSM0499gIZqOJVQaaODwlIgN6J8NKPpB+8DWqLqjk0bKbUISxljxyIfKO3DArwzIHekymUfDlimSuimVptJHCMm9gMs5OP/aFY1wXDYe4qeu6bNDPpJDDgpBeeJTQwjZ7t6/G5wyw7jriiuFk5KfKz8DwzoUsLfQdh7Q1sw6zsx3jqa16/HEUbUEjdfJntSC6jNKjPLNNEr87zKh/s+VE5z/K3Zf9ihpN9U/KS5xKrAb72L+EPjf/VPkKEuy+yE999xP4+n4ErMZ2ZqtwGUEM X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65aad476-8ce5-4a9b-cc5d-08db3a3e0ef1 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:37:21.7022 (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: Hsae3pPf06sXq4O0tpNUSgcIZ8C5ANPN2neoAcaFr+CDy9URyUhOx9ei0MsOsOCXBBfsNNL6y33r0VyEUDkKdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 bulkscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: 1-GybFv4rBg2H7nQ7Ol4g5GIcxuUV969 X-Proofpoint-ORIG-GUID: 1-GybFv4rBg2H7nQ7Ol4g5GIcxuUV969 Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Brian Foster commit 1cd738b13ae9b29e03d6149f0246c61f76e81fcf upstream. [ Slightly modify fs/xfs/libxfs/xfs_btree.c to resolve merge conflicts ] The assert in xfs_btree_del_cursor() checks that the bmapbt block allocation field has been handled correctly before the cursor is freed. This field is used for accurate calculation of indirect block reservation requirements (for delayed allocations), for example. generic/019 reproduces a scenario where this assert fails because the filesystem has shutdown while in the middle of a bmbt record insertion. This occurs after a bmbt block has been allocated via the cursor but before the higher level bmap function (i.e. xfs_bmap_add_extent_hole_real()) completes and resets the field. Update the assert to accommodate the transient state if the filesystem has shutdown. While here, clean up the indentation and comments in the function. Signed-off-by: Brian Foster Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Amir Goldstein Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_btree.c | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/fs/xfs/libxfs/xfs_btree.c b/fs/xfs/libxfs/xfs_btree.c index 8c43cac15832..121251651fea 100644 --- a/fs/xfs/libxfs/xfs_btree.c +++ b/fs/xfs/libxfs/xfs_btree.c @@ -354,20 +354,17 @@ xfs_btree_free_block( */ void xfs_btree_del_cursor( - xfs_btree_cur_t *cur, /* btree cursor */ - int error) /* del because of error */ + struct xfs_btree_cur *cur, /* btree cursor */ + int error) /* del because of error */ { - int i; /* btree level */ + int i; /* btree level */ /* - * Clear the buffer pointers, and release the buffers. - * If we're doing this in the face of an error, we - * need to make sure to inspect all of the entries - * in the bc_bufs array for buffers to be unlocked. - * This is because some of the btree code works from - * level n down to 0, and if we get an error along - * the way we won't have initialized all the entries - * down to 0. + * Clear the buffer pointers and release the buffers. If we're doing + * this because of an error, inspect all of the entries in the bc_bufs + * array for buffers to be unlocked. This is because some of the btree + * code works from level n down to 0, and if we get an error along the + * way we won't have initialized all the entries down to 0. */ for (i = 0; i < cur->bc_nlevels; i++) { if (cur->bc_bufs[i]) @@ -375,15 +372,10 @@ xfs_btree_del_cursor( else if (!error) break; } - /* - * Can't free a bmap cursor without having dealt with the - * allocated indirect blocks' accounting. - */ + ASSERT(cur->bc_btnum != XFS_BTNUM_BMAP || - cur->bc_private.b.allocated == 0); - /* - * Free the cursor. - */ + cur->bc_private.b.allocated == 0 || + XFS_FORCED_SHUTDOWN(cur->bc_mp)); kmem_zone_free(xfs_btree_cur_zone, cur); } From patchwork Tue Apr 11 03:35:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206992 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2C96DC7619A for ; Tue, 11 Apr 2023 03:37:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229868AbjDKDhk (ORCPT ); Mon, 10 Apr 2023 23:37:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229906AbjDKDhh (ORCPT ); Mon, 10 Apr 2023 23:37:37 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC78D172C for ; Mon, 10 Apr 2023 20:37:36 -0700 (PDT) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33AJU7oL002835; Tue, 11 Apr 2023 03:37:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=HPLTyk0iT7YegCw+lQYdROOgJ0uV9hspKbbICphNCsA=; b=WO+IpWT65tlPNzT0FmUn2NbdzjJDPEDa9zwbuXGhtHt8YH96qdPupiDHD8RIA5UN6NrV uSMCGG9SICJ+JOL6iklfpQmCCHU86tCAUz1FRi3o39xYiNxfDRzrrKfpgNzqiraEnL+4 3NPF7QwS/O7CHxDFNE603s3sPZyvW+F+Z4Dnebu8ShCL441kQqVQ9IaQKTn6qo8pEzY4 LOMlsEmGFqrjx053IrjdbVCwkLvl9Zj8xiWdpFptvRsnhoY9Bz8U4TzPjzTrLWVo54j9 e41PdZDdhrhIW0JYPG+8mthSi/uPcRnO2M+9hoiTs+uCPyzioRZ25xQnFC3+S3QS6F9i PQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0bwcb9b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:33 +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 33B2sYMW038830; Tue, 11 Apr 2023 03:37:32 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puwbm99n0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bKQcF8/94GptOVtLNcg6Y0D2GrpVuED5ut0fiCDQNQM1lYPUpEda8GW5FCLIeIRBmF7d2qstU12FiQArDJItI5+G7eTZoz7eb861222RscNN+8saLf8x8Ou8zHFXg54eU7vNjzyNMc6taHamgreZD2xWNVa6/QJT3acLZBrnnMEeB8MALwYrNSrz7RQQJBtt3jVaK5+o7m3+Clz2/g0lXOfUINPW1sox1iPyliPZiQOlgd9oQ8oWLgzMBmv4Asrr0QsY/uXKlTh1YeeECuFTPz6oOGgC20/Sb5oyC0J6mfFssVLA6ih4pvsvqr4DX2LQE0lHlksyF0qNZ55oFHTdAQ== 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=HPLTyk0iT7YegCw+lQYdROOgJ0uV9hspKbbICphNCsA=; b=FslNaQtJXdpeC5VjkUwMGyh1Tpzb6A5kdfhkIMTOj9/EYU8b8XaFsACgB9N5HyVFFuR0ENH8JASMBJf0DyUaeTJ87r1FIu3UEjuHQv7JPHBCVNqdMvF2PtYwXO13/rUN+ucwwPDhWAvyOG8v2jawBs9vqVruS1drc744Ou1p5CNKYL6gNzUGahQsE0P5YEUT2ZkSLqK3F4ZTOhhcNaE62RyWhAxnh75DjBKj9KVnA8wd1f3cVawplp0julqkAEL1l/px5GgyRm6ZQgk/H7BOplLYt4MrtTDLhVDU5oFWwchNUra7orOrH+L1zTT6cOLPIOU61gphPZZ1+P//T/6AzQ== 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=HPLTyk0iT7YegCw+lQYdROOgJ0uV9hspKbbICphNCsA=; b=SceURC1fXk2sQ+fJOqYRBJTGSOK82ltx+uczDbTwYHAkqvwe6EIXskxd7ZUkHOyTAKytHMmGUccMaQlFx+q8qkoUazOgDw7DWCfS18GavGVmYFtNr57bbx2XAQ9ZQgH5FF2CBtYVuoTGkj167uZ2EJMpGZ3nBfDxIGm0rEiUFeM= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:37:30 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:37:30 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 16/17] xfs: don't reuse busy extents on extent trim Date: Tue, 11 Apr 2023 09:05:13 +0530 Message-Id: <20230411033514.58024-17-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR01CA0030.apcprd01.prod.exchangelabs.com (2603:1096:4:192::15) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 5289fb7d-700d-47d6-03df-08db3a3e1402 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j9PJmZAysCKIeC73j6qUEfeWXVqmb2b8fKfIn251L7j1F9qh9AzuiDL70JigSy1+7Fb3MiX2pcM9bFwJLpAJiq/azL3OttjPOqYMQqe5oUKGCpuQYDFi4BYcDQ6h0SvDW959IaaXxoPGoYoMnn5kv0pMsk6Eop3vHVTNhaUyBa4wT4AMnT0wEMksnbPYGv/KZQwrd3odZ4X9Zcd3JHrAclxAh9JpUFlLLv46pCddFYgAY7CQyydzWCysR02TeRWN8MB3oyy/IAQEv/+HmYAXnxl86vVeCoaNdHeOn2+c32eUOL5J7Pg3u94dOJC88wamm0H/g1hTwWBwZu76NJODLbhZ3xIhXYpU2w2safi40nN2V1ueNtiiE+BKvpOz1MIxnQNRMjbim35+Lt4rigM6RmUB9cKeXUngsf/LP+HnzoaDIRSV0lvdMS8pu4CW+Y1vdPsmI9g77cE+qp2kaOHFqRy4qFGdV/XMJyF3BXrYfh7FRZEcAxcK549WxlSeKjbsfcD4e0IFHbDl5RjUlVvjzpMlyrq6yqMhl9JYgWm35xjDBYR1HmaLgVM45jwp8EaU X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: D1UXLfW91oGferuh0zduSsfEK1ryccz/nsEYEfClVc/wweBBIy3DEgHH69jb0OY8uLhKNeRjgDFiShtxfC5kX7KiNfp76nF9RnX6kIQM160k36XsuFg08W9PGH7Io+mtNyk0JoP/JBuZgcP94sk8v0q+Im9WLbBDx/1KJX76aoX90fHQO+mlpQvUrXd8lGRvIdA2/wtClxWsEnyNyyBj8MivfEiBNpKXhRkVvhZarymKi9bPBY09sUX+VX0/peF8V0uwbeiwm25u4hlTbsAhYNH7U9J2alqnYMpHVhJX86omU65o1hPr54fN7H66RiRyMcBVz+4A4GxDZCWa7KcYFhobqGcwVwDQucNA7DUSnVF0TQQMSwDmlhdCOFOJUZMQB39m9DOutoNxR9bbHgbj+ujS3vh+MnAQ4K5n2wMg3Pxl+jS7U4gS9Ow2nG/ZyC1WpZwFv6zYc8KoMY/VNgV8r/kswRljLF8SNIzJ5BMqdktruAw0OutNyei2c+mpQlDElBVQSYKq8z3OgsbW9f6fNGCOxVqtJeTuUSnTFtioYaHRNV/qusAHt8kKjEOVpc+hzs6JpH/qJKlH0Osdj9ORYGgs5Tu7YnKSHQO+fYLrEtW5H4bQeoHUrRJj0dqvZCOiKFtmeZkWsnvJ0Oy8Kxkwpf1i08Qd7fQWez9RxIJC2Xr44+egfHxToYDhiLXB7eFxJL9fpF33cRMqq2ElUmavh1CCUQUVmZje3kuH2X/T0+oRwLAgNQB31xFcBiJTjVHmNEoXwK6Tkil/qRN24sYK3jmsmnOMgWZ6uvR1HXpLW6ue/sCTx16yAzphbL49aH+MNXfEWZUJfRREkSbyf1RgJQh8bMJWQG6JIBwwMytlYP91YF92Qqg3k6p7NZSps8umBDk+JgQHbOqRgCiRAg23vhnwnadf+DWeZ+NEPS0FkuigdVmuOSggeFfK3qYNuQHUyzEjbPOHJPKYwTRGtaG5gN/L12cWbBUZYfAXu93cMpHIqQPzCz3I7tb8ilptfR+KcyrPEfW3EH0/9CggzGtgTh2eNExebHICAQ4D0HS0LeAfxIV8ocHnNCQEL/i5k9WBZK1Chy3GfC8o/S9FwIK9yNveAJ2CPR1xA7Q1wp5C9pEwOlveC30gAgSylDqXaVjSEFntHcCjITk2sCQO3xt3s6NESf08dTLD1Z4Q4rN5U1k0unwN4LvV8uNNKfz9qamua+6uHQXsH4XAGpv2VrsONJUFFWdcdQRBwG7lqtHIZKKrK+8ZievzMz+lB67/sazOyTgORA536GrfLIaz7X5Ql5AtDudVgakxfBiZGgm4j89udHX/Gn00ogjn6Tsmu8s5y0kkzPw7En1spBsS94rQtF0MhR3pKrXkNxxE7MaWD0MqjOVt6z3Ym2ML410un8FzeWeSeLqg6cDGGcKhgFfclrSp6s5pFMWun0gmnrF6MB0PFXuoe0x4RhuYafR9ufwN48JIGufLBlKDfLx/1D7vgYjaghawhCsZfWt8q5Kn2jT3peqHvqr+TBlNSNzstFRdZZ716tK89Y0SJl9JhqyyOePTjSmmtB+6pS6VBuEImKV4hQMRVlqey6B9Ml8DqjiI9BJvilaPGMigAdpYp++teg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dT3uDosLQo3ZMP1Elg0/QTmitkDW7UItcQw0DCUpK8mptd6OXMDprixIU7mAv6z/J3RaVS9969O9vUQLsM7LEQMKvLhoi+C/ZDz/6VBvL4jhXu6YjuS/sGJByU5b7+46fcETg2lPpg6srmKE3/bW5OP8sl40AtyzR4XPDDEz+t7EN3LTQQkJDqYM+UL+Nn6I6EH/3kFT8WcA6kmmH+uSgN/7IQUpqfhvHtCcCknGlTjgaWOwPWSk3l3SLNoHy1vvhXtYPiQu8PdScaL269FNg47rh/qMM6ZNSCaupIwoR+NoZOzGicWRWlDhBt5URjTIT++YA1v9Mrwy1Vr8/f5z3RFi7UuXMe+8bIW2YZ1ao49UefV0goatz5M7gEedpa8D7LPeOtF2RS2FVntwP3b48HXFrh+cwZuZF53RmAE0eN5ts4vIelyKwsuZHYTdTwN+jXvximU6Cge9IIY/rTvER27aF+w+y2cAkwacrWSmFeBwpOcA/22vi5jDfmMjilZkkF2RhxR8Nc0fTg+X/NyWLa1JhQZ/rpKZM3azZqSiJT0y05VRB51PWqUwXdJTrnhBkuGh94YB1zuiuN3rHxH4yKrxNpu1gEMd+pJWH+bMkXxa2y4f7pbWT7Y86Gl6sIwbaLn7LpNh5UDBJJ8N4RgR3Mg1UId2iAgKDRP3p7OX4EYC/DZ/Tf4G47L6gN6xlIGtjLo40J+3YifVYHIhYMxez2pjlNaJ/WAiXv/Sk6MCoeSbL3d7SUAHXCkEnsXoI6hoJfMuEQMUPoxoaTe8nXuI9x+hjLcccxE3UvQH22Wi6c4boO+SNzH1eJURDW3JksZ0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5289fb7d-700d-47d6-03df-08db3a3e1402 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:37:30.3881 (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: LWwpxQx89UCBVEcYqihk+gFhdNLz9co3R+Jr/BTghFAfqVr7/tgMBNIaNyp/OF4nPCWU7KZMGTr2Rz0W+QQZNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-ORIG-GUID: weY8h9-IXO-HA2fdd2pDMInF7FbvAcIQ X-Proofpoint-GUID: weY8h9-IXO-HA2fdd2pDMInF7FbvAcIQ Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Brian Foster commit 06058bc40534530e617e5623775c53bb24f032cb upstream. Freed extents are marked busy from the point the freeing transaction commits until the associated CIL context is checkpointed to the log. This prevents reuse and overwrite of recently freed blocks before the changes are committed to disk, which can lead to corruption after a crash. The exception to this rule is that metadata allocation is allowed to reuse busy extents because metadata changes are also logged. As of commit 97d3ac75e5e0 ("xfs: exact busy extent tracking"), XFS has allowed modification or complete invalidation of outstanding busy extents for metadata allocations. This implementation assumes that use of the associated extent is imminent, which is not always the case. For example, the trimmed extent might not satisfy the minimum length of the allocation request, or the allocation algorithm might be involved in a search for the optimal result based on locality. generic/019 reproduces a corruption caused by this scenario. First, a metadata block (usually a bmbt or symlink block) is freed from an inode. A subsequent bmbt split on an unrelated inode attempts a near mode allocation request that invalidates the busy block during the search, but does not ultimately allocate it. Due to the busy state invalidation, the block is no longer considered busy to subsequent allocation. A direct I/O write request immediately allocates the block and writes to it. Finally, the filesystem crashes while in a state where the initial metadata block free had not committed to the on-disk log. After recovery, the original metadata block is in its original location as expected, but has been corrupted by the aforementioned dio. This demonstrates that it is fundamentally unsafe to modify busy extent state for extents that are not guaranteed to be allocated. This applies to pretty much all of the code paths that currently trim busy extents for one reason or another. Therefore to address this problem, drop the reuse mechanism from the busy extent trim path. This code already knows how to return partial non-busy ranges of the targeted free extent and higher level code tracks the busy state of the allocation attempt. If a block allocation fails where one or more candidate extents is busy, we force the log and retry the allocation. Signed-off-by: Brian Foster Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Christoph Hellwig Signed-off-by: Amir Goldstein Acked-by: Darrick J. Wong Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/xfs_extent_busy.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/fs/xfs/xfs_extent_busy.c b/fs/xfs/xfs_extent_busy.c index 2183d87be4cf..ef17c1f6db32 100644 --- a/fs/xfs/xfs_extent_busy.c +++ b/fs/xfs/xfs_extent_busy.c @@ -344,7 +344,6 @@ xfs_extent_busy_trim( ASSERT(*len > 0); spin_lock(&args->pag->pagb_lock); -restart: fbno = *bno; flen = *len; rbp = args->pag->pagb_tree.rb_node; @@ -363,19 +362,6 @@ xfs_extent_busy_trim( continue; } - /* - * If this is a metadata allocation, try to reuse the busy - * extent instead of trimming the allocation. - */ - if (!xfs_alloc_is_userdata(args->datatype) && - !(busyp->flags & XFS_EXTENT_BUSY_DISCARDED)) { - if (!xfs_extent_busy_update_extent(args->mp, args->pag, - busyp, fbno, flen, - false)) - goto restart; - continue; - } - if (bbno <= fbno) { /* start overlap */ From patchwork Tue Apr 11 03:35:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 13206993 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C0B6C76196 for ; Tue, 11 Apr 2023 03:37:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229789AbjDKDhr (ORCPT ); Mon, 10 Apr 2023 23:37:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38040 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDKDhp (ORCPT ); Mon, 10 Apr 2023 23:37:45 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39E3B1726 for ; Mon, 10 Apr 2023 20:37:44 -0700 (PDT) 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 33AJvRd9014257; Tue, 11 Apr 2023 03:37:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=Tojna6HgD/8dOt+Yjc1R0xAaY9N92JRnwqmDfM20RBI=; b=YwidoBTl06TQg4oXTHqWZrfj8OJH1x2/DWvekKuJuCw6g5rbYt9St65JJzPst7wHUpsu 5zxteRWrtHyspPQr2JLj1sFAd6r9dyAwhNS9047U+MaBVaxTBC1pdBoGU24xW3S6Kr71 JY5dhxKCHHwsFKB6cIHVXg59dC1u+Tg83xPXwTJrKB+iT/7M/+oUm76xONuMYTAuDtYz FUkhY8EPDTbemW8mlQ/j6ZCjydEU0VGd27jJAqIZyZgyHD9uABZmqCDzUfVRFrzbelfU /OoN4j2hVnuCg3WkIjZmTU7DnGwrZytxCMdi6Ap7CZmubdlBuEYJoiOPO5L5fM+dA1vl 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 3pu0b2v9v0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:40 +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 33B3ATDp032604; Tue, 11 Apr 2023 03:37:39 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puw909bma-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 03:37:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SXWRaa/MihEj2Rqj1Kv548SZAo/rrlhnLvzDILYpymEbyZXFCOAGQOkmf5jPS/SZzw1ACZsciYg4zp2OI2yRKEm2vAD2vjT2p4zoULXgq3XyRJjX+0iGlxBoQ9VA3RJ8i220yh9GcOAzgGETW0Xh4nG7q1oEa9Tb2mdiRmNZ6r6dtMG0yRqotnh86j7QE+NNp+qrdV1WAu2J8H7XFYg/pEnfSuw4oJQ6vvDIzQ0CynaILsWpEMIsazvaqcwqmfBvqGVmn3u0QuOOMcIlhSo5MzUhTvRd7d8GxXN8ZBSdmwCy9QhD76RUY+2MJh/5Oiv8aehPTedv1bDSDiPRUHu01g== 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=Tojna6HgD/8dOt+Yjc1R0xAaY9N92JRnwqmDfM20RBI=; b=HlSn2wTvDAVBVRncOgoMSM64V5VkMSMLxTiiVI5bnZmUMRegy8ROpJAnB1kjHVDzeuFCsD6IkqKbEjSHGpIvRLai5qpyvsT8RKnphuf9xm22MU8Hu0hmWppEFUZsWjZ1VpzrynIsec6EdXfxFGGQBHWLFoate3zQGdjb/ZMKsQZSbaWjCPSo7j4qAma/syIYfLSdJkj2WBsVOOzgr8DRabgXDpBqO80ZHN03u+aRELN/EBxBeJ2YBlMDwxVgnSSiL3DTGMEEz/JiF+I1pc4cSx2l2FSUZoAwmArNlXncXERYIe+ivltvwhozXVuQH/8R8BkjUc00eumZf28ROJPkuA== 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=Tojna6HgD/8dOt+Yjc1R0xAaY9N92JRnwqmDfM20RBI=; b=d7luZNCZ5bYxxSHAifVKGLLTRWvfm6Nj6IEKnYRmMuPoRStdiaPdL8xOfAKp1GtdfW/Z0ElAWxYD12cIRyk8EgvMZAXuUCX2KaQECbgvZVUZW6hpzQV1M7jLOYsDQKBQfP8kiT4e1mT1eIYLU9BDYgOQhI1RypOJs+vkh3iy40E= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by BY5PR10MB4338.namprd10.prod.outlook.com (2603:10b6:a03:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 03:37:37 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::b3d4:e7f4:7f85:90b7%3]) with mapi id 15.20.6277.038; Tue, 11 Apr 2023 03:37:37 +0000 From: Chandan Babu R To: djwong@kernel.org Cc: chandan.babu@oracle.com, linux-xfs@vger.kernel.org, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 CANDIDATE 17/17] xfs: force log and push AIL to clear pinned inodes when aborting mount Date: Tue, 11 Apr 2023 09:05:14 +0530 Message-Id: <20230411033514.58024-18-chandan.babu@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230411033514.58024-1-chandan.babu@oracle.com> References: <20230411033514.58024-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR01CA0002.apcprd01.prod.exchangelabs.com (2603:1096:4:191::21) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|BY5PR10MB4338:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fa96fa3-b599-4ccb-3533-08db3a3e1814 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PPWY/ojpvCmN/HD+iCLx63ab9gsa6HVXqIDYPhFLMSfSgeRrQ7kdpoav0HX3wHo+b0+/EbyAAqYO/3SAXmDP0LSrOqatQddINdssDUAn7Eikh4Fk3z1TKQl0j+TR3Uh4fT3Lo3rY9xdu8kIxPdnqs7YEpPMFFXFXaVjBnY3RHrqBeXP3muzfuvEzYpf//GowAhQ6actD77S9KLkU9UEoyJI4tvkNElZAh09juP5/hNw0KfzYTUUefdTfmi/6ThplUp3Kw9PjrLQWTwnCRCH7QsZQlt5MaBQEJwv3BN9/jg9rFwT9sMugg97tBZEEfDuCw3EaPqvYcxlyTO1yKNu6TdWxc6MpRi31RFAqFpcd/DAGbvpUStsdIgZr7sYRy6V9OmXS6SGrPDCZJkB4exTVchCeUFPvsTkKerxkS2nq7KdgcrX9iiNQ4mcf9T3IGJ3mL/7w63/y7yTB18gBaURB/uoRTZYaAslsBquF5/k3ciCWPV3ckoxq7/o6JJ40+T5EbBp5ldvywMIkQ2wYgHUOpKwxp+PMm1ktcrsSsjvtrbMTHU5R/O5/a3Yu5eyYUxm7 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB5867.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199021)(478600001)(1076003)(6512007)(316002)(26005)(6506007)(186003)(6666004)(6486002)(2906002)(5660300002)(4326008)(66946007)(41300700001)(8676002)(6916009)(66476007)(8936002)(66556008)(38100700002)(86362001)(83380400001)(36756003)(2616005)(66899021);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RQYEa0QaJpJl5PVjJUAywB90Ozj0wMR9fc3Ap8rWbxjT2DkEJ8KalBCAC/RQdn12PM4ATbpExzefjqqxGuLo1JE5jC7TdPZBuhxRCX3Uhd1Wya+X8J6InF67cqSmdS+ZkymAO6XabZ2ef4eq861+ZVpnJZ+8VVL+6BhUcrBSsIPoLV4yhuUYdmdzhGJmpo2S18stY4QsZ4HBQ16iGoHaUfYDb2R1kd6dfU+0LMirSzZdGpRTTOQVnLeZdiWnQGm/u6wH1LsXZyHGMjHOCzkdrgx8fDvJGPgN3YvY24BS7B/xSlHgkFnQ30HaPmx6imOtmjU6cOMmNhE4vmv6wlPULhhGF5KsbTMMX+BvkaRtAAVSdiITYGJ8HOYrGisz1pmjyQWa7t+l4MzHp3Qy2IJvlBkDeNq2byI+CfUHUxwkNxmwgeEFThlj5E0s+OP/66gTJYN7xrVzZLOyVkiQct6UN5A5cCJ2sonbPxd2duy1VeleIQis0XMHrvo2ll4QGue/IL//8XIKezo8zaCI5DDf0uzrK59kDUyyl23mSOz4qzAEe4gv6wU5Z+2NvrbDHrDN/DwKUvCMfoFobGPbE7pycVan63/5L8EzCj3/p2CxxuNPF6RrcsHnqbQwnU7209mv/Q10J7HlC6yBAVMUc3DY5JFcywUosivePvyXS0+xGdKhzQjCPmCS7UCSnN7ywoyuSMEL2JWDmz9eHXbqT2ReZkxLQG8aQ6VVIi79U/BcWdmycdKMkle4j6txdYu5RmP0Htc0SdhnDmozC0LBEm6onxxlsKplVewMuMRX+DqdO72YOm9FwKV9nMOckehgSy2QCAgJrXVQHPkRhz/S5JzIc7KRon/5u2Mt78UzZrW5L96WQMEelz9/ZgT92iDn/EJy6AIOmxzS1V3iY0eQRkxOLyiN2ggxhFIqsk+Dc8/XQsh72VDP5I+0IY7byq+qPkWT3ONwFWLf4xdVtOqIY1CtfjPatGUGXr8M7+2qYl6eKzImmz8jVD0UZ07xPd2B0TOoxj8Jik63Qyq76WHzNyVBWXB2gfEpPkv/M2fO9hmY7G7LJs67/ZKOtV2IXw7bStOO9F7Og4bYEZpFT8b1HZNjQvtEuOrQ7aPK1hodXeNnPGulRBx5rnTgkSJRjTu0Ksnorch7wJu/Elqbp/vXeN6viw9cnw//v+iO2zkjDZcuLhjcApDGhj0aG3RohESPwXz89W/dVXBce/T8tzNn+zwoo4wXQfqQNN49xxgol5fwUVNR/xP8dht3WUiARvRzsxxrqDr+BW3INx46ju2XJrwwpG5x3JnD5CyWdG3j+jgL07zkStnxEc2W3/GiFtpOsKHa7hNfLLU2KWZVJ7YBBsRWGEBpT+NVk56ppynR7ChFQx/dn9nlnVVuKbOsqclaqigqgpMfWU6RGSMou2f2/czFkBHyfZVDsjTtUZp2Yc0sAhIZ/VOCVSbZ82EHrtmn7RCVJKt0IqX75u3fWt1YenR+fXpsFLmq4v+JG3S/30Nt2gsiIzmA45aRYVz6YYyWayT+zMZZ8CnzEZc9znaD3HksiTYVKRiFM02V/GJEoWt4PSGeC8y4QuwgwsNriMxLn/4mKxaViA2kywBlovZ6XSl9SA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: k1+8U1jAyzgHQuBE+XoM5iZCQkWehbjnYjYS2A2w1yTC2R0TF6ZtmPuuc4EDEit9160lAxuhnnr5LldYzxH0cYw65Zu4sOGnlsempbhJJ/HwTTG4xC5fdfYOJn0v2EwncFKNjZiwZmehuojFvisP1uik8wtAk+6Hv7kcZ4+GRwECxEVyzvqbEWBwE6ixomq9s4FKsLUpTgkuuDNtyx7UvqzzSg8W6wEDTbpBTFAa3niZbOCnOY9KLr3bMhFa1CltdDbyN1LTq2P63cdJGAVxeueE1pGtjmYXesYsCykzoz4T/kSKdGXSEBDCMkcnYILNPGSBr/cCK3jpZnW2pBZ9t/pQzp4YkTmY2TbuPnworFdO/I+Q8hSOthype9BnwX6ERrjlleikZ5BhUnCx4Zp/ts1alI8tVPdOG3MnT759ZbiOKBNAYtwMAYWZzO2HAvX/oJs2l8BNeSteJ/f4Hcl96wY5jl9tGWSjUHpV+0VkTEKEQs9PTxjfT+53JMwdFSqOKbOLUAMxcaw9XS+XdttnbC4KANei55CuKhW66SOCaVyQVsuklTt+k9iLmsLVJHhlvgTf8obJGKiXR83XYADAvz2yYureRo2dn4kXBGYx3tAb6f9++IVDAaN7j3dNimvrP9s1OP0Vxi0ReV5sahfBv3L859voiKRUxlh1SXEbT54r/S01pWY91vs1YDvjGY8UhqjpJyZz7mnusjLePIcUp0qvR/z0Th/B1DX7aRPEMqO+DD5KVBLgSZl22wd3zcttFgQhnGVYHBM4sD+hFQd/OAzazblBestPij6NnjK+cTEWhEz/OpfwPnr6j243GnHM X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fa96fa3-b599-4ccb-3533-08db3a3e1814 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 03:37:37.2053 (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: fIU3tDKLrrB2m7C45zC4twR66f8TxtQD2SHdAsWZjNku2ZoQwCxpscP5PgYh4K+OECDaUzcHC1f8rrgNcm8NKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4338 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-10_18,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110032 X-Proofpoint-GUID: dDNXoAy5oqjTOEJ5KFO-4_ydahubaBih X-Proofpoint-ORIG-GUID: dDNXoAy5oqjTOEJ5KFO-4_ydahubaBih Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit d336f7ebc65007f5831e2297e6f3383ae8dbf8ed upstream. [ Slightly modify fs/xfs/xfs_mount.c to resolve merge conflicts ] If we allocate quota inodes in the process of mounting a filesystem but then decide to abort the mount, it's possible that the quota inodes are sitting around pinned by the log. Now that inode reclaim relies on the AIL to flush inodes, we have to force the log and push the AIL in between releasing the quota inodes and kicking off reclaim to tear down all the incore inodes. Do this by extracting the bits we need from the unmount path and reusing them. As an added bonus, failed writes during a failed mount will not retry forever now. This was originally found during a fuzz test of metadata directories (xfs/1546), but the actual symptom was that reclaim hung up on the quota inodes. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Amir Goldstein Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chandan Babu R --- fs/xfs/xfs_mount.c | 90 +++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 46 deletions(-) diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 2860966af6c2..2277f21c4f14 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -674,6 +674,47 @@ xfs_check_summary_counts( return xfs_initialize_perag_data(mp, mp->m_sb.sb_agcount); } +/* + * Flush and reclaim dirty inodes in preparation for unmount. Inodes and + * internal inode structures can be sitting in the CIL and AIL at this point, + * so we need to unpin them, write them back and/or reclaim them before unmount + * can proceed. + * + * An inode cluster that has been freed can have its buffer still pinned in + * memory because the transaction is still sitting in a iclog. The stale inodes + * on that buffer will be pinned to the buffer until the transaction hits the + * disk and the callbacks run. Pushing the AIL will skip the stale inodes and + * may never see the pinned buffer, so nothing will push out the iclog and + * unpin the buffer. + * + * Hence we need to force the log to unpin everything first. However, log + * forces don't wait for the discards they issue to complete, so we have to + * explicitly wait for them to complete here as well. + * + * Then we can tell the world we are unmounting so that error handling knows + * that the filesystem is going away and we should error out anything that we + * have been retrying in the background. This will prevent never-ending + * retries in AIL pushing from hanging the unmount. + * + * Finally, we can push the AIL to clean all the remaining dirty objects, then + * reclaim the remaining inodes that are still in memory at this point in time. + */ +static void +xfs_unmount_flush_inodes( + struct xfs_mount *mp) +{ + xfs_log_force(mp, XFS_LOG_SYNC); + xfs_extent_busy_wait_all(mp); + flush_workqueue(xfs_discard_wq); + + mp->m_flags |= XFS_MOUNT_UNMOUNTING; + + xfs_ail_push_all_sync(mp->m_ail); + cancel_delayed_work_sync(&mp->m_reclaim_work); + xfs_reclaim_inodes(mp, SYNC_WAIT); + xfs_health_unmount(mp); +} + /* * This function does the following on an initial mount of a file system: * - reads the superblock from disk and init the mount struct @@ -1047,7 +1088,7 @@ xfs_mountfs( /* Clean out dquots that might be in memory after quotacheck. */ xfs_qm_unmount(mp); /* - * Cancel all delayed reclaim work and reclaim the inodes directly. + * Flush all inode reclamation work and flush the log. * We have to do this /after/ rtunmount and qm_unmount because those * two will have scheduled delayed reclaim for the rt/quota inodes. * @@ -1057,11 +1098,8 @@ xfs_mountfs( * qm_unmount_quotas and therefore rely on qm_unmount to release the * quota inodes. */ - cancel_delayed_work_sync(&mp->m_reclaim_work); - xfs_reclaim_inodes(mp, SYNC_WAIT); - xfs_health_unmount(mp); + xfs_unmount_flush_inodes(mp); out_log_dealloc: - mp->m_flags |= XFS_MOUNT_UNMOUNTING; xfs_log_mount_cancel(mp); out_fail_wait: if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) @@ -1102,47 +1140,7 @@ xfs_unmountfs( xfs_rtunmount_inodes(mp); xfs_irele(mp->m_rootip); - /* - * We can potentially deadlock here if we have an inode cluster - * that has been freed has its buffer still pinned in memory because - * the transaction is still sitting in a iclog. The stale inodes - * on that buffer will have their flush locks held until the - * transaction hits the disk and the callbacks run. the inode - * flush takes the flush lock unconditionally and with nothing to - * push out the iclog we will never get that unlocked. hence we - * need to force the log first. - */ - xfs_log_force(mp, XFS_LOG_SYNC); - - /* - * Wait for all busy extents to be freed, including completion of - * any discard operation. - */ - xfs_extent_busy_wait_all(mp); - flush_workqueue(xfs_discard_wq); - - /* - * We now need to tell the world we are unmounting. This will allow - * us to detect that the filesystem is going away and we should error - * out anything that we have been retrying in the background. This will - * prevent neverending retries in AIL pushing from hanging the unmount. - */ - mp->m_flags |= XFS_MOUNT_UNMOUNTING; - - /* - * Flush all pending changes from the AIL. - */ - xfs_ail_push_all_sync(mp->m_ail); - - /* - * And reclaim all inodes. At this point there should be no dirty - * inodes and none should be pinned or locked, but use synchronous - * reclaim just to be sure. We can stop background inode reclaim - * here as well if it is still running. - */ - cancel_delayed_work_sync(&mp->m_reclaim_work); - xfs_reclaim_inodes(mp, SYNC_WAIT); - xfs_health_unmount(mp); + xfs_unmount_flush_inodes(mp); xfs_qm_unmount(mp);