From patchwork Tue Oct 4 10:28:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998113 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 07DB1C4332F for ; Tue, 4 Oct 2022 10:28:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229712AbiJDK2r (ORCPT ); Tue, 4 Oct 2022 06:28:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229619AbiJDK2p (ORCPT ); Tue, 4 Oct 2022 06:28:45 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F0F32BE35 for ; Tue, 4 Oct 2022 03:28:42 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949EVQD032723; Tue, 4 Oct 2022 10:28:38 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=GaisccWsHTvhHiHV26l7UIAoKUt7Sv/Pe73IE6M9+Mk=; b=Kq6xRJEHKfTBrM4DtzPd/XPdmoQ78rIA3tbesP0NlJLIB1SxTk3dcgwZXXTtkM1iwRB1 fo4NUkR+Wbtf1NZ/QKnbJvCNG1+Ndsb6tIbqGXTtbuwUYmcFhxJjPHzLKE5QuUXtYd0D CtRe6ZWJphzpczbQbLkgC/fLazGWFs6vrPBvojxgTo8PU2OxXxlMz6NpJyJc8n8g/1Hm moVABtte+wiCFEzj+raqDf/S/wpRyvaIqBhwaO+e+Jn93ZXuFF8gRlZtTp+4gRwgrtIr 1QfJspZIhYXd/tHvG8t9pyHguST0NESabYL+rULi8ESXfWC1tUN93qVn8BoX+r3E5PM3 BQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxe3tp84x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:38 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948AX0S000460; Tue, 4 Oct 2022 10:28:37 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc04jjrj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GRHHxByXPUEU5V3cEOwc7GTEOjg1YJbNAV+uyuVZE7TaxkdJpR4qKgBI9e4dCYtV0GHIpvbaVm+crRFPfjFDrwrfoZ3VVAqg+W+i7WB3JESSIzIC90/Re6Om8PCJGl52cZQrKScF02wOTdSMUqN+9VwyIlgBRuAKvAhflcB4FTwmMdbdUsbYbHNj7xoPv4Cb56jcuoUwZDMtbFUMXZizfOO+vQeJKR0ZphyTAe6rSBmUjHOCwASoLwryr550HEooy3f++oG6jPm5G3osIB+1cBbL/m1NyhYnlJ1RS4CYDXFt5lePI720VeUoapIJtnMIuvlZQqOv3uXA/jKj7tHRPQ== 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=GaisccWsHTvhHiHV26l7UIAoKUt7Sv/Pe73IE6M9+Mk=; b=g1DogiPX9az+AUS6hCgd5XTniGVdJtWaR5DNuKiJ33qC+vTSHCgashNXsgw8Vsy3fwAN6ORbARUHWbAbCQYpA5Uxjfu7ui0aQN5akPtnNgT8q3MFZjT9a3oGjv44AuQG45ywlDV7yyWnBbw7SKSB/3L6/13E3ClM5OsUM3ooKHdWOY9MkBkpfkKsNz4AktVXITFszZAk0rDtvymFtBqu4aI8US13z4tH1d4IZiSGg8VRQcNdPAxmFKg/T8SMg5TIkUjyCQL2EffD9KNdoqVY7aTEGn2C7YHKH2L/lYJTUkPnMdxV3O/WE3IV9r8h1fgCgptQ+8mxA6OeWEA44rOiEQ== 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=GaisccWsHTvhHiHV26l7UIAoKUt7Sv/Pe73IE6M9+Mk=; b=OWZMfestnebeFKrl7ei0aELqpN0Pu/wGlmn/4AmhIbe+1v4jbEvRVqkIu5tsGtLSLIGuoo8ThEvw6hs1QwV90YFub32OpSV4cpy6Esv1AaKv67N/qZ/N58MDSAz7jbZ4q7iClwfGOGOhn5jlbWN2f9qnz49IXJRE8RNzlTwEizw= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:28:35 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:28: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 01/11] xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag Date: Tue, 4 Oct 2022 15:58:13 +0530 Message-Id: <20221004102823.1486946-2-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYWP286CA0031.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:262::19) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 847156e8-a0c3-4b6e-34b2-08daa5f331c2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7Nr5Y8+6i8VhEdFrt6WsdbY/kNB3UcKxwhGkT29WO88Ka1DcGAUI5MHkGOcKLJ+IhoH0Sj16dkJZ9Tati9Z/a8eEv79tQSYWN300EDPYhoxh2lIheR9IrmS5Wz4H6GFYfLMkdNoPUP3eCzVPNNPVZnyUXrSyMtaesgAL0WGQluh+ksF47lBmGH799qiGq2ObrBT+B7TINo6HXT9Cq+LxcUajiSSCxUlAVDkgRCm0v9vCyFH+bSNpbdhABPWq0PUWUpvJz7ppHSjU/40GwtdvfvPeLi2At67hiVrQvOuYPmjJF33WUR4TrLhadpFIt7wBI+21fJsR3OYPW/8X8GiYGQojSBwjqsmd7pQgIaGXTE8PO33ocXjZqIY3twzIhJnfMs2w49K1/uRElkJPOBCRflIwQY3SZHaYt4jtht1/ffPedlF/KvDPg1nmR42IFctvc7vgvQk7dHBaafkfQBrKrDSQUE9mEnKnu5vkydyg2qqVml9SXmz765Q8MUNGnsSi3BdxSsXSLDkdR24yLRtWzUj2ts2+u/opP70uUt2iQfNbgws0Veib9rC4DeF0Z0ZwqT7Z+73pxjsykDbb7NEKWInZBYybFz95aVoN5WFzZlgKzidOKxOaN5/Y97/bG8xhXsIVQ3yAo0ZVk6pTlv6gdQizQcccoA6bm3tA5ko1bNqyNt1oB2F2ZtFrqE8ljd4j1XQK0dFZ+HvMmrsTGZx0Ow== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7vRl0hsDTnZsUXmOtzDiiqfTz6yS2yvOlkPj0TUEmWgmxP616iR91yawBNLU0RMojEpVKnmgZwvG+o+cXKTTb/SM8zLfWXbpYGycc2uPnYyJKXaEWDMA+nKDnW+A+bJ91umSJrC7uy9O8V8t/jds7uUG6UGariYj0cuBBWC5kWjzYxCH5h7duNPJ6vKDv0g1Z2OTvXaJnLct/8f54yySKuIazx8b7Ys+6LdQmKAswd83WK2noPkDUKiL9oQo0Ir9OEE0TeKcgJpUIylIFef7iVx6KLx9sKvSQ/6MyFjY05wU3Nd9Y1XIKajqjn8NaYjDjyg3KO83vfFvS2L7SZ+yWHeoVCcFFe2luT27GJ+eP3epVerU+eSCoyPMXoZzaP6KoQ7g/6O1SB0siS6iAa1fjlxHS/msbiVk435iuysjCNZKvkANLvlVzrxhB/cQ32T77mrlm6GNscpC3FpoDdt3KfC420+KKjsCyW0ZSmgfsdiuqctKGJ5wEURR+X5BzWzZgQMW4ho12qEJclcCXR36kWykU4giddRDbmCsGbv96IdhNGfvennwFLf3HFcWZn40hDYmRqDuwOc0flrEKQ3UwJr2MNgziYOKG9vfTIVXGbkbrIr7TN9Dk5RoPAiv9kEy/kEdp6WygDqvqhdSn308yjAnbn9AxmqD4nPLw5XjMVia5JixOrHzboiyT3uDhkX1UUboVbJg33nQQ2eRO6SY/pvTwXvCI7Va0HHpkfrNOUi49eyUeL3BVjkHaQHHYgchurLR4eZ1CHN0AXwRRQHNHJ9vL1rqbeqJTQzakGSRUzW5RXjunKvBQa0/oConUPkF3MT4CpF9WhcfquTrg/FveUbElBa5SAFH8Gq+dxrZLfEpptIIvhuWeLeA4XB9NugFD7H6uIg/suB+DsyEz79flmmagTqeJ5vN5rKL11CzTLy7lJwt9DLX2qbm2ypIdWHlHxsNC+U4Wfh3PvRp4xbEfpJZYDw0eMEIoFwhE5FvcRt8/OaJyGk2XJJq0+l0+cBQlKKnGbIGukc6d0QtPx/nHkLQwDGKHPbNMD/0FRuPTcgH3YjV8EOmNT8e5qO0Ik1b3E9s50hMCRU+ktoPb7K8/klu0PMIE+zH7iA7hJQoNwijs6EHq4aTUXjC6W06RssnNhUQyrnC6PZauJt4h9+MaT8GxURfxH8wo3yD2kvq1t+G4PKkUbvzHgjTsF/FRQ2Z62hQSlTB+tOW0p8OpqI1e/J/XHjDoUvB2CJC6hC/NegvxZvk8GFz0LsZm6mn/zWp+phYWZZVRQ9hMyKA4Kv2yo3hbEehkx57jMzyZ85TtWWpIWFj7uCLgQ1bjYVJQWRHVA1E/MPivhynFOAOLq+gPUGP/0T/EfsMXp25eBi2qGtlLcym0nFn+wbB4FMuC3MbOGfkGtf/VCkD4b2IOGo0m2CaYwwh92//hNL+hGdhB69NzHngDTu/OkIbtUPvZyS1R/iJCXDawzzDVrTApdFP0SMtrjh01wrRaXHG21qOwqtA8ZfLjm/mxp9Dlfz/jXbb99t5YZRI4cXwo/k5uK9UrF1vO7tl15UJJxaSkXm0JeGmMfHbh8UwpHMFnvNcqNswuCTjFyw6F8KBgigTMn+Znw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 847156e8-a0c3-4b6e-34b2-08daa5f331c2 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:28:35.8814 (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: 4IYIRKZref5mBrogz68TmYDkSkJPQkYJ2c4o3kVeCwakF61RydyCrXp3HInIBJSDK38cI+Lgrfi/Mdn66meaaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-ORIG-GUID: kMzSAf0DN4l8mCoajrKw6qncxy4r2bIN X-Proofpoint-GUID: kMzSAf0DN4l8mCoajrKw6qncxy4r2bIN Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 780d29057781d986cd87dbbe232cd02876ad430f upstream. XFS_ATTR_INCOMPLETE is a flag in the on-disk attribute format, and thus in a different namespace as the ATTR_* flags in xfs_da_args.flags. Switch to using a XFS_DA_OP_INCOMPLETE flag in op_flags instead. Without this users might be able to inject this flag into operations using the attr by handle ioctl. 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_attr.c | 2 +- fs/xfs/libxfs/xfs_attr_leaf.c | 4 ++-- fs/xfs/libxfs/xfs_da_btree.h | 4 +++- fs/xfs/libxfs/xfs_da_format.h | 2 -- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c index 510ca6974604..c83ff610ecb6 100644 --- a/fs/xfs/libxfs/xfs_attr.c +++ b/fs/xfs/libxfs/xfs_attr.c @@ -1007,7 +1007,7 @@ xfs_attr_node_addname( * The INCOMPLETE flag means that we will find the "old" * attr, not the "new" one. */ - args->flags |= XFS_ATTR_INCOMPLETE; + args->op_flags |= XFS_DA_OP_INCOMPLETE; state = xfs_da_state_alloc(); state->args = args; state->mp = mp; diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c index 0c23127347ac..c86ddbf6d105 100644 --- a/fs/xfs/libxfs/xfs_attr_leaf.c +++ b/fs/xfs/libxfs/xfs_attr_leaf.c @@ -2345,8 +2345,8 @@ xfs_attr3_leaf_lookup_int( * If we are looking for INCOMPLETE entries, show only those. * If we are looking for complete entries, show only those. */ - if ((args->flags & XFS_ATTR_INCOMPLETE) != - (entry->flags & XFS_ATTR_INCOMPLETE)) { + if (!!(args->op_flags & XFS_DA_OP_INCOMPLETE) != + !!(entry->flags & XFS_ATTR_INCOMPLETE)) { continue; } if (entry->flags & XFS_ATTR_LOCAL) { diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h index ae0bbd20d9ca..eebbc66f4c05 100644 --- a/fs/xfs/libxfs/xfs_da_btree.h +++ b/fs/xfs/libxfs/xfs_da_btree.h @@ -82,6 +82,7 @@ typedef struct xfs_da_args { #define XFS_DA_OP_OKNOENT 0x0008 /* lookup/add op, ENOENT ok, else die */ #define XFS_DA_OP_CILOOKUP 0x0010 /* lookup to return CI name if found */ #define XFS_DA_OP_ALLOCVAL 0x0020 /* lookup to alloc buffer if found */ +#define XFS_DA_OP_INCOMPLETE 0x0040 /* lookup INCOMPLETE attr keys */ #define XFS_DA_OP_FLAGS \ { XFS_DA_OP_JUSTCHECK, "JUSTCHECK" }, \ @@ -89,7 +90,8 @@ typedef struct xfs_da_args { { XFS_DA_OP_ADDNAME, "ADDNAME" }, \ { XFS_DA_OP_OKNOENT, "OKNOENT" }, \ { XFS_DA_OP_CILOOKUP, "CILOOKUP" }, \ - { XFS_DA_OP_ALLOCVAL, "ALLOCVAL" } + { XFS_DA_OP_ALLOCVAL, "ALLOCVAL" }, \ + { XFS_DA_OP_INCOMPLETE, "INCOMPLETE" } /* * Storage for holding state during Btree searches and split/join ops. diff --git a/fs/xfs/libxfs/xfs_da_format.h b/fs/xfs/libxfs/xfs_da_format.h index ae654e06b2fb..cda10902df1e 100644 --- a/fs/xfs/libxfs/xfs_da_format.h +++ b/fs/xfs/libxfs/xfs_da_format.h @@ -740,8 +740,6 @@ struct xfs_attr3_icleaf_hdr { /* * Flags used in the leaf_entry[i].flags field. - * NOTE: the INCOMPLETE bit must not collide with the flags bits specified - * on the system call, they are "or"ed together for various operations. */ #define XFS_ATTR_LOCAL_BIT 0 /* attr is stored locally */ #define XFS_ATTR_ROOT_BIT 1 /* limit access to trusted attrs */ From patchwork Tue Oct 4 10:28:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998114 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 99015C433FE for ; Tue, 4 Oct 2022 10:28:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229764AbiJDK2y (ORCPT ); Tue, 4 Oct 2022 06:28:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229748AbiJDK2x (ORCPT ); Tue, 4 Oct 2022 06:28:53 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA6903136C for ; Tue, 4 Oct 2022 03:28:49 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949HsRI029347; Tue, 4 Oct 2022 10:28:45 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=glTN2Q9DV0MtQfM+6FDm1vbpdyH1uwOJtosGtuFofnY=; b=qK+K1u0MNGZ8Vgi9jNXYD0POPa9fnJbyQtjD2fM4gOLxVCj9qVWCUCYOtl/MNuDWOIVl X3x9N4UMPpIJfULXVjQtDJ09ZMfhEkgYvhhAD/IXgQ00NG93dc13Jwc2hK5ZYwqy7awS tVFil8Na2ETkDTVhdfoJC1rHJ77YGO2POG+wspW8IW2rfJ8kgU+GsDR/vhLhhL5vE7Yr mNmrTH4cXu0c7mF7i+PBFAVzqflGCEx+for5+UpIAH5OHR/WjEEg6vfSpoyvn7dsSaQ2 OoW36Wy94OJw0cIk01eO9GzEOavO5N5VGERrtDqh067UVyIQDHD4S81bBIcHJ3JNWja2 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 3jxc51xb2h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:45 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948B3m3001079; Tue, 4 Oct 2022 10:28:45 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2044.outbound.protection.outlook.com [104.47.66.44]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc049n73-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RWjrH/2GZ+FDFOVtO6aRjaTjDO+W6K1KLCAp7bA2eCh4w3eJNdsCx7qODwfpoENZXPXIboQXTFQ5Jr4ZObkgpnXEqSDZbNmSq2upWkLY1VLGcAUCOYqxWx6O3emwtiV0CnideHyXRBvKzCr9uNBYBhPDP8xaUU81kODWQMd2PrV9s9qtYBw8JGiJnSUIXpM7pQn6uhemotrU5P6QxaiX6GhZ4mJyrM3q18Hr7Vg3HyHiVYDk5QQEN7w/LuZhA/IhS4kOn+sbkLbDTIp1TUylbNscFp2dFsnmgAe2FSMq18V3TgJjWg73vLPfdt0IVa8eZ+MMxdX7jwINfaidejzaxA== 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=glTN2Q9DV0MtQfM+6FDm1vbpdyH1uwOJtosGtuFofnY=; b=ErfzyS+s8gIHbBNS11SFoM7SgEyVAszmK8h7eCQzmHb9qZQ9iIvl6xcGbxQNwpAaUYTAffdit58BsPoHKJa3dMnu6o7AWQy7u7CfGmIJA3hEmYML/xLYRR4OXpr/0OIs09rmLi2q7dLYXIymIViFIh3zrpWXCByaAT7FxHqI9pC0bdIplg8RWcZp4VU9Yz/JBE3MK0hpBDgCCnA03i2N4CqcHa7FAaPw/pLgFQcvL0IuhYVETK7Vj7DxVFtfcrij1T1X6CFI0fEVTf+lwpef1K3nd0giliAkIFIhztMRt9tps9gqTxVVoiIpPZB8d7PK0Q6knClBYJ1zhzUoHiyd3Q== 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=glTN2Q9DV0MtQfM+6FDm1vbpdyH1uwOJtosGtuFofnY=; b=oIg7QCDu/V12cunHE4qshy70IZ6m5hC70Jo+SvXJLgHuBCmGmKflSuMREuVkMR6kp8JWfnaOteztu7TWcKm3w0HZ0eyZaHmdEMyUeewAdIn/fU1rpK6jQd0460hpMLuqWeptqByhXsndiPLaDjhJ64QO1HolNUiUlkoZxT8iepo= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:28:43 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:28: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 02/11] xfs: introduce XFS_MAX_FILEOFF Date: Tue, 4 Oct 2022 15:58:14 +0530 Message-Id: <20221004102823.1486946-3-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR02CA0010.apcprd02.prod.outlook.com (2603:1096:4:194::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_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 82c85dcf-f5cf-44b1-e038-08daa5f3361b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W82kHNnK15ig09f9O5oyL/IyOnybtkM/Uoe8tyTCJZf3UXTv+XQpgVLDRZdMFuhxSwjLCah11Vk0UxjH7bCbfaiitiTdjc6B+8vjUm+QLVgNdbTCN9XI3C/I0iWoE5cQqlLDXruv6AwHwr83IgWyRBTMhzl5RoadJOXIMncV9uvx1stM2rVPAg5xuEW7W/usg2nlI6TvOoV/XjN1xt1oBpegjRQYi6krXdIcS7Ug+3hQ0PLRb9ao7y3ufgpFTPrGT6G+MtymhjRd/Q9VB+U2dirlfmRUjdhIw6BB/YbE9p35H16HDMtsFt0mJD2yQ4K9gLN0Pt1HySH3zme0Ooqp/c7i40pJsKQHx1mK44pcsLMHDkVTkirzwBxlPjKEDTvz+ymEWjieOjr6YsXkM9SKCMJeTFMAPuIJABFp2IfwZsJ+QliIcLJWWRh0bbcN9PJ9taGDizZErJNsRGZL6LfC30UmMdxMNP4dqiclZSYuzjY8iQYo0nsAyzGhdDpgzBL7EWFPOV+L5zNZSW8OwxYGfr4g72GAO37jz0ZvlXolFW12GrDbL20lOcEbn18GOnQMUA+copEDC3qO3cYLVwwehtRIM6XGzgdYrsib2yY1XzmQ3zZ+8SXCTV1S62K+d/T3CvP6R+1MZxDH4sRKnDaY6pXrS0O45mvQmhN0GhU/zshXRufs5sbF2N+rEqpEO/3/n3ZsCrSNmwcBSHPJJFN14A== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vZTy8wcBlg4WUOjHDNLt6ZX4aLhxcakbxp9grQlgNHGkW5aw+AcJ6T+rJ6u85G2xstFcvcFOQ/u7xYJA2z4hO8t4uqFnRxEueOrY0/7FG6iwqtOfyeqALlorWBXlqC0XbLx7NLdpSX30ee9vmXEay+d+P6rWq8TXdH9WjHyzjDk4/uuoIYm/ok3A5GE3+3qWUAArPGNlopncVlSrs8/0jvriXq91fLBVOh6fQs3W+wND82zoe0pK7onRgDB1No/HMJJhnGq9aCNS/B54lUn/ARfx0FIBrkE6ejQRyTacHkMgdNhURihjpx6jR90KJS3PYSuLaEnFrbDjN76iEChiwKLMFx8gKNyLLCbsJkn9kM1nc6qvr2EZvdqThB764r/FmGCmXjOxNeIxVFq5hFhWiqxaV44xXnmZ7IBUU/RdmWdQsOpteRBcyYQ2jpC9drsrhUOkRwplz1yGIeeLxYDsnCc4P9SMIfVZprGYu1d318osJec85kVbCY4NqqnheKiGMUaxtwklf+SVisipXQJQA/5z5Mhd45y3mv1iThRceRnqXnLbwft1pD/l+33WJeAUbXgRjUauu6+bvlkQMMn9K+1O4BxJMB0lT0+Uo6pritrdalxEb3iQfWIuCUeIFfwbeW5YIaV7ZQQFTtnk2PK67Kcs7a36Tg9FRtlDszrBLKxwH8LCb1//fq3Tcp7cjzRKblK2OQm36WmDkYrE2WU4FCsSSikdGQ1gFN7sFWT3F7+SYU1h9+kc24lAAsz5n3v902JP/Ye7gabZTTKH/+TYPnNlhyPrgQx/0A67m621l3/IPieoed6rqToftQKX792/3BD/Evz0FUHSHXyW+KcyeWGzsxGt71O76lJQuVhRcByJjT8smyhU8MfpHzUOEfC9kKX1z6dRS5sYevFR0wi85ngTpfD6URVG5eBjrulu6uBYnZzgd7mYkfnLeyTNyp7751jgat+1vp+hdU3TFe+EbdUZMo/VZv2kMj5vyDeJQPZcu1r6aLXpj8vH3G9rekuw2Rbg7VpQJvTO7wRz5hJjspthWxGMBNVXwvft3xEdu2X/hjMR5rKhIDedSxJylEe2mYdVq7ilHOc0iEILGDTbpZVGPMfVweYLhDHmgjVRH6zzYgiXwOgTe5DJAWtlN9F1+HmMNGufVr+kAFq7eSMpgXpeRjM2yoH4gKugYdkRzEZTSDQZtSZkT2ikyfNhWS2EYPwMzbRm4N373gvL6uBTL5FuLRJW+ETI9Eh2gezlkD/JUqtQovaDMUko0SFmH5uYMoTLctrC/4E/a409y9ZopTQYZyyn4dueKvf8QhPf9384Yof5Amlm5R326T/nFmixNMjDrJhmRI7/R2a7jqx/DD6TxgccJP3uP1qItjtHkjKEtt8OwXzGTIUUMkzzc3Antm1x3Q6u0x9N6DYETOUTbXj152Ni3rbCdsnCR4Ga85nDoKcS03JcgoB/bCl6AqO4nVNtMplcn0glYrRzYX3Tj2tBgsFd9RhKW8JrafeQTWeqYhiElgWWSOZqMe2hmf4yEwZn+FFyd8r0fttgPQdJ+JKGO+m2s6NS/yLvlsDpbw0+XT/JY8llMoZ3xEfIsT56oNc5TpPGZUXbWpJF+yNU3A== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82c85dcf-f5cf-44b1-e038-08daa5f3361b X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:28:43.2278 (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: yCJaujlr8W92H2wwmlQRzFXwT06zpL/b367L8Ghu+dxm68QWkK9m/jBzRJksRvMSnkxHaoP+08D87WKnAiNekQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-GUID: zeKHg3Jx_Se0UJVjxOKBzyme0EReEE92 X-Proofpoint-ORIG-GUID: zeKHg3Jx_Se0UJVjxOKBzyme0EReEE92 Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit a5084865524dee1fe8ea1fee17c60b4369ad4f5e upstream. Introduce a new #define for the maximum supported file block offset. We'll use this in the next patch to make it more obvious that we're doing some operation for all possible inode fork mappings after a given offset. We can't use ULLONG_MAX here because bunmapi uses that to detect when it's done. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_format.h | 7 +++++++ fs/xfs/xfs_reflink.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h index c968b60cee15..28203b626f6a 100644 --- a/fs/xfs/libxfs/xfs_format.h +++ b/fs/xfs/libxfs/xfs_format.h @@ -1540,6 +1540,13 @@ typedef struct xfs_bmdr_block { #define BMBT_BLOCKCOUNT_BITLEN 21 #define BMBT_STARTOFF_MASK ((1ULL << BMBT_STARTOFF_BITLEN) - 1) +#define BMBT_BLOCKCOUNT_MASK ((1ULL << BMBT_BLOCKCOUNT_BITLEN) - 1) + +/* + * bmbt records have a file offset (block) field that is 54 bits wide, so this + * is the largest xfs_fileoff_t that we ever expect to see. + */ +#define XFS_MAX_FILEOFF (BMBT_STARTOFF_MASK + BMBT_BLOCKCOUNT_MASK) typedef struct xfs_bmbt_rec { __be64 l0, l1; diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 904d8285c226..dfbf3f8f1ec8 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -1544,7 +1544,8 @@ xfs_reflink_clear_inode_flag( * We didn't find any shared blocks so turn off the reflink flag. * First, get rid of any leftover CoW mappings. */ - error = xfs_reflink_cancel_cow_blocks(ip, tpp, 0, NULLFILEOFF, true); + error = xfs_reflink_cancel_cow_blocks(ip, tpp, 0, XFS_MAX_FILEOFF, + true); if (error) return error; From patchwork Tue Oct 4 10:28:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998115 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 6B2FDC433FE for ; Tue, 4 Oct 2022 10:29:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229838AbiJDK3J (ORCPT ); Tue, 4 Oct 2022 06:29:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229792AbiJDK3C (ORCPT ); Tue, 4 Oct 2022 06:29:02 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 541DF33E15 for ; Tue, 4 Oct 2022 03:28:55 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949N0fJ032699; Tue, 4 Oct 2022 10:28:52 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=G2Q1Cn/M9bU9UD6lU3AaJlgNVcHckvS4WdxQcnJT1dA=; b=OrchbQavUDSAR6pzt+qfeqvKOw05EzQ20dZBLgDbAQ80UP4nwghQ7yRhfSLPgRtGIHdX ZSMW2vt9kZJ0Aw4cFQXJSzcVXX1UVVcR7m+s6gprDtG/judzJhBZpa/lgqXCbx1Qtr+e Qah0dFdrH9EjG1KO7ibYSIdCMI6kfhIYnnJUT0H/O8WrFSOffu4TLJH8q/mc893dpeCN xbPiAIiP3AGGLvSCYW94LRgpJmy+Aoyx4SAdYBE6/n51RcaQw/ac05UicB51toT2GxhO q5ao7LiBeBrHtsFxquzBFQIAEz7IEStlsF3Ls81hBJ0UIchHLYobTGCPV1843komqB3n fQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxe3tp85j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:51 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948AX84000544; Tue, 4 Oct 2022 10:28:51 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc04jjvr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ro4A3nW4tc28RUgwU3MDiTNYTcBiROt+PprP9XfJc1WDjso+KyvmUI7XQ2VJDxV83rbClpIrYUiX+sAcHqTqMbjmMCvf6cG8F51jP25lLLA5BHB653CoZ9P99pOv0BWnQWAqtfKvkqHb0p9MehM0mtwvXSQf0cyAnr9L/Ba8ux7NUBXvV5kD4+YXxLjeyqgT/BsHaRPEsf7rSSU9g5MeWttc28bKZGgJmgvF2HwjBwCuyvqmtKB399y2l7EWXOhqdn/r4uhg7vuH5hySnadYwHXNgpLpQmQ7PUUQtk8wBrHYv9DkeILVAhmQM93DHJwZSObrsz/hEIjUSHHH2kg/qQ== 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=G2Q1Cn/M9bU9UD6lU3AaJlgNVcHckvS4WdxQcnJT1dA=; b=jqhby+j/cgs+MchTieKcETNoEpnvULasyv1BH1JSsCs7PSml43TKMaI/FnmYrfT8Slo1GpQX+bzykGEVxXiOLswGMQi6MGYUnuWytLH4UTin1V7qFgMIYqqmqcYxP2WVO/9dDT+4oe6g8JFlawmHL1eqfUtrwaq78YHAMRc7kuEG/Sr0sCrNd1tyeGS/o7etJH3Y4Cug5pADFJm13cyyVoU4oUtv8gAefY9FH8FsBWGOYSK3DHbKRRYKYz3cUB9xj8pAdGVg+XUQ8Dlga/K1BjctzqPDp8ViWlwN20FNhc4HAl7aiy5BetUK7SRSx/TEfnPbpShNRp41+ShWubA+Gw== 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=G2Q1Cn/M9bU9UD6lU3AaJlgNVcHckvS4WdxQcnJT1dA=; b=yHnXBCdWldCAI9VxhGnN+qM2kSsxGfJcVSjslrGKqD/roQJj9l6jsQzkAH6UMEy/PMWTVXffrv5fqsvw5zLOnsT+45cvpWaS3FYDuUmdobHMFxK+lihdaKGhPnVTCsfkHlErWB41kfa9dBbezbIhkrgI+ri4PY4+PVV6lkdNzik= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:28:49 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:28:49 +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/11] xfs: truncate should remove all blocks, not just to the end of the page cache Date: Tue, 4 Oct 2022 15:58:15 +0530 Message-Id: <20221004102823.1486946-4-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-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_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: c4aa2853-0753-473b-b4e2-08daa5f339e6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aiyZz1nfVji7IoxaxtLxSfYXvTGHfueMZDSSH0G0Ad3aaglW443sd5N0+nk2dIUVBqwHfGApjWTSj50k1O7lAyMcmYOTLQQVjPlRLjZkE7QZlvkegKO8vcmj0On2iJyFSyJmzyJmFcxdj+o4DGrh6xLoOIx3wRJPISBrXVnQ5Lhs77dwQckhQSc0CkxbrNw3Ar9f2q1HvkVqLdcf7JZwBhWHsmxxYmVLjC/eQ535wI0IDQ99ZWYInNtODGP7wOy8KLcI3bektEvaPueyQnqNqgs6n/J9LuMO3Vl0nzgq/LHBRqOsgSOCB3Go73j4AygKO2Vi8MMJrAikFGsqd3pv7ve6rBpiKsYCFpF3bewl/lIbozK/980+nO0S/OKOe/N4/SzaMzlOYMOG3Ikf5DJeBwJBaXkloCsbR+MV3TqkqYXV4qe23WJoUZJuzXliZFKfAfCOAzabOLYYY60HdWthdWLvezeqjIXvXaJnqute7IU9Sfsu4Ffxy+gw7Q4cYibjs+jHvXKjOC3HvMoqMmgg+9/0xbXAMF5cPuXoFSgh4gu6EwckVd1jJvtQ7x+c4wq9VKJEHng0OyXMyhUZuZ4C1LQcu3zXvpBWaMmTSg4z1ZASC/wSJHKzRvvNb7722JO9qHZK+2vd7jLKufFAqNogW48rM7j9P/4HTeqx3VHBoiHx6fYHKYU+8PT6UC8MQ3i0OUNmoEfATZ5w/CXuOYbfYQ== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: klGMJBP/lKa51Lo6q7c6v//ckJTmGKTnC1P7Zi1agzXWT9uOni5tgpdqLLWh/1dQOhyQdsJP+J+fmJnKA0afakaQ3dqYTiX9GTANVMIlgkLAbSFyxLQwZulkG23lw8cwTe44yRtrCd/MOv6FCdJer/NmP+xzDr95aE15R3fBD1Ot6OcbVnRYFk7YlGH86njytxikYxa5+wXGQBO3Tz7UZkSfCkmnwtioerJvQ8w+wDE0qeRL2z9BBCXf5yieTLIQ+JgjB8b8mxmlXfwY9hMcw3Qg4KzV86onC3sYSQXvHTHz1/L25ihaYYl1yL1qvENFudUCOcOl7Wxx+Sw35ZLszFIoz8nQJCbjkiUAxo8Zb5iwPgB+2s3FAu60Y6FjmTkGZRbowOaWyooXIGZnaiVXRxjyV+T3vpZCBKUguLoxXeR7EdSs3gw5sVVbT3aP92dK5Cg+VCoO4OVpbHpK+0cI8LsanNNBZPGb+DEYij+M21+OssHUb5pAhggqQ+msH1QvLuWoHbwn+4ouFdcLWy4+mOTZlfVSLDlBZBype4mCP+1R1Yz5aoYU7KSCpSFDr9mg0BXezymLZO6c8EECkaJLmU2MVba1QwQQz+bi28YykXHjuDRff13aMoEKdA4qzTtwaxwyDT+buzP13ag3rso4BYCW8rfsl4n+L7bcUX/2geKRS2GJzjHrOUPodMSF9RR3kyOoLuviT2xzIfyZkWhJM/0t1/4HL1rOHcsLIM5VPS3LM0u7UyMl8iIHrvtGOS3VVHUdqkqvAiwypigDIdD2A++T+RvahjiFyLYkfNi7TYwhP/P+2GOwhqv0ZU8DGzsMaF77/tL0R5sElg+J5H4Y2tdhx5/VaPt92ZbnmSyZUGT+0mibMYSYgNfeVqHyb/qvTGVLX+kIRr2E2l3CMXQcO73MJHJ3iTDwZSJYSY9VkagP56iSKMLRscTEDBLnGlqF1dY/qt/kOVCXEDdPeFxSFDrtfhZnc6+hqAN0lhQgHawrXOgZpPPibw2t/Xm5u0lQm8hrT0utUTkHBZu1WBR8tRJcKHDQuaz4SrHZ3hTQIR1yN5p+3lW4IZkmhM8AwYPJhZ0f69HsSOOkMNYP2mfgjJ+AaOfaYttLUUwGD42Pk2hVSgPCsdN+U1qTSooXRWrnRwIYCcfSrbbgdinYRGBZ0sRYgTXnufUIkG6PSISJl4Q8/bw6hoUVJN0DJsct4YsUw2KcuG1z8eUWQ5S9jZ7cSfLmU91/k42Qd0CxokhK9W8Gj57s8zsz4pfEkPAopOJvXwyYPkEA1HoQYJ88mwJtrp56MF4TF9Tf4spzNG0VDx1ryiYpVJ93JyP5ofmI9NWDW7bU3KgIaPmwleYdmGwfzhe/cnQbf+8o5j8MB1FNnROYR5qRmds9cLK+VXzsb4rk1tI8ibEUZ+33UzKIpV6QggZP6lTx/RwbBLQ1BdgOgw82OsU88W1EnrPSAxIQDRiRf62d5STmJRLlvnnyjniOVqIC5yVvzIpnTGQDGxCLNC0DVAj/SJOyJdbFzPlUDQx3lvTNZfP5SUZZbSkkVbN0sbbJs44NSkVravsOaPgkR8AxQDsUJh/m/mNUoVvqYp527e1X1y7hLu7HbDNeNCDs4A== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4aa2853-0753-473b-b4e2-08daa5f339e6 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:28:49.5902 (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: +NxbCzrWRPexuuaW5FgiBUBk5AlRzmFqf2HhawSKQbo8woloVZhyegJ8Ttd94eYqEIO7Wp97POAijF80k4blOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-ORIG-GUID: FE-bJ44cfijvueIgygdEtk7ZSbwhWD1c X-Proofpoint-GUID: FE-bJ44cfijvueIgygdEtk7ZSbwhWD1c Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 4bbb04abb4ee2e1f7d65e52557ba1c4038ea43ed upstream. xfs_itruncate_extents_flags() is supposed to unmap every block in a file from EOF onwards. Oddly, it uses s_maxbytes as the upper limit to the bunmapi range, even though s_maxbytes reflects the highest offset the pagecache can support, not the highest offset that XFS supports. The result of this confusion is that if you create a 20T file on a 64-bit machine, mount the filesystem on a 32-bit machine, and remove the file, we leak everything above 16T. Fix this by capping the bunmapi request at the maximum possible block offset, not s_maxbytes. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/xfs_inode.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 7b72c189cff0..d4af6e44dd6f 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -1513,7 +1513,6 @@ xfs_itruncate_extents_flags( struct xfs_mount *mp = ip->i_mount; struct xfs_trans *tp = *tpp; xfs_fileoff_t first_unmap_block; - xfs_fileoff_t last_block; xfs_filblks_t unmap_len; int error = 0; int done = 0; @@ -1536,21 +1535,22 @@ xfs_itruncate_extents_flags( * the end of the file (in a crash where the space is allocated * but the inode size is not yet updated), simply remove any * blocks which show up between the new EOF and the maximum - * possible file size. If the first block to be removed is - * beyond the maximum file size (ie it is the same as last_block), - * then there is nothing to do. + * possible file size. + * + * We have to free all the blocks to the bmbt maximum offset, even if + * the page cache can't scale that far. */ first_unmap_block = XFS_B_TO_FSB(mp, (xfs_ufsize_t)new_size); - last_block = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes); - if (first_unmap_block == last_block) + if (first_unmap_block >= XFS_MAX_FILEOFF) { + WARN_ON_ONCE(first_unmap_block > XFS_MAX_FILEOFF); return 0; + } - ASSERT(first_unmap_block < last_block); - unmap_len = last_block - first_unmap_block + 1; - while (!done) { + unmap_len = XFS_MAX_FILEOFF - first_unmap_block + 1; + while (unmap_len > 0) { ASSERT(tp->t_firstblock == NULLFSBLOCK); - error = xfs_bunmapi(tp, ip, first_unmap_block, unmap_len, flags, - XFS_ITRUNC_MAX_EXTENTS, &done); + error = __xfs_bunmapi(tp, ip, first_unmap_block, &unmap_len, + flags, XFS_ITRUNC_MAX_EXTENTS); if (error) goto out; @@ -1570,7 +1570,7 @@ xfs_itruncate_extents_flags( if (whichfork == XFS_DATA_FORK) { /* Remove all pending CoW reservations. */ error = xfs_reflink_cancel_cow_blocks(ip, &tp, - first_unmap_block, last_block, true); + first_unmap_block, XFS_MAX_FILEOFF, true); if (error) goto out; From patchwork Tue Oct 4 10:28:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998116 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 E3A47C433FE for ; Tue, 4 Oct 2022 10:29:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229453AbiJDK3V (ORCPT ); Tue, 4 Oct 2022 06:29:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229792AbiJDK3K (ORCPT ); Tue, 4 Oct 2022 06:29:10 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 330133136C for ; Tue, 4 Oct 2022 03:29:03 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949HsRO029347; Tue, 4 Oct 2022 10:28:59 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=J4P+p2nSDzy4fGPOFA5Mctj/yytUX/S6JedtL4HRQU4=; b=Qr0bY0by41PRK1JfoixdUiTJf/C+/leexjdKamvndjI2vDHJpdq1JQE1edVt8cSnggOl tS+hlH5Rhg+8vFegBdYHSj0iRnR+Rc2114KQ7Bwp7YyTFKgJ/zNVQeyyZcNYtmdIiy7K EwkWbJINRr7dqfrkWvXRbMrx2vt6CEQno7kONuodqyfAT9kfz65Qp1kgG5cc7/OE/bAW 3VbdvS6aGEbejRBW6gzeL7iaRnefv+61XQ0mOR7yafq75cQvU0PzY/+fuoB8b0uqoDjK 63tjwk1SGtOOcorub201SNEWZvdmwcmn0Y9AE+ABmfD3c7oMb9EjC0HCLTfQSOXcO3Qe FQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxc51xb3c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:59 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948AW6o000431; Tue, 4 Oct 2022 10:28:58 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc04jk1u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:28:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PkKZuxLu3z5U1+MuMpEvrf+o3T8KgK7smuBuSg3XchLGhLXJa/oN/vNUp07bcdWqpGe+Wb7SLqX7ohRUtoxzM0qAABkSHb94hjp0Mi1ICBn56UQhTnGEA+OncOoeJQiUu/M73sxemExq3Lu8oFvyQYBCfBNawkRQHmd/Cq+/ZshxLJZAXzUA7zokSqvZqWOBzQIWZpBLtN5DmnHB70DbfLJQwdPZENJdxqjWDV3qa7sgciEEyX6GguASnfwm5We3J/5EiL2nZaonF9tU9bEEJH2bxhEyYYqKFvqsflDD0xIMW96z+yoqLbQbceITHStIawGA/eyFP0GnaGaJdiNIcA== 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=J4P+p2nSDzy4fGPOFA5Mctj/yytUX/S6JedtL4HRQU4=; b=GmSraft2CzRfH0mrNs9XsDYWHjiY5iTpmxSoUlNTckNPWKB95PYqsge0S0ugnMhcm/QySoUK04E9tMB84kCTybBWdXW4qTnSN/dzGcO9OhXh8nFjgbYDUywsp+14gpGEyfdqJOnzj95dH/Jrb/rbt3WsPH2Rpp2AwV98vzwn7bGI8In0S+Ua70ZcY+g0iVHhtwrvQCECxYn60iT1b4r3FuoeF3WEhy0v7TSsT4WMp10OYPeKlK9VIX27dUJaRDiWSFhSGYi8PIK0frJEtCjKy8YtRINXp54KM8uTkkcM3GCkKJG25mJdIL5K0BeGecpBcjoHVTCfZrOnlbubB0Y4tg== 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=J4P+p2nSDzy4fGPOFA5Mctj/yytUX/S6JedtL4HRQU4=; b=XhPMdjvke9rnL0W6xEisshwv+JekdqoQCJpj5R29mxcb/AlpQkY/V1lQtYBDXutgGcXh5bNhluoWR+itBzhwU1fKsp5DSKpkTM3/ongLHSy/DU+In/+pQBebmqUCL8VspIkfBftbmzkkxexqjiqkVp/FDYaPO4CY7qIwS6YcSxU= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:28:56 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:28:56 +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/11] xfs: fix s_maxbytes computation on 32-bit kernels Date: Tue, 4 Oct 2022 15:58:16 +0530 Message-Id: <20221004102823.1486946-5-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: SI2PR01CA0006.apcprd01.prod.exchangelabs.com (2603:1096:4:191::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_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a712045-1f65-41c0-35e5-08daa5f33e45 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ft6rfTsuKe2YdY37PmG4NJl4s1LQuyxlXUOX1Ha2w8nd6F+DIuUw0nA0kLoDz2tal61S+ulNb3QtrWaWqvmeJqRv/zJgwbT45mWvojyaETMyAsq6xG/fCxVCFrRgyO7O2qrfntmzpkWvEEkFpppjNqHETwjMyK+bYJAen6ShmynA6bq5SNIeVGqu4bPQNiIcNSYyT+61SiF0F80PUjtc8A63pZ5rZKcttbbDLSUSuAoLRa6iId9kqx6N3vM/H6Usp9KrF0e7t4uNYdU1TCxbuHykVnizR0424KdMGohfLDl7suk91NxftGlTKfsEV6o7OI6hvYuzqyyf2dzm/g6fJsKN57mhJJTiGqwfRfyRrXBicFRyUZX/WSn2w9F0hCStTP/9yBlretrNRu+xyFwYbCQeLzv31yHj9A8b6jMLO85UI/OAg4M1L6WBUz8YnE2H30ru5IXVwrSecgwci4cRAhw3zplLTf74BGTaXxvyPcFvJUL6ZOLXAQTUCEnnoSamqsdS7z1OhH8F1qHgJM9w7vk/3EVwZzUOne7l4U4QzOAVc+BvipvRb4aQ+F2IJYEtROm+kO+r6WCslWUcd6GrC+DO/njVBsP3Dm6Gsm3LcAjn7n2Cev8BtTezMoh8DhhHHXx0a71hpSOT0ok8fNy04aonpAb081aO30Ez34g0khMkyKqD7DfMmsDJWF3Z8uqASqlHLgN/Ma+EpvRcQEP5KA== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4QA5bJ6W6tAEL3OXCfpbHjUIj0ij1miita0YOt1b+JRjRE33OkQ5fM67TK6AIUd7G1w66l9NgMfW6NbwXFv8587VKUVNe86v5MbKRoVOEpzIij6HXiOyq9XEWu/gJxkL8ANVEz034/lx7yOtC3agrLv3aSp/YQMrjWJMQqgXPbMZt196oVowpU7Q0gZfDwvya4PR5vg+1h007/UFVxsYJ8MO6Bh6wBgUqM9sCwdv/sh8L5LUBEuhzXRlxIsEo3TVX/KLdu2lp0Ml9/aSfT9LtwukNkF5NdaMyXIOufOlNbbS2ep01ZH8r2nz++hhP5d3IN84jraBBjvJkeP9hhCKmvgyH/Qzh2hWNeLHL/LQPh4WtoTo4A3QPceSSpYaIcoPikkYpKZuz2eoJmfJFgyG2XDJY4gXfg2yEL5DTsfHemuSNH0x0IXduTIsB1zAej/9w6UtEZcrz9DLkfpFe2IFSObv4tuOHSW6TaiqdZ9qiTGxHfKfct1gppQ/HnoxajOjzmBLrKPD3cxg6MYNZmAM41w+eRY+u3PlQv8jzkARws4KnnoUzW1NXjK7RTQncuwJRoAu1lCkxbYAHN7RsonyT2jylL3fsghxMLiAEHF0ZK8lnFvPHlLTMpvqESs8KQ5D9IU4w8dTkkeRHlSE/cCFYH3BErGE+M92fsBpnwE0Gn3R4aVpgfzqwDml+Ram8lMG9G5N+8+FOtPzNoI83NYyu82Tnvik+esAtQK0rOKK9RWxxHfM3JQ8pr8PtjBePZthj8q4jWMc2iJWfL2eNxEk8br8qtfPbyy8M8zw2HuP4xEgiMxypzwPBdQHBAyhyP//yMOL4xTIXjTJfHlCdoNpVrWD/5fnGAHMddkrKNDrkz5z5hS2Wk/Lcp9150WmW6P3iSayo/+6rez6kWC8qNHEj+Cmc8HK+nfLkKH6BvgQyCNGuwdExWrqcfbEUmi3a2e+NsDwCmnEAtJEUmnC6QTRyRKP/GmtZ2sy+a4cgint8Qwn+WumSAMMaF+zlY1Xsv9juQzqakhLa6yfXhCVDYFD6SwUI6xkFUTvceXWrJSyOW1PlSQ1EPjTVBwwIjj2ZxAMok/Ah5YgO7S6lVhBtYx/SKyWlObxDRbgfCTSTo2QbeqQWdjJ1jcoxTvoZ+/QWyJr9E3OSsWHjdtSaUadQ2hy23KyTuQkr1Q9Mx8os4Uo2j/aD/YmesKGdzjX0/M87fztanSTsLSEr69r02TJYrLy77YeZHGnqsOBHD4c7eOqiuDfNSUvtfJ1hMlvgtQQ4ko+UrFn/tQ/dUpyiB0T1C0GVZAAXqqlKqNaXrvhkFmO9ZHHA2lGIsSOGKCP2NKQYLLj7rPdRBSPWPf5dtQl2StJDpkJBt0uPGqsBhdGDhaIG9iymC6BNlNcegAJtBt8P5D1EDXWQW4e/PV7oLYvGLineKecztHBKOT7yaSaPGOC368M29Ap69BW9hQl0H7Axx8ZtGtt9CmBM3W/fhJKtjk72k9/CVkI8vJgwNsGLdlThwA6rYWgg3MFhZh3lsaxKMfuOpH5fHC1oJzKf8h+80xwS5kli8lSTEMHpFHMaE5bCQTc4W4qFT0+arLt3djQg7asQsTvw5PIfJpiCvOmmsKsog== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a712045-1f65-41c0-35e5-08daa5f33e45 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:28:56.9204 (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: hp0V/pzri0ydwprfpkRyrvRHaVVFmPQ/o05wcC8T5OHWk+JSImmPwzN9WOi+wOhRc9WxGcDUol9NWdP9qvfbKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-GUID: -tn0I4abPNXTazZLuhc2Y26oIdARbJSF X-Proofpoint-ORIG-GUID: -tn0I4abPNXTazZLuhc2Y26oIdARbJSF Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 932befe39ddea29cf47f4f1dc080d3dba668f0ca upstream. I observed a hang in generic/308 while running fstests on a i686 kernel. The hang occurred when trying to purge the pagecache on a large sparse file that had a page created past MAX_LFS_FILESIZE, which caused an integer overflow in the pagecache xarray and resulted in an infinite loop. I then noticed that Linus changed the definition of MAX_LFS_FILESIZE in commit 0cc3b0ec23ce ("Clarify (and fix) MAX_LFS_FILESIZE macros") so that it is now one page short of the maximum page index on 32-bit kernels. Because the XFS function to compute max offset open-codes the 2005-era MAX_LFS_FILESIZE computation and neither the vfs nor mm perform any sanity checking of s_maxbytes, the code in generic/308 can create a page above the pagecache's limit and kaboom. Fix all this by setting s_maxbytes to MAX_LFS_FILESIZE directly and aborting the mount with a warning if our assumptions ever break. I have no answer for why this seems to have been broken for years and nobody noticed. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/xfs_super.c | 48 ++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 8d1df9f8be07..a3a54a0fbffe 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -512,32 +512,6 @@ xfs_showargs( seq_puts(m, ",noquota"); } -static uint64_t -xfs_max_file_offset( - unsigned int blockshift) -{ - unsigned int pagefactor = 1; - unsigned int bitshift = BITS_PER_LONG - 1; - - /* Figure out maximum filesize, on Linux this can depend on - * the filesystem blocksize (on 32 bit platforms). - * __block_write_begin does this in an [unsigned] long long... - * page->index << (PAGE_SHIFT - bbits) - * So, for page sized blocks (4K on 32 bit platforms), - * this wraps at around 8Tb (hence MAX_LFS_FILESIZE which is - * (((u64)PAGE_SIZE << (BITS_PER_LONG-1))-1) - * but for smaller blocksizes it is less (bbits = log2 bsize). - */ - -#if BITS_PER_LONG == 32 - ASSERT(sizeof(sector_t) == 8); - pagefactor = PAGE_SIZE; - bitshift = BITS_PER_LONG; -#endif - - return (((uint64_t)pagefactor) << bitshift) - 1; -} - /* * Set parameters for inode allocation heuristics, taking into account * filesystem size and inode32/inode64 mount options; i.e. specifically @@ -1650,6 +1624,26 @@ xfs_fs_fill_super( if (error) goto out_free_sb; + /* + * XFS block mappings use 54 bits to store the logical block offset. + * This should suffice to handle the maximum file size that the VFS + * supports (currently 2^63 bytes on 64-bit and ULONG_MAX << PAGE_SHIFT + * bytes on 32-bit), but as XFS and VFS have gotten the s_maxbytes + * calculation wrong on 32-bit kernels in the past, we'll add a WARN_ON + * to check this assertion. + * + * Avoid integer overflow by comparing the maximum bmbt offset to the + * maximum pagecache offset in units of fs blocks. + */ + if (XFS_B_TO_FSBT(mp, MAX_LFS_FILESIZE) > XFS_MAX_FILEOFF) { + xfs_warn(mp, +"MAX_LFS_FILESIZE block offset (%llu) exceeds extent map maximum (%llu)!", + XFS_B_TO_FSBT(mp, MAX_LFS_FILESIZE), + XFS_MAX_FILEOFF); + error = -EINVAL; + goto out_free_sb; + } + error = xfs_filestream_mount(mp); if (error) goto out_free_sb; @@ -1661,7 +1655,7 @@ xfs_fs_fill_super( sb->s_magic = XFS_SUPER_MAGIC; sb->s_blocksize = mp->m_sb.sb_blocksize; sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1; - sb->s_maxbytes = xfs_max_file_offset(sb->s_blocksize_bits); + sb->s_maxbytes = MAX_LFS_FILESIZE; sb->s_max_links = XFS_MAXLINK; sb->s_time_gran = 1; sb->s_time_min = S32_MIN; From patchwork Tue Oct 4 10:28:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998117 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 D37D7C433FE for ; Tue, 4 Oct 2022 10:29:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229790AbiJDK3Y (ORCPT ); Tue, 4 Oct 2022 06:29:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229739AbiJDK3K (ORCPT ); Tue, 4 Oct 2022 06:29:10 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14CCC32067 for ; Tue, 4 Oct 2022 03:29:10 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949M1KC029346; Tue, 4 Oct 2022 10:29: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=mSVr22ot8pvaeQ4BzQWPvyEhbQnWA79Qw7kSzDmeu5s=; b=CgpqeiukUHBGABbmu+QBGY/sHzrS3D97E0vHaSbE904/iHOfJp9/xQ8yjjweHM4I9qrg 6SmZENmHIrcwNw3b3pt1TfIc86LVjCmLAn9nq5upR3AHg3z0aBewtf/WiTRUqVxxu4zI 4TjcuWcpnW7ndTe0wk1Je5wKyzC+mh3kaQ/0WHnE/Y9vZuIEcr3/uCC/cjw+3/zcNEmi 9oi43drk2vZgwog16c+lp6k0HNzVEGuLFsIgD67/R+3CCcCsqv8m6WilcCGQPa6k5jS3 bV06++FacQ/AGdYlyDGMLURau9bViheZhSL211HFhjfDVStZAE/4rZ1XiyOF43R8ickp 9g== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxc51xb3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:06 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948B30w033831; Tue, 4 Oct 2022 10:29:05 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc0433w0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ce2+lLF//GB+5o3hQ44tdB6YTaDN/id9hDU++3H7jgYKJ10poKtVurKIY5EJ6SXT1s0ezPQqrwfvQi4dENZKgXMkRqG6rFRb89g+gpljwlR04Ne4PgcdXvxTWkHdU5IK8caDR7Sr/3KluUj9vRb2TsJUnx30A2MlZRF6cbu70nb3C3N7w/i1A/sgZ2b7f05xu67VAGRyVu073vVEN5LK5mgY/8ehJJzwM3y80FPEqKWnA2xAzQrZX/3GghBsAy39MFUzYvFpk/JGAlOmg8Lx/JCGhXBfFqxsjeF2vChDyrx5vKUYk4AvErzETa7LXe6Odj9KdNZ70Z1HOp8WpF1Qhw== 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=mSVr22ot8pvaeQ4BzQWPvyEhbQnWA79Qw7kSzDmeu5s=; b=LS0/+btPPmyrPQ8MzYfNhpDvnptjskMMMpWOqQ7nC3foI8WTtchIDHD9zk0gS3pirMuHxU+1PTlvH/uPfyUfttSjSOvyZzo1D5QceSOP2TgAruPoiSJcomdpjssLzjgvFT0LjQIzVmzV1CxlsqVVFzow4CYKRSrBo6k1IsXgHDVib0gs/ydfvpwR8i8jXvS1BvpKjBYRmagGZ94YcRhMFlEUkmgYE16GXypfxexz0hMPMOeRRSahEC/4BIcYHQH0026hoI38qZmPbsZJ+v++0rdFNWn7e39ZxNCXbeUVY3BDh7JA10Uk3gM9gzs0X7vWu8QUd8YiECTj2Ggu7p1kVQ== 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=mSVr22ot8pvaeQ4BzQWPvyEhbQnWA79Qw7kSzDmeu5s=; b=pyP3qQS+KWYwH3QrLqCFEj+Fu+a8nfiHg+a4UvxFojKpSQfY+gPVH6WQxSdMWt6ge4TGq4ZBomvzc2ktuUazRZExt+OrsFf2FUUu/SC2ox83IjyGAQQBxKQzy9YzwWSDS9oPvDec6WY+MTpm0EUcigs/d/cgBD8CHtdQznH63+8= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:03 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29:03 +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/11] xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read Date: Tue, 4 Oct 2022 15:58:17 +0530 Message-Id: <20221004102823.1486946-6-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TY2PR0101CA0041.apcprd01.prod.exchangelabs.com (2603:1096:404:8000::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_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 46688696-022b-4979-9c96-08daa5f34208 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: djfUJoQvRockI1R5db3AVm5EZbsv+TtBiHuSNkyNAKuAaBnMC8C3JpGq12VzE647tqXkuS909NnAhA/5eL0NWZeQpbJy1j7jjef9LRy+Up5rvDSbp7mkuK8TrNrJ1FZlVE4bwnVKPA/Hh7K7YXfaESDVab7LyAKyGxxh4wh0THciwiye8TRh7RPs9vYYMzLKnBmDB9j5mV9jTmX8t46BShcRNWNHS6rjr9Rp66ZzvkLLhvZaAoJRLrpJJ2FVYjFkuqkbgA7UwAJ3jXvcMQAYRnrnGbYBnF9iz8QI6dLNODxRUhrPvOFAFMLNLKIYUO2gri5qNsYHOJvCtB0TRmmLKYav2AlIqDeWItvcURkQyOdyCXMiQiVNW5MCbL94bMVEoI/RjJrjJ2jWOy6FVYv+VKzIgcavmH7aRgXr1AViSjCkhvsA6eRQP7clXL3wSInWn7kYJZGhAV1jmMNDJSlwDQ6Q6p4rzxNQrgDp0J+wR/Yf6Q6W3FbySBWDczenloOjw+cAZV/yQrwvLvIekHKZP308aZQIW2e2cv/lRiX507mqcTiITZ0oEhzWNRh4oAR/yi+dlmPxeSwhwoT4KdOrQNQvC0UHeH2j8iT8RU1eT35o4+5EpnFj9eowVg3YYVCMpT2b0DqC4SdcFFsIQVBgId+9nG+HnAPt0T6IIKLQVdy+QmF6P/dEZo64ThkXmNnSuM6uiqxcf4fWEukjkbl6JQ== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sHd+wR2hwFgdaMKPTQEINzTKEqjq/phMwDWDvUdSGCnxqIvK8dY4/KCe3Sd8hiO1BLuQRgf2Tr29EODGYphsSOWtQjWwITaiog00hUIbvfmevcJovaMxkhH8kPE4D8RLHQE4ZNPl7jxgW6aR6b2o2cdObhEOOKM/fUXIt8Q1maNcPLTSUGPuZojjt39vO9Pij+IeVC20kUUyoNpKX2LaZAkKN0tMKGHUe70PPaN1zOuJzq+Sa6Qx3bkrax9LRb2NWOZTFyRT9rg/dJDIGrDdIPap972lEq4T2IAAFqpAcvPqXza6hXRXxXwicqM0ThHupIaGf0kkZNRsiekmxI4yuU45+hDrI7LMaUjv6DONGKdpT/ftQXbThLNps8cftCKBNN1JorutHuM5eVGFiR4jrf0NzoYiqtDAxqwIRsOrowYCX5gZPwKHdfLQkFmXY8usMlZwOD6JpcRvEjvaHrOJ4/7SwRBxxkJAzznn1NkYOooOgkfHdlziSB0Y2nPLMNQW5T7k/8PLQKN+7nn7D+Vgn/29KzLLGXbJkVjmvAyiTNI1pZWEQJHzpzOtnge8QcIjJh0XQdhfg1S1KkxN3B1ar3CBNPRnAUDu8fRl6+VnA2dxaII4aAF5BFXicJlOKDP24lRFEwMr0DC1tftuKPqTmHNCPCfwAg7rj715jrlMceEi8Nn8s7SKvm/4wCaUKZFUHJx/6FP8DzjWbVz6N+mXHKRVk+DpojpzNMeT8bOtri/XEUGrJKC+d3GSizsrtz0yM3YmLIJB/PqeGrw+RNpfYS8R/vE71fqnLlgQDTO0Tv2z/U0KjHj/7D/+CRmWPAj6InMx3FnDm/2rkFV0rWEr3oMDZYgYl3fVX0xiShxLJ0ucScmeR6+oVUrdYhOwjKJf2lg9G3IEonojX5p3/J5mNIhaONim7TGGdo3SA/4yMVKFDEs77dfeWCK4vtbWZmrbG4bF3y+VI4hTJ2gIhK77SGOnuBGDs88evvjsPt9WgsCWR5Y0ZYQmrjrNxoqNN+ORmgOws6QckdsWUJ39/hv0kRT5a9Xg+jamCv7D9zm4gJWJ3S1pv7K/hsxUJdWMswcxzvEni9QY8XT9xRuciSl0O5KDA7GU/WDFrX3pSCiPuS7Bp/90UBhqcyhOMIOKuCMDSZ/uzCX2LrFtqfI56T2nl4M//zwEp1qDMUdpQojJUl11r+LJSbnH7D5PV2+TUb/oLA+uXyVNylZYwYmPsrLaSNAev7AwR/w2AkzUfqgeShucRDu7ndeyDhuEU2SY5dubCPbOuRAzoVlrAAIDKrFFa8gCIx19MgZj1lLQB1oma5l2ZsJRmy/j68A1cpywlNIjzLVikw/zbKsmVYCIPJoYXZd7nV9f374FjYUN4zThCPG7k/5COuWReKlTBqgBklKPD/3/Jt/NlAAjXdbKs6nIeXKT2HpElWoTszDjcaG3UliIpoxxOC6Tp1tFNuGdIicyIaaCphDyOK158mi8OUolY2vYyCTh7amuP0IyfJZbsKthDRlYGYT5hEf10y6cWj7hnYtVDNrq7ti2yChhg0Y6Ik7LSPUl1MOucZNBuIsB3QEpOJVj7/HSl2x63UNNev1aba/JAWPogUwkVpHC9kJ5/w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46688696-022b-4979-9c96-08daa5f34208 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:03.1729 (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: CsXkHMrxgu4+ipz/eXTGSUL+KLeoO8Swp/YwnOd7YPUNWsSf5WodNySVqOI9cHduGVzkN9g4Xs/DKaaj1TsnyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-GUID: ClUgwRYMaq5bBqryqQi4RqJ2Osr7XBM1 X-Proofpoint-ORIG-GUID: ClUgwRYMaq5bBqryqQi4RqJ2Osr7XBM1 Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit 7b53b868a1812a9a6ab5e69249394bd37f29ce2c upstream. Direct I/O reads can also be used with RWF_NOWAIT & co. Fix the inode locking in xfs_file_dio_aio_read to take IOCB_NOWAIT into account. Signed-off-by: Christoph Hellwig Reviewed-by: Carlos Maiolino Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/xfs_file.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 203065a64765..e41c13ffa5a4 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -187,7 +187,12 @@ xfs_file_dio_aio_read( file_accessed(iocb->ki_filp); - xfs_ilock(ip, XFS_IOLOCK_SHARED); + if (iocb->ki_flags & IOCB_NOWAIT) { + if (!xfs_ilock_nowait(ip, XFS_IOLOCK_SHARED)) + return -EAGAIN; + } else { + xfs_ilock(ip, XFS_IOLOCK_SHARED); + } ret = iomap_dio_rw(iocb, to, &xfs_iomap_ops, NULL); xfs_iunlock(ip, XFS_IOLOCK_SHARED); From patchwork Tue Oct 4 10:28:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998118 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 67722C43217 for ; Tue, 4 Oct 2022 10:29:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229748AbiJDK31 (ORCPT ); Tue, 4 Oct 2022 06:29:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56056 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229755AbiJDK3S (ORCPT ); Tue, 4 Oct 2022 06:29:18 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4438E36784 for ; Tue, 4 Oct 2022 03:29:17 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2947Ucsg029880; Tue, 4 Oct 2022 10:29:13 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=ylzL7FG6QI4xWbrJhRXITolGfX/z5tkx+CfP13kC5DE=; b=TPWqs3wDFHJ8jFF3vgUdXZ/Mz8I64oP3N7OXdfl6LIGUUWYQBBaXzZkwfOyhd1IrR2Ce orVb7lnj053tz2KeGvp9kyosBBHaRV7xUNJDIexq7lXJVUcWTDWil3UQDtjEjs0fAARb j/bG3BnnGo9uxbo4oxqcQgObKmuNBCAHML0uVZ+KH4W9M4iDwaj3vB3EGjTB+b2x8a7V bAAgznymQSi01BbkwU1WiQqffBbZ2ihL+B+bdJuFQYxqtUk5SQ0ueFpoqJUDiTwPzFz5 /zYan3QLxHMPa4loxdlCrz/SRj8GU8cER+4dABdTuqTH2+6YfUjUMvuohzRT2mDmRl4Q EQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxcb2p1bs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:13 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948B1C2000940; Tue, 4 Oct 2022 10:29:12 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc049nk4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jy8Ym+BOKSOTWixr/lNmuD/GyVMKOb+ta21kZrSwFkVOjQ2X89+iJ4tjNheqf76sS4EZwLunMjwB39p1f4ae0WHJjav3XJjaCukOV5vMx31qaIA65zz2ncuiFrsbdGfIYTRhbx5AUa93eI2rWKidOc2/D/dGs/q+49oQZa3SfKqalEf8VBUc0XONQoQx2mR7z1s7Qmo3QZ9LFjDY0ylqstj2DHBrX9fQwsVGJi3i/40wbrgJAJvAOQY4WVWesJ6BKnvAtxuGooUiuCFfwv5kcaTiirQ8DxQahG9JyHyu05ISHLD/0F29yn/VKm/09Prr0ljjFebOZAzujZnquA4F4Q== 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=ylzL7FG6QI4xWbrJhRXITolGfX/z5tkx+CfP13kC5DE=; b=bjFOT+9SBAfqJZBOokii+GnHz5s4un4bIsDXS8hboTum27ND5knbvLUR3fiiPYKJaDC409gLSxMi9PLjKnhG7cM5+rtQEb/o2U2mrI2wJX0DAhGskcShV9rJH1J5XHVRfephbod501khYc61MA1GpCE16nxfDKIK9R1Tox8Y5IE3E6fsyQNsf4zihemuAN1KogHFYMfM5LSD2koa7THABSa2G7SMxLAJ+aUo4d7JIP4x51CNkj3c4C11hxWq1CSrdMyohgPHo1b88p1WGhtLT0MyUlsv7xCNfOjsd70T7xLT2c3tCRxc+AVmr+XCz+I//O3hopv20JqTD5gLIT2C+g== 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=ylzL7FG6QI4xWbrJhRXITolGfX/z5tkx+CfP13kC5DE=; b=t/hsdxgGRSbjIKtmAk/uDucGl3s8V8etBnVM7qkwC4y+KKCcDaOnpVObCB24d0bIwSGLFZPshfcrFAenPWBQbfdgZdpq4XKlvbTf81I3cei0JCRqryWWdKwQHJ9CAPoTAp4lVjGNNLHCKCfq7OhfIHUzYNRlXNK0Vm4v1d9nDV4= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:09 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29:09 +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/11] xfs: refactor remote attr value buffer invalidation Date: Tue, 4 Oct 2022 15:58:18 +0530 Message-Id: <20221004102823.1486946-7-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYAPR01CA0182.jpnprd01.prod.outlook.com (2603:1096:404:ba::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_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: c5b11b2f-5dd0-49d9-dcd0-08daa5f34606 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7aZ12X6ME5o6yLRGK01wzo/T/xtct2PMYEwPOFjLQdlcwnEgSSdmlgBNaPKWAIaBN4NjR8+sqyyLAptY4Z/Ca2fJ8aQQWWmulidNNlQ2IMAmtdd9S5De7V5z7yr1opUdPa9AibfCWDMfNkREWHEDWj4Z/IFcOYKqM13o/+efOSigUIb9tZL+JK1IpWKsiJncCUbh9RJWi2GVpF+1p+h6HEnukQgStNXk6m0QO2dgIm8XbySnz0lY8ZoeLEbvbuuBCPGXvF/+JXavVF6mXxRgUkhX35ZgVDEIy6Ujg1Z3w/kQn/9VbJv56s9rWIT0u/VWYa/DVeSenpPNIuRhXt1nX9+XL85cya1TGXuO4En0lp3Gn1L73LugsExX8+IMIIP5d1kBKxrRlpTuyzfSHrter6frxSkPzQXgA0eKHAYhVnrJbzA7SOg8xmF5NkIiv0edB3Fe3p5WEB5aNaUgwb+wEUWhHgGembHyqGlTB1010E6iKl/TVKrQH5AUma4G3Lbo77pduxvZ2iD0QnYG4xh7SwJKJ+9oJSRTbf20oJYGm4XNJAVSLoGbiLMrKClQIyj3Z4LjdMs+uUVhHYD3WVXjetmsMVH7ANaAsylMjKrqnzZu0mxVVJGgKAupNGBXKMlRXPnJnesc2SstY9yVhu+kS+CjiRD9b5UFs/imLJU5ECDgz7PYPKD3pztRCokL0UE1CXlxcN5cD0q2R3fzrKajTg== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IugO1uw4jdEaRRi46lK6Tp04k8YhDMOqdiVS9/3NXTcpxFPXX1Ebt8JZ6uq/zaEi7HtGeV0RjkM9kxIY6hNXEukOwEW1tbVa1KX2hwlQ/WaUSQbhxslsPPW9rC9cmxwsZGhx+tZ/a9FtLmRDGs8QS/hi5QPZ6pIDomlYfT6pfZIgGPSGzw4U8OBkM8l9nAddHQ8/zeFnFjmTuZVrdo7khb3klAs+ZZ9vw8mrK18+WnpIXCs7Fs+ZPYfhOOjBhArF4/VO6GhW+cQBZXL5xYFog8cs70sKywOihp9YNcEXM0yiEaDwrPX75jLmK/ueZx6sA/B54VnBt+SxWRl8qDacnhrLpQgAlEw2yKWhpa5XPa4HJPGfgSoX/9SPcdE3plIAq6AsZpa5IlI87l5cjXRvbG5vud1CaX/3KL4cil6xryy0NrEUF6tdog27e74V+F5DRJT5uI2bm+JOUv6P7X0+Nlc+CcIi16QvxWD7UArsmn2vR64plNMmmIQbgvF84ifu246ZbBHIf+gGHor8st6gUhbekdyT6AQSrUI7lP922ZAbVEzaxYWPdFsDrlsLobBwmppFz9JTX4At3eoiC/E39D/JMVvTCHUPeriZSKp+SETnoUsUJDn5BKDBK/Y6NA3alWSafQyVlXmHZ1A9ptZGY5eOdOts5uLLp1MLeLU1JeCjRiClQY5N6y17/JDMUtb+UOp3EBTC2xUbBWHhuaiwHbZ91S0/lxgWLcC3zqUkJlkYs6/G2ddi8ZYMZU8SwTLwNUXmjPFfMrPgJkTSPL98hldgSgV/x/zIJMMSSqxOYEafDR++Kme8vPv8A4Ml9Sx4UnPORUxY5I9Ivi28u0KtbCQzONGAmr69vocOUXEsSv0HdRDRm8OuiDu5J2erqAxpWGg+qDjJZ43gFMUSy5hipFUKdfyFEkMyGkCLpLhEVzcISxpwFB5CCencpWaV2jla0Cdxs2mf71NfEFbFXtwMVywQf3NpqrdIX6rriB9ht53xLS5+6aEMa5cMij3LMx5zaRg2nwp4X0T00AxLsF4MX1gsTllNrbYI/t3+aM44lXAyFjA3cqI/p9x+M7/ftq8GF2DGglfUpU5JwgjfY/ZZMdXAhX9ZrbQic95iH3Ul/3srrYsrp56AnfXvffXESZavPHZAJq5XC7Pp3fDztpgUlfN8DHyQ8xrx+55gyQnmxEspRHjEkUnLa8mktVfhh4xQxLiq40RyOKEFWOzk/IqtZzF3lSIEJZu2y5ovWzsBCrf5KGXfYwxUhE8pgz9Bm9aPA45U6j204yVz95hJbqi/5aMND9stOglYeQpvAPBRHKBaaNfHa4flPKYCyCMhXYPurJQmRkJt6JccjlAJJf3qvN793SqVIgGlXn9eMipqHdQsObplUlooxEkG+bTmJRtT2ndOaxykadc0KpOV5wigt6CKEIIxm7nY2lIX1jBJ4WtY5sweNf2ZWV3djQawN7JHWe+Q8gHYhi+kkb1VPBiQgW3mKZLpLWgxazeWqFTs9ZGd2VIqdrG88FZINSw7A4vVd27dYRzMlCZxoFVIU2RM+G5EOD9GNN5KVj2YVW1MPb3SB7DV6VfEk6n4lLErMQpefhnUZ3Uclip77c4W1ovRGA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5b11b2f-5dd0-49d9-dcd0-08daa5f34606 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:09.7482 (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: DzKtLDkxO0cY8vrLlQdjX/JzkH2KEsNT17YGZWYtmRJ+6wIo8ZpkiJXBZRzB9TRue3PmL5Vz1uLtwiyO1yP+eQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 mlxlogscore=976 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-GUID: 9pS2cPTcntTmh9_EEC2bb6v4IA8douRa X-Proofpoint-ORIG-GUID: 9pS2cPTcntTmh9_EEC2bb6v4IA8douRa Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 8edbb26b06023de31ad7d4c9b984d99f66577929 upstream. [Replaced XFS_IS_CORRUPT() calls with ASSERT() for 5.4.y backport] Hoist the code that invalidates remote extended attribute value buffers into a separate helper function. This prepares us for a memory corruption fix in the next patch. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_attr_remote.c | 48 ++++++++++++++++++++------------- fs/xfs/libxfs/xfs_attr_remote.h | 2 ++ 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr_remote.c b/fs/xfs/libxfs/xfs_attr_remote.c index 3e39b7d40f25..4e5579edcf8c 100644 --- a/fs/xfs/libxfs/xfs_attr_remote.c +++ b/fs/xfs/libxfs/xfs_attr_remote.c @@ -551,6 +551,32 @@ xfs_attr_rmtval_set( return 0; } +/* Mark stale any incore buffers for the remote value. */ +int +xfs_attr_rmtval_stale( + struct xfs_inode *ip, + struct xfs_bmbt_irec *map, + xfs_buf_flags_t incore_flags) +{ + struct xfs_mount *mp = ip->i_mount; + struct xfs_buf *bp; + + ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); + + ASSERT((map->br_startblock != DELAYSTARTBLOCK) && + (map->br_startblock != HOLESTARTBLOCK)); + + bp = xfs_buf_incore(mp->m_ddev_targp, + XFS_FSB_TO_DADDR(mp, map->br_startblock), + XFS_FSB_TO_BB(mp, map->br_blockcount), incore_flags); + if (bp) { + xfs_buf_stale(bp); + xfs_buf_relse(bp); + } + + return 0; +} + /* * Remove the value associated with an attribute by deleting the * out-of-line buffer that it is stored on. @@ -559,7 +585,6 @@ int xfs_attr_rmtval_remove( struct xfs_da_args *args) { - struct xfs_mount *mp = args->dp->i_mount; xfs_dablk_t lblkno; int blkcnt; int error; @@ -574,9 +599,6 @@ xfs_attr_rmtval_remove( blkcnt = args->rmtblkcnt; while (blkcnt > 0) { struct xfs_bmbt_irec map; - struct xfs_buf *bp; - xfs_daddr_t dblkno; - int dblkcnt; int nmap; /* @@ -588,21 +610,9 @@ xfs_attr_rmtval_remove( if (error) return error; ASSERT(nmap == 1); - ASSERT((map.br_startblock != DELAYSTARTBLOCK) && - (map.br_startblock != HOLESTARTBLOCK)); - - dblkno = XFS_FSB_TO_DADDR(mp, map.br_startblock), - dblkcnt = XFS_FSB_TO_BB(mp, map.br_blockcount); - - /* - * If the "remote" value is in the cache, remove it. - */ - bp = xfs_buf_incore(mp->m_ddev_targp, dblkno, dblkcnt, XBF_TRYLOCK); - if (bp) { - xfs_buf_stale(bp); - xfs_buf_relse(bp); - bp = NULL; - } + error = xfs_attr_rmtval_stale(args->dp, &map, XBF_TRYLOCK); + if (error) + return error; lblkno += map.br_blockcount; blkcnt -= map.br_blockcount; diff --git a/fs/xfs/libxfs/xfs_attr_remote.h b/fs/xfs/libxfs/xfs_attr_remote.h index 9d20b66ad379..6fb4572845ce 100644 --- a/fs/xfs/libxfs/xfs_attr_remote.h +++ b/fs/xfs/libxfs/xfs_attr_remote.h @@ -11,5 +11,7 @@ int xfs_attr3_rmt_blocks(struct xfs_mount *mp, int attrlen); int xfs_attr_rmtval_get(struct xfs_da_args *args); int xfs_attr_rmtval_set(struct xfs_da_args *args); int xfs_attr_rmtval_remove(struct xfs_da_args *args); +int xfs_attr_rmtval_stale(struct xfs_inode *ip, struct xfs_bmbt_irec *map, + xfs_buf_flags_t incore_flags); #endif /* __XFS_ATTR_REMOTE_H__ */ From patchwork Tue Oct 4 10:28:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998119 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 2F604C4332F for ; Tue, 4 Oct 2022 10:29:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229701AbiJDK33 (ORCPT ); Tue, 4 Oct 2022 06:29:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229780AbiJDK3X (ORCPT ); Tue, 4 Oct 2022 06:29:23 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 34EDE2CE10 for ; Tue, 4 Oct 2022 03:29:22 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949SHQv029354; Tue, 4 Oct 2022 10:29: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=5xgtfSnUDwmoSmEmpDf5RUcIFF+w0a17TOLPQsr9bqU=; b=BnUX+iftoDzibv2oyNbY4M0wP7V922QXOlH6qdPagEV2133Fk9PDtpce8c6iYVxxApZc 6vtJZPsPJVTSvSD34wmRutnoGhQ7vR42eT+2f9NOMSs2R59OQNHPIHkbTO+W1ffIcXs0 J6WGXh0UtlxAb2C4c1fW9wzs87KlgFltTlVIk3C1XlOhJ1ssjv1N+0SXMnPzTmJaSNaF ko6zHPgyFbpn6N9R3inhAIMNZ+mKcVilBnEpd9V+mSBrh4iY9MCLIxXgzljWd+YXHdpS RKFViCai1A9YuMB5stwo7OgZWN9FqNyS6EksR4HTO+b1xP1lcK+QxcP1VUfBdORxiNN3 7Q== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxc51xb4e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:18 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948Aks1005348; Tue, 4 Oct 2022 10:29:18 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc03tq3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k/EMQ319KQ3dTH7OGDMsVPYlorY5oDydJbXzO2/6BiR+0VARoQ+A+Puvr4nog9v6dAqOI1YYvu4yO4v3Evwry7CpSUrW5dyQZtKs+STbWSaFCsTxZE1G6a+Vbd7HBjfjQxYDTibeEPk1SqmYagBayzIh3RD+Kzka5NLdiV3tWHuECynltdDtHGgOsGYxhrGvCDYePwtZHmEN3v1ANQYeaXeqObcZfyO2AY6ei6GitX3K84ubsiqY6B7Mpf4g22Lz0y453AlRHbotmdzSyGO29J//XQajGZKabHT3MYGZZwpH1TWzIKch+ju5PMBghOxfEkeCL72qBzh9Zt9ngNKpyQ== 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=5xgtfSnUDwmoSmEmpDf5RUcIFF+w0a17TOLPQsr9bqU=; b=Dts+mYr4JoVZ1ohU0FZSbXKz4rcsPcd5KPmtXlxjFIufyK+NKuozwRCY09hiLA+4FZf0NUuTXlNoVuWUzkOoX6qzpNgHGVq5l2NYCSVUbgCau2BciYvVqV+BfwsnW4Z8MSn2x+z79K4zHql5rocqCWN69+4afnl+Ocqqe3IxRYeSNzM8P5BcW4EUI6Zl9tOl8GOWkqyXIPN+PxeodJTCOhAesH3/XbGNLIaLUbZ+aQ3gvs1LlNSoUo8kjilo6Fm7NLTf680DSLuBb1aLnVybQE/BBo3x9LcKeFA+gf7WnBH+GkIvPaMocdebr0Ia0tZ9zIej4l+nKMBFGG3UgocDFA== 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=5xgtfSnUDwmoSmEmpDf5RUcIFF+w0a17TOLPQsr9bqU=; b=zz7r2Cl0OAIJdJsqeZ8FUL6hpqfKpJ2/x7WM4sRmcsQ7fmhlll1IvgYbruAlLeNy1/gcCAlEYTz9T2GDIH5AqsD/OWrOQgZeEDL6icrOiRI8rDY5dnyHO5DY0g6LPEXj6Zldn38syQy17f7fpFya1p6GPy5Mpnh7U95tTHGAvnA= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:16 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29:16 +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/11] xfs: fix memory corruption during remote attr value buffer invalidation Date: Tue, 4 Oct 2022 15:58:19 +0530 Message-Id: <20221004102823.1486946-8-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYCP286CA0129.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b6::17) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: ebdce871-de49-41cb-8e83-08daa5f349e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: h/dOinKlKkFwB4ABPDWXK3EkHgfkHPZlfw3XpAuBSGUKgHZyrP4cD9+bOm5nBxIC3ercwpx8454HvvYQnUJ/KawlfzNFDquo7DBeA9KIz1u3d/C87RXtvvSAg9BYLIqNeya2G32gndw8sWLg7uEpZv81ksn8HTPpLDSObmJ83T+6nAiMWFqVwu65a474d5h8T1t582Jpr3FlvJfJjeDTJ4xeFMpLYvEycljrzfjND7Jk5GQPvU4ybQ5UPm/h1Dz6I4C389ulfmDF+fgpHOUjuUiPv31WHWhXUFmG9l0dn4XITTHv2dfeJ/oMahWxj1ZCwKDJg6qkGbdEcWB9Ed/W7Cd5a067y6ArtHXrDFFISzQ2/hKRWjynoGhYkEOn7xVKOA9SOrTVdirsteQ1jXQ/zl16vH/p+Q2GY7VLaDsdOk5OwaLiwwW4/AemNOj8p1LT60ik6NG87U9GbO3XpHpXz4P5427SLavcePeOpD81swuxf8PXX+xm9RGwgQcnL7+PV6JSVT85AuJ+Gn1n3GCaW70GOwZ7puORxGpw57pUlplpWjjrE5RPjdnHoELWkYPl8Tr8Gt/rD5mSv7NHm8lIKIrbO74fpXqjPKy040yT53upjcO6MEIuG74TQ4b7XtBDdQxalaIz4BeN80iF+bPfraNx/Q17iu33GVQqLm52fZFJL8i9agvW9Zy5IosSggZaOI6kHg5F0ZoUn8rxx4kP3g== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uf85NnmKtBWEKWDWGAkyXTTAcMhmSlmovd3X/92HgmpDOz18MWWpSOJjXDObCMtgLTc9V4vhSLv1nMh8Eq6oriq2TiJbwvKrmwb9EouQlrkzUMVGzve3OJ/nVjEujSIIGM+NyaXZfbR+pn6wXl2VXP4QdM127SToEJtjUBT9qTrmADoYCp6my74kXilXEQ/QuvByjSC4qxL0ojEgUl3lnEkQVjuON/p2UEXUMqPNxdjlJjpswp6+AXal8tXKrlAECOhuOpo2RxOBG1sAGyIcdNBXwXbDUCO0z8uUkPwwm7rCrvDVzXl1YSnTL6ZHwS28fVayGOZ/lJc4eiEyinbivlEqUyHQ2jKKHV4gTnuJfF+rPNziFisQArEWGXMfXv52PW9iPximbDuEk3+MPDDhreEGbHnCMsFS9gwzUge9yTx32lfjfAofauIoGsRaeQnnDjM6XYgD2WHFcGqA8cx4xdk3t30rOpA/J62biEbZrcGvTnEDt7EBo1Oy1EL/JW1UzGxmogZDg75+4qt9fGTfMNN7TAiiqaLrPVYdxwZecU6/fkI/l4HRoBiljfTYUVx+GK1K+aQh+AqGnK3NIWaheGsJnq6ivricgcOkvKPUKDoytOa7Ia2ytkFQ3TcUHiNsPeZrrIDy1CIxfSEF/ibEFW52XYkbyNO/sQQYe/jV4lxX/ka6V26lbmnMuyQ+fsYlpHSSB4gVnLAlikuW3ploSWbucxxT63t03pV1lTa3gnWqW8YVghEh1JVnzMqS1YApctnuVwieROlilXiMRWT7OWBGablEHkskg2+GfVrIlvbHl3keb1u7y4wG+gBakOOzScVU+Q2DX287pxItsErQHBcIqtAjEyjtghNArg/MA7xkqFaYboRZnz2gXU2hlUOTQeGgokVGsI/60wf5uTLMZSkcbjXuYfxiRxDle/Xp5sP6OG10iUbcPW4P77nCQoItGJOGqDCu7LjX7VOeMdiDHyebopZoLpFrsrZG3bpNzFb4suSH+HXXfwDSCm8os7Et8nM6LoKYr5cY9/vya60sol3D1+iKnsusTdADdAwkraG1hGwEOmnBrYrwm7O4KRP+G7GvqT6ynELhyAqM0XYZetWd0fJjIx+ysOoZ5JU8xv5I7qtLEizrbj3mh6HDJ3EmxtBR0e0ytU2MG1JMW9ailILjzmkO0GtqUim9zqgTfllHekJgSTngWueFnUMg/QA/6H/lz0ShlATH/Qy8M26sn0O1D3IVgQr/HLzROWEF+oIampuSYh1q2I2vhPYQ86cN3eafRLnJo56pDp/Jo7Eq6tv7RWfzI/OGogOxv8TGZ4KlbftFPRSxWDVUsoVIugH7uCiQMBTC7t6vNsZNl0gUU4589W7I5lnowal/5nSeNKLaqi+76ZMj8nk8JuKj8oG5jtrNkAOlmRL8B7bEuh/DZ8tkN8Q/YB6VUI9XR70kzAGtOn+F4oVpKeIXDrE5lynodz6ZdVOxmltAE+dYcSOVfaJlwgBnmwj1OI62JAxKEfzUu/Yx4lgUj827xcXXWANCko6tSxfBVzD1jAHBm97nYkEr8stW2E/mibeZHEiQydGC8YPweOolV3AEeaQ6mPistiZ7Q5j+ZPB7FBXOB00AjA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ebdce871-de49-41cb-8e83-08daa5f349e2 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:16.3285 (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: HNSb1k4frg0olWG+EOVGAajqx+esMihgJ8jj5fcZgGCubT9qrBSJoDkj0zoOTu8DukFc2S/Rgz9Q7gse/v+ybQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-GUID: 9fY-utiAEBjPhqaKyVK8WL6J2e9chYAN X-Proofpoint-ORIG-GUID: 9fY-utiAEBjPhqaKyVK8WL6J2e9chYAN Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit e8db2aafcedb7d88320ab83f1000f1606b26d4d7 upstream. [Replaced XFS_IS_CORRUPT() calls with ASSERT() for 5.4.y backport] While running generic/103, I observed what looks like memory corruption and (with slub debugging turned on) a slub redzone warning on i386 when inactivating an inode with a 64k remote attr value. On a v5 filesystem, maximally sized remote attr values require one block more than 64k worth of space to hold both the remote attribute value header (64 bytes). On a 4k block filesystem this results in a 68k buffer; on a 64k block filesystem, this would be a 128k buffer. Note that even though we'll never use more than 65,600 bytes of this buffer, XFS_MAX_BLOCKSIZE is 64k. This is a problem because the definition of struct xfs_buf_log_format allows for XFS_MAX_BLOCKSIZE worth of dirty bitmap (64k). On i386 when we invalidate a remote attribute, xfs_trans_binval zeroes all 68k worth of the dirty map, writing right off the end of the log item and corrupting memory. We've gotten away with this on x86_64 for years because the compiler inserts a u32 padding on the end of struct xfs_buf_log_format. Fortunately for us, remote attribute values are written to disk with xfs_bwrite(), which is to say that they are not logged. Fix the problem by removing all places where we could end up creating a buffer log item for a remote attribute value and leave a note explaining why. Next, replace the open-coded buffer invalidation with a call to the helper we created in the previous patch that does better checking for bad metadata before marking the buffer stale. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_attr_remote.c | 37 +++++++++++++++++++++----- fs/xfs/xfs_attr_inactive.c | 47 +++++++++------------------------ 2 files changed, 44 insertions(+), 40 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr_remote.c b/fs/xfs/libxfs/xfs_attr_remote.c index 4e5579edcf8c..de9096b8a47c 100644 --- a/fs/xfs/libxfs/xfs_attr_remote.c +++ b/fs/xfs/libxfs/xfs_attr_remote.c @@ -24,6 +24,23 @@ #define ATTR_RMTVALUE_MAPSIZE 1 /* # of map entries at once */ +/* + * Remote Attribute Values + * ======================= + * + * Remote extended attribute values are conceptually simple -- they're written + * to data blocks mapped by an inode's attribute fork, and they have an upper + * size limit of 64k. Setting a value does not involve the XFS log. + * + * However, on a v5 filesystem, maximally sized remote attr values require one + * block more than 64k worth of space to hold both the remote attribute value + * header (64 bytes). On a 4k block filesystem this results in a 68k buffer; + * on a 64k block filesystem, this would be a 128k buffer. Note that the log + * format can only handle a dirty buffer of XFS_MAX_BLOCKSIZE length (64k). + * Therefore, we /must/ ensure that remote attribute value buffers never touch + * the logging system and therefore never have a log item. + */ + /* * Each contiguous block has a header, so it is not just a simple attribute * length to FSB conversion. @@ -400,17 +417,25 @@ xfs_attr_rmtval_get( (map[i].br_startblock != HOLESTARTBLOCK)); dblkno = XFS_FSB_TO_DADDR(mp, map[i].br_startblock); dblkcnt = XFS_FSB_TO_BB(mp, map[i].br_blockcount); - error = xfs_trans_read_buf(mp, args->trans, - mp->m_ddev_targp, - dblkno, dblkcnt, 0, &bp, - &xfs_attr3_rmt_buf_ops); - if (error) + bp = xfs_buf_read(mp->m_ddev_targp, dblkno, dblkcnt, 0, + &xfs_attr3_rmt_buf_ops); + if (!bp) + return -ENOMEM; + error = bp->b_error; + if (error) { + xfs_buf_ioerror_alert(bp, __func__); + xfs_buf_relse(bp); + + /* bad CRC means corrupted metadata */ + if (error == -EFSBADCRC) + error = -EFSCORRUPTED; return error; + } error = xfs_attr_rmtval_copyout(mp, bp, args->dp->i_ino, &offset, &valuelen, &dst); - xfs_trans_brelse(args->trans, bp); + xfs_buf_relse(bp); if (error) return error; diff --git a/fs/xfs/xfs_attr_inactive.c b/fs/xfs/xfs_attr_inactive.c index 766b1386402a..9d5c27db1239 100644 --- a/fs/xfs/xfs_attr_inactive.c +++ b/fs/xfs/xfs_attr_inactive.c @@ -25,22 +25,20 @@ #include "xfs_error.h" /* - * Look at all the extents for this logical region, - * invalidate any buffers that are incore/in transactions. + * Invalidate any incore buffers associated with this remote attribute value + * extent. We never log remote attribute value buffers, which means that they + * won't be attached to a transaction and are therefore safe to mark stale. + * The actual bunmapi will be taken care of later. */ STATIC int -xfs_attr3_leaf_freextent( - struct xfs_trans **trans, +xfs_attr3_rmt_stale( struct xfs_inode *dp, xfs_dablk_t blkno, int blkcnt) { struct xfs_bmbt_irec map; - struct xfs_buf *bp; xfs_dablk_t tblkno; - xfs_daddr_t dblkno; int tblkcnt; - int dblkcnt; int nmap; int error; @@ -57,35 +55,18 @@ xfs_attr3_leaf_freextent( nmap = 1; error = xfs_bmapi_read(dp, (xfs_fileoff_t)tblkno, tblkcnt, &map, &nmap, XFS_BMAPI_ATTRFORK); - if (error) { + if (error) return error; - } ASSERT(nmap == 1); - ASSERT(map.br_startblock != DELAYSTARTBLOCK); /* - * If it's a hole, these are already unmapped - * so there's nothing to invalidate. + * Mark any incore buffers for the remote value as stale. We + * never log remote attr value buffers, so the buffer should be + * easy to kill. */ - if (map.br_startblock != HOLESTARTBLOCK) { - - dblkno = XFS_FSB_TO_DADDR(dp->i_mount, - map.br_startblock); - dblkcnt = XFS_FSB_TO_BB(dp->i_mount, - map.br_blockcount); - bp = xfs_trans_get_buf(*trans, - dp->i_mount->m_ddev_targp, - dblkno, dblkcnt, 0); - if (!bp) - return -ENOMEM; - xfs_trans_binval(*trans, bp); - /* - * Roll to next transaction. - */ - error = xfs_trans_roll_inode(trans, dp); - if (error) - return error; - } + error = xfs_attr_rmtval_stale(dp, &map, 0); + if (error) + return error; tblkno += map.br_blockcount; tblkcnt -= map.br_blockcount; @@ -174,9 +155,7 @@ xfs_attr3_leaf_inactive( */ error = 0; for (lp = list, i = 0; i < count; i++, lp++) { - tmp = xfs_attr3_leaf_freextent(trans, dp, - lp->valueblk, lp->valuelen); - + tmp = xfs_attr3_rmt_stale(dp, lp->valueblk, lp->valuelen); if (error == 0) error = tmp; /* save only the 1st errno */ } From patchwork Tue Oct 4 10:28:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998120 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 880ADC433FE for ; Tue, 4 Oct 2022 10:29:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229716AbiJDK3d (ORCPT ); Tue, 4 Oct 2022 06:29:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229548AbiJDK3a (ORCPT ); Tue, 4 Oct 2022 06:29:30 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0995F2CC9A for ; Tue, 4 Oct 2022 03:29:28 -0700 (PDT) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2947UoHv001108; Tue, 4 Oct 2022 10:29:25 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=2mokfh3arWwydhT4w/g/V01JPln7Yp5DBEwFLu4f3UY=; b=TG1n6RduetoFjmAjyQq+nUsBU9QbBlXI2B0rrt8hKQkQ8Zou5yPTv15+KPtGM3x8SKct FjGc7LWr0wBg/Ictn2g4kXvPiEaluOO7xp9lz6PjadFnwA+C8fek2jMTS55F1IPYBNSR vbnwEwdPSCJV3l4z6smgzOR3942Dj0xdLWtV54uq0gyGIRamq9HQacZLXwvUP29wa+ap 6/DdLbqBQBWiTuiDu5NF9Vd/h7LCn2T5NWQvYTC6Fm77LdSyhwhcjPpy+vOdI0OiXxdk i8pDNMwbhFLzo986KCoAH6WBsk0ui3EVNdE8P4v4GgBDZTwe6xojL5wcZfXPJXOilIo6 cA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxd5tdxfa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:25 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948B3Y0001132; Tue, 4 Oct 2022 10:29:24 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc049npv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iP/1zzMjrJt/9amE99BAiBj/Tt4jsGHP1XYtxcPpX/lT0dhOlsaG4WsQeyv0Nk7ZQFwDA4iw/c6IBqq9IHLX/8oIvRg2spzh5KpyaiPZR+wbiooeptECyfF7ZU3WciIA1CRuMT1c4+zyVt2CWIAd5SrYpdIakH4SHH7IbzovwWSx0vp72JfOo/51C7TXJ8x4fCLH9Zx1yCsvTF1pYH7JSdqdVQ08Nsi3BtStaHyu0+9DLAdy2+YeZW86bWZpk/H7Mp9v5d3G3AsGTG21hyFyceQ1vpegq2KnQvNjQdkMWdZ2oHfchX05oIxcOTlMcT3rygOM9JcgqH/RX3n7BSMUug== 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=2mokfh3arWwydhT4w/g/V01JPln7Yp5DBEwFLu4f3UY=; b=dTDX2fWcknNq4pxmFvUjS69toH7HuvAmGy761yMdJXfM3avj8sOYCjiLzU3FwP3/Y0/7eFLcgv6Oz0Q8b1awDGKBSSYint1QJEBD6Cd4pI3DjQ2i1/QJVGKJKBaz5kyHJxLtz1yFt0hTBIBGNrC4H08e9vEKd1MLk0U511dI1Rz2ALdUvxphVESOLpx847UEzpf5MfGLsOrY/SsLTbTxfbIgJPzEuPhhfaHmT0vqRqvV4KawwCLV7DZiRorZ30Dk+k04REeeKOfG3iA1Fc+P9PAsvNpr/TGhbDr1/c43npt8KG4e26ZBReApkSFW0ehqvHWt3AFd9oJb8Thxk2LqIQ== 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=2mokfh3arWwydhT4w/g/V01JPln7Yp5DBEwFLu4f3UY=; b=J2zUw9RknmTBcabsSxUxQA85r3Lcm2mScC0kjNYvli4k1jMSF7VaH74stPBWyv6ZxVY5loqAojfHGl13vpizZc+eH41+LhKU9jvnat+YN0brXIdsFtNFmlFGWEioIMkN/BePRpppk9F0HdVkm21yxSwP7g1lhwljmlJ6zSrXrCQ= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:22 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29:22 +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/11] xfs: move incore structures out of xfs_da_format.h Date: Tue, 4 Oct 2022 15:58:20 +0530 Message-Id: <20221004102823.1486946-9-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYCP286CA0127.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b6::9) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 914d8622-054b-40fe-9dd2-08daa5f34da3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 85GSCzOVxoeXVL94zWVr0tUJqrOsEjugzNQ3ILQ/tBFnUN8cPQ4uSiQpVbfaDdmKLN4X3vPdzM3wAfXKEWmkCnedXmoVp1cVvi/raCHGDGLiy5qfONl7LuTjdBZ38en4eGr8kMVGrI0zCJNi/P9txkCBZppQBN/CS927P30aGHlExXd3yEa82VaQ7DgB1MCDWGUyad6S+rXz61A8verMMiD51UxZMh3QjLM8I4Ge5/G/a0fM2iDYBJj9Hg/SheDNAjY+duzy+IKQUWkRB1ThvSUU1RT5VbL9jqrLl2YuA+m/RsNWk8aq76bRSPGkV7M+8rUNGoPvNNZOs73aX3HR430Sv0+bRihTT9KWcx/HMIvWTfCtrE+d64da1ZHT+3yYKV3yMipi8wujvlKQcnxNnXjwni6ph8PYe2OWu52IbGYpRy3UPYa9ndQ6BCVOrcnuzOG+kd8q+qNBca7XYrKBJxPdan1JsQtfuNOphcWcs3FNMe8ir5sKjbx0wuzfCaKLWf9Viz1pZBKmqIiqtaAhy4HvD5/BQh0dwpr2flibYAJmH34eClEOXvo7ISw7vKVi8a+Be8Zsq7RnM2WUwSvS0/2meQk1FF9FT2jJTqMr6imhlnMkumC50M4cpTJev8kWYm8hhi6MlhSkIVyb5qMIsUABtWJk3HIktSoFVA6j99sYsGwpz9Q9F4XINITTgztl23U/HiUuVclNtK4p3S6jgQ== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xv2xEK0EPiRjls8meJ8Eknyk5O4DgG0tA0lGjuUvkXpCZ6WlaSQ2uBv7KW5ptvQQDb6T36riaqFTc8jPuATqsutX2yMxVJ8zIGkMqEXJWFy4XdPlt6KV6tI7f1Ag1LTL+/kUuvoKpUxlJCvy53ncSII8HKQoyyoDo09yUI7eqjYFk/04MvHNLYyh7DyTOzcNOJYQ4ERAQU9bD0xR9lao/UUPcfhVq0M4O+gWFBquMUdHiSSI20uouAcjGz0eCSHzKZzToQZCbau+KKgZF8lrBQ3wXmHxFlQxo+Mm6UN3kZa2nUre2XaLkzS4mlib36umzaphgO+Dad0VLS1o4ndOZCa5RufCLTF68F7dEXpCsWehdbHMo+Ji2juZLyr3PnMkjrSthrnhnwaPx57UMyczR/Ur/l0SmxfhX6zjFc7P6os/jWENcN0Z4nlWuoQ5dbb221J02Iw+rgtBoyeohRDE8otaujr35O2l4bw3sgO57zv//avQYPOCWxEby453gwH2ShogWM7UERMn3m9V59u+Mmh++mCVl1KnB3/VvGvJnyWbcwrwf6dwKygn6Ng6HuRRLS7BCRYTEFyNB9lwFIEYX9REI2d7OlpOywk/WVJfwFFXLz6LUs5BT7QiVAaa2jUCKAOe/ffaDXOEUs8OcZOV3i2lNrf9Hcr1KSGaF+buto+kmj2J59xsvmrh/P8uWRx6okRGulg8ly17C5CyrEiXbj9vWU8ED3Jp2USDzS6sJv0BHss7F0XfJWWCqX3D1KuPkcqv1GQgfhpOheoN8bYeHAiBoqdu6UTpG8os/JiCqOTvAunCx4zHI/oyOckgDixyv/4/wvMQPaOq7OpOTVYN2LKagNJYFoBez34SXd85riMy9Y1pWf6+Mh1Uhgs6skoJYI24XruGgfKzIcSXYXXGXDXnS8bm28u9nadXYMAHsJ+S7aCGIeDssuM28cbzB/qRPwGQRTE7ZC9WdQ8O6ipbddV4syA69KrX9fwvsAv5My4g18SkbJVTYFWf3UDVJpjkFWmfMxsd7Iw6mr2KP3BUsorkRQQq02cqfMn/Y3BUollkGtOhp8Dgcn4EOaHJkD9j7BpCHiJ+X6ICZDEh56qcEq0y8ckpSCYYxHcv5M5+fPgKytxrbdS7hWgItxjfqDuv4W2/BUR7oZArGJa8wMwLpjpOQzWYjZLEvjPtyFDCcbtILNdfsjteStzLkZfNIPsINDdDPQm2oJfkzulOgLnDzD7+Iu0ML8apC6s12fSlayvdsNXZ379EdqeENem7XUvfvYfhVzba/Mc3+bf7M/aYZiuktQoCOwOzYkHmQtx2Q9WvJ8ffQKeJIQNhDc+lhicrA6VuE9HDGQfi6MxapINCNvzSNsAsE9esy05AFqo6jkz5JU3amiKkm8A8PZMnH7AGLKUWTa+fB+t0F4+aWp+M2SGepDdWEanRZu5PAoFj+v/veeDzYY++/33FNQBezRxxsBJLOovGB5fXHnGN9SHdGO3CpS8cM6JQEs4Tj4p7AJP+fsLyndGTprt2lyxg5uvgIM8OJoyGCZa1y1NfbtzCtjBM87uypP/OO50T/4fUeGX48pNC4w+gKMCDJMsl61u7l6Yg03vXRs/fBO7BEVZDtA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 914d8622-054b-40fe-9dd2-08daa5f34da3 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:22.6269 (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: kViSjZGABxqajqqllhEvwQ6JZjlLLCPSjoEtnUFT8kV2zHi4Js2+HdcIUPWh1mX2p1B05gcPSNekG+qX1XbN1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-ORIG-GUID: gTEDTAC_mlN5dy2FRh-Sf9WO7c0SZ0q5 X-Proofpoint-GUID: gTEDTAC_mlN5dy2FRh-Sf9WO7c0SZ0q5 Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Christoph Hellwig commit a39f089a25e75c3d17b955d8eb8bc781f23364f3 upstream. Move the abstract in-memory version of various btree block headers out of xfs_da_format.h as they aren't on-disk formats. 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_attr_leaf.h | 23 ++++++++++++++ fs/xfs/libxfs/xfs_da_btree.h | 13 ++++++++ fs/xfs/libxfs/xfs_da_format.c | 1 + fs/xfs/libxfs/xfs_da_format.h | 57 ----------------------------------- fs/xfs/libxfs/xfs_dir2.h | 2 ++ fs/xfs/libxfs/xfs_dir2_priv.h | 19 ++++++++++++ 6 files changed, 58 insertions(+), 57 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr_leaf.h b/fs/xfs/libxfs/xfs_attr_leaf.h index 7b74e18becff..23dd84200e09 100644 --- a/fs/xfs/libxfs/xfs_attr_leaf.h +++ b/fs/xfs/libxfs/xfs_attr_leaf.h @@ -16,6 +16,29 @@ struct xfs_da_state_blk; struct xfs_inode; struct xfs_trans; +/* + * Incore version of the attribute leaf header. + */ +struct xfs_attr3_icleaf_hdr { + uint32_t forw; + uint32_t back; + uint16_t magic; + uint16_t count; + uint16_t usedbytes; + /* + * Firstused is 32-bit here instead of 16-bit like the on-disk variant + * to support maximum fsb size of 64k without overflow issues throughout + * the attr code. Instead, the overflow condition is handled on + * conversion to/from disk. + */ + uint32_t firstused; + __u8 holes; + struct { + uint16_t base; + uint16_t size; + } freemap[XFS_ATTR_LEAF_MAPSIZE]; +}; + /* * Used to keep a list of "remote value" extents when unlinking an inode. */ diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h index eebbc66f4c05..588e4674e931 100644 --- a/fs/xfs/libxfs/xfs_da_btree.h +++ b/fs/xfs/libxfs/xfs_da_btree.h @@ -126,6 +126,19 @@ typedef struct xfs_da_state { /* for dirv2 extrablk is data */ } xfs_da_state_t; +/* + * In-core version of the node header to abstract the differences in the v2 and + * v3 disk format of the headers. Callers need to convert to/from disk format as + * appropriate. + */ +struct xfs_da3_icnode_hdr { + uint32_t forw; + uint32_t back; + uint16_t magic; + uint16_t count; + uint16_t level; +}; + /* * Utility macros to aid in logging changed structure fields. */ diff --git a/fs/xfs/libxfs/xfs_da_format.c b/fs/xfs/libxfs/xfs_da_format.c index b1ae572496b6..31bb250c1899 100644 --- a/fs/xfs/libxfs/xfs_da_format.c +++ b/fs/xfs/libxfs/xfs_da_format.c @@ -13,6 +13,7 @@ #include "xfs_mount.h" #include "xfs_inode.h" #include "xfs_dir2.h" +#include "xfs_dir2_priv.h" /* * Shortform directory ops diff --git a/fs/xfs/libxfs/xfs_da_format.h b/fs/xfs/libxfs/xfs_da_format.h index cda10902df1e..222ee48da5e8 100644 --- a/fs/xfs/libxfs/xfs_da_format.h +++ b/fs/xfs/libxfs/xfs_da_format.h @@ -93,19 +93,6 @@ struct xfs_da3_intnode { struct xfs_da_node_entry __btree[]; }; -/* - * In-core version of the node header to abstract the differences in the v2 and - * v3 disk format of the headers. Callers need to convert to/from disk format as - * appropriate. - */ -struct xfs_da3_icnode_hdr { - uint32_t forw; - uint32_t back; - uint16_t magic; - uint16_t count; - uint16_t level; -}; - /* * Directory version 2. * @@ -434,14 +421,6 @@ struct xfs_dir3_leaf_hdr { __be32 pad; /* 64 bit alignment */ }; -struct xfs_dir3_icleaf_hdr { - uint32_t forw; - uint32_t back; - uint16_t magic; - uint16_t count; - uint16_t stale; -}; - /* * Leaf block entry. */ @@ -520,19 +499,6 @@ struct xfs_dir3_free { #define XFS_DIR3_FREE_CRC_OFF offsetof(struct xfs_dir3_free, hdr.hdr.crc) -/* - * In core version of the free block header, abstracted away from on-disk format - * differences. Use this in the code, and convert to/from the disk version using - * xfs_dir3_free_hdr_from_disk/xfs_dir3_free_hdr_to_disk. - */ -struct xfs_dir3_icfree_hdr { - uint32_t magic; - uint32_t firstdb; - uint32_t nvalid; - uint32_t nused; - -}; - /* * Single block format. * @@ -709,29 +675,6 @@ struct xfs_attr3_leafblock { */ }; -/* - * incore, neutral version of the attribute leaf header - */ -struct xfs_attr3_icleaf_hdr { - uint32_t forw; - uint32_t back; - uint16_t magic; - uint16_t count; - uint16_t usedbytes; - /* - * firstused is 32-bit here instead of 16-bit like the on-disk variant - * to support maximum fsb size of 64k without overflow issues throughout - * the attr code. Instead, the overflow condition is handled on - * conversion to/from disk. - */ - uint32_t firstused; - __u8 holes; - struct { - uint16_t base; - uint16_t size; - } freemap[XFS_ATTR_LEAF_MAPSIZE]; -}; - /* * Special value to represent fs block size in the leaf header firstused field. * Only used when block size overflows the 2-bytes available on disk. diff --git a/fs/xfs/libxfs/xfs_dir2.h b/fs/xfs/libxfs/xfs_dir2.h index f54244779492..e170792c0acc 100644 --- a/fs/xfs/libxfs/xfs_dir2.h +++ b/fs/xfs/libxfs/xfs_dir2.h @@ -18,6 +18,8 @@ struct xfs_dir2_sf_entry; struct xfs_dir2_data_hdr; struct xfs_dir2_data_entry; struct xfs_dir2_data_unused; +struct xfs_dir3_icfree_hdr; +struct xfs_dir3_icleaf_hdr; extern struct xfs_name xfs_name_dotdot; diff --git a/fs/xfs/libxfs/xfs_dir2_priv.h b/fs/xfs/libxfs/xfs_dir2_priv.h index 59f9fb2241a5..d2eaea663e7f 100644 --- a/fs/xfs/libxfs/xfs_dir2_priv.h +++ b/fs/xfs/libxfs/xfs_dir2_priv.h @@ -8,6 +8,25 @@ struct dir_context; +/* + * In-core version of the leaf and free block headers to abstract the + * differences in the v2 and v3 disk format of the headers. + */ +struct xfs_dir3_icleaf_hdr { + uint32_t forw; + uint32_t back; + uint16_t magic; + uint16_t count; + uint16_t stale; +}; + +struct xfs_dir3_icfree_hdr { + uint32_t magic; + uint32_t firstdb; + uint32_t nvalid; + uint32_t nused; +}; + /* xfs_dir2.c */ extern int xfs_dir2_grow_inode(struct xfs_da_args *args, int space, xfs_dir2_db_t *dbp); From patchwork Tue Oct 4 10:28:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998121 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 858FAC433F5 for ; Tue, 4 Oct 2022 10:29:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229548AbiJDK3n (ORCPT ); Tue, 4 Oct 2022 06:29:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229739AbiJDK3l (ORCPT ); Tue, 4 Oct 2022 06:29:41 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F0504B89 for ; Tue, 4 Oct 2022 03:29:35 -0700 (PDT) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2947Uc93000854; Tue, 4 Oct 2022 10:29:32 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=owO/3p71M6g5jJk+zIgOBQkqWBhkGYlNu2qxcwGD+/M=; b=GdIiRM7E50SzVLyecjvHlCRFMsQtfhNQ1EtPqvkCKG0gs8V5XM2Ebnd+jqrUERB2HKx8 FDtBheAcjbvW4EMK7E5utigjvSOAw4mc7X19RgJLggRn4Eua+ovjVL2mt64AlL4w+iFq cADglpsH+t8XSPNYlxJ6F0KEQC+x0p0Y5mbXT6QOpUu/4ULsodkJG1wAp4dYhJQQ904X Sz7rIbb7w9lSxZC76FpDtxPKUGnNBPctV2eOq7vCR48SM1vJMru7YEkSbnnvfppYtF6Y 8f+WLkOMLh+JYPJWY7XXHuLVpGfB8W6y26MoQdPP7HrHtt6z9sc2IT8D3qiaQZ8eiK7F oQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxbyn5vy0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:31 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948B3Eo033844; Tue, 4 Oct 2022 10:29:31 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3jxc04346k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VuMkroxitlm16xgqedEA+/WJKcAhF980YTTaj8N8vmdXJXI2cBQYsgeWmReHT4bjWXIM3Ssy8C5oD1LuMiaFYZmdRYPIu//20GFF2IkQN/bsnTthAkTFR9MlYIrVSo6Woiz3y/+U8KKGcMnFWSVUH9F4YRTdNdH+heRwh86LC4pABY14cI3cNUuI5oXqEs1mypR450ZysDf384S22sWbaBEIlcwrPQ4W5r0E40DmW1xnFftJlQWtkln06RVBPB3agJe2dph0hdFCyGW92+bqBzUF2i5VhASvA0qEGaiN1fIlDAgbl//T5elvMMoZrdSP2Ory8wX3+RgkOuGE7PIwhQ== 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=owO/3p71M6g5jJk+zIgOBQkqWBhkGYlNu2qxcwGD+/M=; b=b6z4OECI3sJeBUXco4uSA4xk5+Nhuu4hYTfWydAppVxf2wihdC7oIVPSDLVcEOcI/P3+9gUR5OCYVeE+nJc93+juRWNpW5ss9RUPlHTrk+0JlIvOs1m6IFyseIR7lqMZ97FXqYBhW//SF2NQtyF5WeOS4JYQZJez9rIekWRlT7XNqY3uKCPluPxqUpCfbf11/Fyuj7/gpSYyBu4jnsUaLAvM+l9n/gPFoOwNnEmURvHEnFuRnsCJKYaw++vgmexFHzvpJsEzWnQqR4DO1970190sbv8Ygcyb4ZndlKGCPI37l8DrajLZdIlWSvwnKz9vph4VTf9HoU36dyC+iM63zw== 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=owO/3p71M6g5jJk+zIgOBQkqWBhkGYlNu2qxcwGD+/M=; b=bm4RoKfTMZUfKUTan6H4SgEOmW/0kN3cdSrrU8l4DmmbVW5nIjcAFQbOBCGZk70H9WzvX/3viFf2mWKZAqSpxj0sJX8noRbiepeLfwjaocQkLqDnwracAqsnyDHLWOjAxRTNFIqB3PdqOJ2CeSjSS4TsN1GRZQrDf3iBjVdx33w= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:29 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29:29 +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/11] xfs: streamline xfs_attr3_leaf_inactive Date: Tue, 4 Oct 2022 15:58:21 +0530 Message-Id: <20221004102823.1486946-10-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYCP286CA0106.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:29c::13) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: b7b26a52-2226-4e1d-b9e0-08daa5f351ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k6HFTDTGtW668OIt+kpdrAkGCP/5ikR9DSlnAClMop1uAHfWsViLiDT3DXO8AwmQpM3zeWsj0nTeKwcxGqzfomI0OEhGoNfIDBS8ni/8HYsvW63ajiyU6713uCvLU5eUH/ijuXwWmXwR35mWIP41Sp7F3FvNYnnYDV5b+NNVGPy27H34e9jty6eOW86i3XU0QXWziP0MV/mp5U4gk90RCOh+fC+MCuxT8B+MfgBSNm/13aqXqTgmv5IuKHqWxgnfRyhtvvJUORiZ5ZyCj4+kg4ocyE7Nk3Me3AKSwBst/iWhdU8PEsxU38E1/YLqFjOORtSHl0f1S3m4rRPt3wSbEGpQCC6SFSHakNZIMdiMGKJ/IEl0wCq8XeQdWDcuEPl4xiWD3uFAiANro2WCviz53YxmmxhpKreKnKwf6zCYxZsTfEgO4XirBHgMLxX9Ab1L2ChupuaoFyi+bB17jT+DmxOwhRWNEelCkGImyJfybY2j+FgQ8FYBWc90iGBvQVQF6CxljgQdfNdR66KVKvcv1w8cycYOCgRLLaU04JqZQebC8C/wTrffsqHr6LJjNhMRKwnmTAq0U7dOyubfScRrajKkfWGesZjRUdwYVdXtRXA+SVCTNkd6CxhHGejyGqU7ziZV2ci/ZC8gjJUmqx5HKA9bafWbOZ4VbQoRZu01bXmPbulKrCvdm0rbUpoD+IFMb4BxUKi5Wwr80zRpDftMwQ== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cPx2KFpyYy/J1rz+qs8W5NtGHJJJ/iLjEed99MHFJliPxOUwSf/M3lhjntGoY5DI+K4jJAb6ELD0aazSWdW5qbjQeQU2LyWsDdxh0d7Q901Tl8H9TMWvlOEccigZw47FoQu4SlxefPkD8mcwCMIiEBiCEZGe6ftfct/YcKxFiJORrmvN/1t3LUx60oHoArKvM42358nFWaY63xXqNfsWerJgxIYFjKJyEo8JGDM3wXCKkqc2IAN83KKDlNCNRYhbCzeV3swq3LufaBnciU6tWg6H2vDdBsW3wgFhtOiij/h+XTo4w9ifWqLUolC3uOIwWqiqGWPLIjgTiLM8NAdy4LtmNKDrDkVWSWl2fGbnnJpU/E8YeaxQioFvZoMbLxBf9LR0g5LzYe5Qol2dNuH3SKFNEjwHpNzRO3eVVk3OlW2mv/A0Ul+a2toIkA8mHMrp7DBMfGRdgiw992XsHXuTCVVtmhH9jUlc7FLY1LcqhrBdf0vCTkOUw1N9Sjauq+hoanAGrYz/9jmoRdg9Y3+YFruaEmLf4SzE0Bgr2qAwFYvSu6ITznw+bTUIsbdp5/HZGgqYFUIdCt7gwZzaAP/3aMorISFugaLQUCfUkFSgdUjVi1cPd4Ee0YvjaBpLLxDKTBeflDSTX1u0xVaFAwpcS14zWWA6K5xLvu6U0n+GTy/Qu8j7FU0I/smV1E9CvFAc5GohjNNI8ZewrzRxUh5A5rOTTjLK4dfyIl9eG7L8DBsd5lvRnWaF9XZoq4YFJYuZbZKhZUmiDi8tge4rVij/48KwOWlTtmFiSJ7px05aw6c26J67k+xbEJzbb6ly/b/uhg1pzUqE/ZYbsb4H/XOBOHhBnl/ZViWqLp2sOGzX6oXP0zrvGJm5Hz9BUsELXu1e740564zUWBjtaWtDPWFu5B0Bgrppf+VAoc8US89VYP+tEQbo4YcVNHROXh+mZNQNWG80DhUflpImAXN9f+tOyTCT0w0joIX3TMTBoZEkuxnTp4MJJgbXCflicHP4oRzNeSPUj0EPTyhexk5tWFKyMNcewxRmIVpPUU5RnNngETlyOaY8sMgQe8fPvOo3McWMM18PgMAjQ1c3cM945tWLtXb9QIj7CTh7G8K7f5MEmfDxrtXinSbmz6T/RaJFpyGbpHQs2BYnCgru1jkqJsf6LQoE1lmm1YPmHuD05+0B9R75MoP9k68K5pEFu4eLH+Vnp1BahXmZ3zvq9VuXzlINXjOrXqiBVB5K494Qcb+DbqmwLM/79XCUmxLmx+KLILBvECe5HO4HZmVQeZEK18KZxTrv0+AcRaq8g+EPcUq7h13axKq8yyfAAh9okEXOgqsNT3Z6Z9nhl8APpqEn4XFmdTuobiLP9EtGdukBrXuFnfv0OPWmwyALgS3arSeuB6yUI4cLJpA7Eyfh2myvHvYrluZZ7rOeQjrP28pl6WC0U3DTygRJML8UXQBm5/pJ+TwDlS9HBJOQVU2KHK+WBxDmh2f2LI8mqAVwFBmJEBpCisQg3Pvo6UGt6rCdlWvWy4IzXEecZFjC3EBq2O7LxdARW1xY4cEB1DBkMO5OWME2EWDc08u00J5fOEdTITW/zW0DiYv3yMm1u4GNxWZPJMLZDQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7b26a52-2226-4e1d-b9e0-08daa5f351ba X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:29.3643 (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: TKq8Uhyf///CNQO49yyT5lOVvOVz+2tZRH9PLZmnVl9SKBvA5kTqVDFNLezToCwV/Bx/MEHTwa4ycwkF2+5//g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-GUID: JjdBgr3g3iSsEXT32E03Co4FRfht-l45 X-Proofpoint-ORIG-GUID: JjdBgr3g3iSsEXT32E03Co4FRfht-l45 Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 0bb9d159bd018b271e783d3b2d3bc82fa0727321 upstream. Now that we know we don't have to take a transaction to stale the incore buffers for a remote value, get rid of the unnecessary memory allocation in the leaf walker and call the rmt_stale function directly. Flatten the loop while we're at it. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Chandan Babu R --- fs/xfs/libxfs/xfs_attr_leaf.h | 9 --- fs/xfs/xfs_attr_inactive.c | 101 ++++++++++------------------------ 2 files changed, 29 insertions(+), 81 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr_leaf.h b/fs/xfs/libxfs/xfs_attr_leaf.h index 23dd84200e09..38c05d6ae2aa 100644 --- a/fs/xfs/libxfs/xfs_attr_leaf.h +++ b/fs/xfs/libxfs/xfs_attr_leaf.h @@ -39,15 +39,6 @@ struct xfs_attr3_icleaf_hdr { } freemap[XFS_ATTR_LEAF_MAPSIZE]; }; -/* - * Used to keep a list of "remote value" extents when unlinking an inode. - */ -typedef struct xfs_attr_inactive_list { - xfs_dablk_t valueblk; /* block number of value bytes */ - int valuelen; /* number of bytes in value */ -} xfs_attr_inactive_list_t; - - /*======================================================================== * Function prototypes for the kernel. *========================================================================*/ diff --git a/fs/xfs/xfs_attr_inactive.c b/fs/xfs/xfs_attr_inactive.c index 9d5c27db1239..1f331d51a901 100644 --- a/fs/xfs/xfs_attr_inactive.c +++ b/fs/xfs/xfs_attr_inactive.c @@ -37,8 +37,6 @@ xfs_attr3_rmt_stale( int blkcnt) { struct xfs_bmbt_irec map; - xfs_dablk_t tblkno; - int tblkcnt; int nmap; int error; @@ -46,14 +44,12 @@ xfs_attr3_rmt_stale( * Roll through the "value", invalidating the attribute value's * blocks. */ - tblkno = blkno; - tblkcnt = blkcnt; - while (tblkcnt > 0) { + while (blkcnt > 0) { /* * Try to remember where we decided to put the value. */ nmap = 1; - error = xfs_bmapi_read(dp, (xfs_fileoff_t)tblkno, tblkcnt, + error = xfs_bmapi_read(dp, (xfs_fileoff_t)blkno, blkcnt, &map, &nmap, XFS_BMAPI_ATTRFORK); if (error) return error; @@ -68,8 +64,8 @@ xfs_attr3_rmt_stale( if (error) return error; - tblkno += map.br_blockcount; - tblkcnt -= map.br_blockcount; + blkno += map.br_blockcount; + blkcnt -= map.br_blockcount; } return 0; @@ -83,84 +79,45 @@ xfs_attr3_rmt_stale( */ STATIC int xfs_attr3_leaf_inactive( - struct xfs_trans **trans, - struct xfs_inode *dp, - struct xfs_buf *bp) + struct xfs_trans **trans, + struct xfs_inode *dp, + struct xfs_buf *bp) { - struct xfs_attr_leafblock *leaf; - struct xfs_attr3_icleaf_hdr ichdr; - struct xfs_attr_leaf_entry *entry; + struct xfs_attr3_icleaf_hdr ichdr; + struct xfs_mount *mp = bp->b_mount; + struct xfs_attr_leafblock *leaf = bp->b_addr; + struct xfs_attr_leaf_entry *entry; struct xfs_attr_leaf_name_remote *name_rmt; - struct xfs_attr_inactive_list *list; - struct xfs_attr_inactive_list *lp; - int error; - int count; - int size; - int tmp; - int i; - struct xfs_mount *mp = bp->b_mount; + int error; + int i; - leaf = bp->b_addr; xfs_attr3_leaf_hdr_from_disk(mp->m_attr_geo, &ichdr, leaf); /* - * Count the number of "remote" value extents. + * Find the remote value extents for this leaf and invalidate their + * incore buffers. */ - count = 0; entry = xfs_attr3_leaf_entryp(leaf); for (i = 0; i < ichdr.count; entry++, i++) { - if (be16_to_cpu(entry->nameidx) && - ((entry->flags & XFS_ATTR_LOCAL) == 0)) { - name_rmt = xfs_attr3_leaf_name_remote(leaf, i); - if (name_rmt->valueblk) - count++; - } - } - - /* - * If there are no "remote" values, we're done. - */ - if (count == 0) { - xfs_trans_brelse(*trans, bp); - return 0; - } + int blkcnt; - /* - * Allocate storage for a list of all the "remote" value extents. - */ - size = count * sizeof(xfs_attr_inactive_list_t); - list = kmem_alloc(size, 0); + if (!entry->nameidx || (entry->flags & XFS_ATTR_LOCAL)) + continue; - /* - * Identify each of the "remote" value extents. - */ - lp = list; - entry = xfs_attr3_leaf_entryp(leaf); - for (i = 0; i < ichdr.count; entry++, i++) { - if (be16_to_cpu(entry->nameidx) && - ((entry->flags & XFS_ATTR_LOCAL) == 0)) { - name_rmt = xfs_attr3_leaf_name_remote(leaf, i); - if (name_rmt->valueblk) { - lp->valueblk = be32_to_cpu(name_rmt->valueblk); - lp->valuelen = xfs_attr3_rmt_blocks(dp->i_mount, - be32_to_cpu(name_rmt->valuelen)); - lp++; - } - } - } - xfs_trans_brelse(*trans, bp); /* unlock for trans. in freextent() */ + name_rmt = xfs_attr3_leaf_name_remote(leaf, i); + if (!name_rmt->valueblk) + continue; - /* - * Invalidate each of the "remote" value extents. - */ - error = 0; - for (lp = list, i = 0; i < count; i++, lp++) { - tmp = xfs_attr3_rmt_stale(dp, lp->valueblk, lp->valuelen); - if (error == 0) - error = tmp; /* save only the 1st errno */ + blkcnt = xfs_attr3_rmt_blocks(dp->i_mount, + be32_to_cpu(name_rmt->valuelen)); + error = xfs_attr3_rmt_stale(dp, + be32_to_cpu(name_rmt->valueblk), blkcnt); + if (error) + goto err; } - kmem_free(list); + xfs_trans_brelse(*trans, bp); +err: return error; } From patchwork Tue Oct 4 10:28:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998122 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 29A0DC433FE for ; Tue, 4 Oct 2022 10:29:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229739AbiJDK3o (ORCPT ); Tue, 4 Oct 2022 06:29:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56752 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229755AbiJDK3n (ORCPT ); Tue, 4 Oct 2022 06:29:43 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 112C420E for ; Tue, 4 Oct 2022 03:29:42 -0700 (PDT) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2947Uihi000851; Tue, 4 Oct 2022 10:29:37 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=Lk/g3M2G2amE+n6rpBJVoKI+E5jgP7Suy74Yn1iQHl8=; b=DftmnTkoSWwMthPZDJyFO4Fpi/GU9J6h3glbSJaQb9A1HzOMpybmw65cLu14rFH5pg7O lMDM7sxGbYDbZ1tLGZWAPDRb+GJX0Y/VvhjYpeo48LdLExiexeT0T1dP6V4SeDFG4c0z Ux19tnlZdYeZaPwDUkcfxq0G8LxAZSQPBoHWUktnhFSHJexovU+wGs/dVgbOYMOiiKfr DtJ5MaYZXpr1N/qBDeCoD5QL8dN6Vl3tD0x7zUyVmdRpndTZOmu2qCiVIKNoUjT9H0LM r09BEKXXUihzqN1/utwhkxXZN+rL8WLVsNrDACF5QEBuzV+XgyTKLRIj6sY3vy3YbbkU Iw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxd5tdxfx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:37 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948AYvX020157; Tue, 4 Oct 2022 10:29:36 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 3jxc0abhrj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZMB3J7rtpnRcY0dOoHHeIl+eiWSqLuSoGSrKhehHJCE1gdmviYn7TZyYfISv5yrCZ8IXhPfMftZMSyxwlqRCTcfrFgfhyG2oUC56FDhzTbnVI9NtjDn3HgqsY2UFRJGD5pT0T1bUifRkLBXC2/OrTCOQ8M0knAB7zgN/tWQU5JIxhx/YJJ+fow0z6jG35Z6y+QIZmchs5NmeCPz1NTRJl+Zdlg9y7S8TWjXd15L73XR00jrisNbtqlqkhMGlzcDLxpJw8HbKvkkp4FObzICls6c8EoQkSl1wxTcRIME3JGiZQ5AkF1A3lBaxzHG4djv99fec0So+yer3Cbt9PLpf2A== 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=Lk/g3M2G2amE+n6rpBJVoKI+E5jgP7Suy74Yn1iQHl8=; b=R2nIhlpL9BYh2bbGSIZ6iA/Ww1aldKXTyTr+W9w91pySeoL5pB6b/nSLSNqaBzjTlHh/dBJEnNRdo2oPwm8ky2QLfyKFhr0UZpBh756eJ60XE+Cx0SIymWJJfGfJUdYwXM4ptI/KRbPQhcMOpWcmbaWmYlP8pQO/XWiMrzWgpbHpKRJPe+Ya0TQC21HujDPDHZbn6saPy7zmb4aAvlccbdeX+/poqKNvInEAPQc50Py9Qj0w+8d7D1icTFzynvQjA3uDyqVDfiFeH1SHq2uT9w9OT00qSRyBGYQzeisAo8/8dheAAlFSc4lExxlayFRhPArT3yBohrHnaTPTZWKK8Q== 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=Lk/g3M2G2amE+n6rpBJVoKI+E5jgP7Suy74Yn1iQHl8=; b=J1fvEYKGS23OIrRk3ENwXF/MAPIE8SaWSzaa3umjOdbXnAwLAUuoTnotAsaiR0EoRU8MpYRdvtFswY+6OyPLC0gMNbmZQDJKfX3X3+JFWm7r7RQRTTaHdU23baf7u2Nu0FY1aL9BodP5k2TQdJg2DlxQau+c8v1GbpDqfv3qDYM= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:35 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29: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 10/11] xfs: fix uninitialized variable in xfs_attr3_leaf_inactive Date: Tue, 4 Oct 2022 15:58:22 +0530 Message-Id: <20221004102823.1486946-11-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYCP286CA0115.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:29c::19) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c036caa-fcf6-4be0-184e-08daa5f35521 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: T3ihHzSHkyBjjwfd0dsFPEc1puQHAhBVsB4gIGD+aInSIwphJas48DY6cftuueRer3A0ZMv4/cWY3qWXxK2D93BVCrVaFORJd+jem4yFMxYTVl5hUQGqrDiqhgQfOJtCnfe3OHtceSOVDmTG484qXrZXaQLwUFrBNu9sUhKOOziPxKee5NA5tHPj551LkectfzTPlv4x8F8tu+l9YQsOMK5yvIDpNpol85oRD/csiMj1RBeyqX/Teh7q2dkDAhc3MnMptz9xGNqCFd01XhoceP5ET+Qk5QSkc9R2E3F7BN2tVNLq5POAtsA+Y2FF3C/mpbFRqUDLdl3/3BDVbZFq4zdtZ+qAGQ6LkXqmTO3ZxykCzmWm6ttBcj3za6APVWKlHaOLBaYuoFVzZrpsX8wSxd9oiuWVyYTTOv8N2EAfS9pHe9TSP0WbTCdvYqssu80EWKG/ZvU4quVSZPJCRHnInk0wcOjyEmNnzUS1voFib6rlmU3PfOMRbcR/4bVATcoWNwJZSAeKDwy7OEZG5gcdFkH25mYB4ApWMd0Sih4sMzCYcKYm3MPoqm+eUUotQuGBlzfZSbB1FxT8QqxrIY7m7H88NMm7e1+35poy/NTw5Xzh71B0JBjSUNd5jgfOp/wHaLf8iqrXZkSBaXfpPju/rE5fRPTfhIdfPimqmAX3PvvbNGXDly5DERdgse4zCXKOs+yJezJK9wjMRf/Fv7JNPQ== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(66574015)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GaWBbB1qcmQFlk9bgq3duwDvkHkc/CTYF1kDy603u27O/QfPR/HTyltFj2M4OB1XXVCUD+6tpvUttuGj2k/QAxb1o29JzdDvouB9f0QgS99yp+jyqOQtXRtTNw7kVwT0R2ZIO/9m0lLWZIV1K8aCpC5APUJh8cxJ4I2aTUHttsXBcUk9FWszlKqJjMjzI1Z+/QOr+zbAu/CO3gneOQLmf8sfTjhdVhjUyTCpdlEOUgvpu2h6W/OVc7ZcUtVDNQL33v8zDBfFu2wX+1jU+XT3fzeznVY1iYctQQwG/jRxRq/GmSbNByaa2skV40o8uAYhjDLE1my72omqibOK7H411sW07FwyBMq+wKRraGgwCMyXOUDXiwph91lsAyqalXd65beVjwau8YnmJRnpY5E1clVF2Z/lXLrJD0+gbrqdiJ88hjabyYpJs6gGMLSIFrAAsmIzFXNSQhriplujJcwtLJzaqnEBAf9nVlkMvNQztYrXC1wNBs7pUVB8lyXW4KmUpp0UJ6ofETKiY3uEK5y8UhiR3UnA/9dmWZUhEdrq+hE8WNcW8Koi4q/Xy2Nk1eBSRLLEl8Ca2x50/YejhlBh8thE5YG75zPgVJZkFdjHmqC3HrHXDYz5i00hgjYWB0WeCnq1ebadBJyFaDzkx9mGXr1Jfx5es9H/qJ8d+0jFMftIEwj9wo2jfj8qJOdqHnsglyQM7qrF2ro/vZMiOy1F24Fdqw91AWfDrS2myh6t1oWTocwjEIV0wBPNJE/uSC7LGKMiIM8xLzWjGr2lK3bVUshTL6efHumVIoqGdw+mf4pm8PFcSgGF0wUBJHlXr/4umht0cNFt1yJPs+R0YaoNGfyk7kwYCIF/XaIAyLvBZyT3yJtRXnStL7DPMmr0zpJlsogqbjQ8GoRUVKe11RmoX/BtcPfy/2YBD9bdQ6rHKTNM62SSLjhfINC3wqMsOSOrrYBcq81QgU7s7nCrUREhmhwsE37SBC0RpOKpEh02jpJ/SnxDZwCL4dm7DycQap1mipvRV3JxwfmMx6CVf/BC6OWghrdsnP4oXtKDWhC3UdjtqVSO84s+cd0067oKHFfUa32YUDnbFPzV4Qv8bYkEFC97xyen7f/qHZ8fFgA9jbpkpiYen6IF4CqM7P8h2us453gPfyQuS0Gq4noWjOL5ezjPpNi9QZ84eKevf4wrEY5RV7dciiVMJ1VC5HxNBo8rLWPfJ18Ke9o2Of+ZmRsv7glvpUPqB0GT6rfATUQjLk9+jfeUV/A3lP/qYQQufi22/o2CXUOpJTzvtif0G0tVO5cXjC6zMF1tg6q0WBknN94VilCRIRSlzF4NNsJNKWX3fY4lNVdICPEeXsQ1b+x2vaVWs8bhp6CkujXLFxHEBOyqvQcnxDtPebQeg/KfrostyCrKJgKqpDjyqINg0Vgs14+wEeJSSRNSvsbYhJc8wanWTc+kVRX6h53/CopHW0Hyf5etrX6DTM9Kc8OPg677/F0OC8mrj2+VehOOG7Rr3+vDw4WK7hATHWB8qPZogN8ZOHIx+bAmQV4IutdcqPdc5pcMi66qomDm3DY/JXgGXO2+mgSx9f9oDHjR5BDdNWnHxW2XaUHShmDmMBGktOK1VQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c036caa-fcf6-4be0-184e-08daa5f35521 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:35.1945 (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: Ug58gPEwIBn/fBtWfZqHDXWKQKQTlMLwPX4XYmwDluQvyzdc5Yj6bMbAY5AVYnybFhwCFeQiLN7BJLLS94L+TQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 bulkscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-ORIG-GUID: jedGFqYJKhyCiTSwqqK5hdUEvrkpZefh X-Proofpoint-GUID: jedGFqYJKhyCiTSwqqK5hdUEvrkpZefh Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: "Darrick J. Wong" commit 54027a49938bbee1af62fad191139b14d4ee5cd2 upstream. Dan Carpenter pointed out that error is uninitialized. While there never should be an attr leaf block with zero entries, let's not leave that logic bomb there. Fixes: 0bb9d159bd01 ("xfs: streamline xfs_attr3_leaf_inactive") Reported-by: Dan Carpenter Signed-off-by: Darrick J. Wong Reviewed-by: Allison Collins Reviewed-by: Eric Sandeen Signed-off-by: Chandan Babu R --- fs/xfs/xfs_attr_inactive.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/xfs_attr_inactive.c b/fs/xfs/xfs_attr_inactive.c index 1f331d51a901..9c88203b537b 100644 --- a/fs/xfs/xfs_attr_inactive.c +++ b/fs/xfs/xfs_attr_inactive.c @@ -88,7 +88,7 @@ xfs_attr3_leaf_inactive( struct xfs_attr_leafblock *leaf = bp->b_addr; struct xfs_attr_leaf_entry *entry; struct xfs_attr_leaf_name_remote *name_rmt; - int error; + int error = 0; int i; xfs_attr3_leaf_hdr_from_disk(mp->m_attr_geo, &ichdr, leaf); From patchwork Tue Oct 4 10:28:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Babu R X-Patchwork-Id: 12998123 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 90B50C433FE for ; Tue, 4 Oct 2022 10:29:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229767AbiJDK3u (ORCPT ); Tue, 4 Oct 2022 06:29:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57208 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229771AbiJDK3s (ORCPT ); Tue, 4 Oct 2022 06:29:48 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B8A212765 for ; Tue, 4 Oct 2022 03:29:48 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2949KNO7032693; Tue, 4 Oct 2022 10:29:45 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=p61Wf+tALLi2ASmAeCCXqApbVCqb+Oysm27MBMg+WUY=; b=021IR6EmRRNe2eAll+xYx5EWLbwRWPn97I0Ap8pXNGBqYeX6RCrohdpl2ZE5PWhDlA8+ nI797pXFKcUSFpMF1pGjpxn7KBsfUauwtUa7UsiEzKbHYPJR3uNDWiNqysQRQ1Nva8+o kq/1+AtwmS1ZPzyx2pOzadq/FB/W/WA91dpiMR2lacAalyISx1rKsi0sabORUzVCf0ML W+1W+GNSmYjG8S8YPqKuD2+vY3ayJOspu9RmoWUBA/Mo/0adb4nipaxz08ojeEdvvBdL Cnnpo/gQr+XZiV0kqbgecFQaQBrCXZLbxKuqr2i8e13i59xXtZWxZ0fuBxKiBzv6u1H6 5Q== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jxe3tp87v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:44 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2948AWnV028277; Tue, 4 Oct 2022 10:29:43 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 3jxc0a3h8r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 04 Oct 2022 10:29:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y0IMws4o3PRApFXX9wfCNljUxFM/ACoIPGWbrDkQLNIVNLA5tkezIFCIwL2HEqzPMmGVh34nG1yb5dfq0PkGMn34yCu4Cr/5WhnP6/2xt9UaWA7xOeVTeHoco2HEcWvaUObvJ9UlTR5OZRpr8Q2q8RcbOTs9zS3/dodMhUdcPnpFDHZ7j6yX/OlwrRXG/FP+gEZeFmRTqrkH+ZQ9fN0uO+cjc2o7Xmbtny+Y1wcqc46Mlh/Nhhv/EYWiKjRc4DhLpsnqwKtqIqOIGFYZ2zuwk0vAAJLclqhs/Q/i16qRPWvbdV4JJXbGKe1lWDQ8xWtYA+6uBg/vQkUGV9saGZup7A== 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=p61Wf+tALLi2ASmAeCCXqApbVCqb+Oysm27MBMg+WUY=; b=f3u1EfEv5UUcQEe54ByQ4cmC8ZytOs3kNJBP8hWdiZcHcnFIGmkPlnmGsEjZ7t52sWafdATgQUC3TCxFtD71jTdy6eFc0Die03K4L5LrE2JGLX1EiRiOF7Lq0af/25RwiS8ErXrpozOwxny257t6W3QbHZVy5alJy9Oo9W4xjPuCtmZpShHl2eYpC+mzdFZrdNTUYdFQ4lOboa0GD7mZ2GM1uJ4gpUpqwaoxOq5EVLkpLcgaZG5LkpUBriz1PdWfsL9voGVIjTeF4EeaVot4RzxAHeJXjDmiHIe38UZ2wyD6MjQsU19AMFVdeRCJHe9562rm6hiiIlxSQKC6yGtZhw== 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=p61Wf+tALLi2ASmAeCCXqApbVCqb+Oysm27MBMg+WUY=; b=gI1J2+n8bWSkhTfv4m/2yGOwOCNcYdSGpdgSjc27U7A2L46kTCLoh2IvlksUjQE5/o58nXfFSQuf/DA7mZ2qsjTGxJ4+oxeZpFnKOWb8DAeQ4SsDRG0BIn8dkFh1PbzTnqgBIhcJOfj1legAHEOxSJ99zg68TlGO56NULICet7M= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by DS7PR10MB5184.namprd10.prod.outlook.com (2603:10b6:5:38e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Tue, 4 Oct 2022 10:29:41 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::822f:1816:1c2c:43d1%8]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:29:41 +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/11] xfs: remove unused variable 'done' Date: Tue, 4 Oct 2022 15:58:23 +0530 Message-Id: <20221004102823.1486946-12-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221004102823.1486946-1-chandan.babu@oracle.com> References: <20221004102823.1486946-1-chandan.babu@oracle.com> X-ClientProxiedBy: TYWPR01CA0041.jpnprd01.prod.outlook.com (2603:1096:400:17f::16) To SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB5867:EE_|DS7PR10MB5184:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a241a38-444a-40a4-b290-08daa5f358fe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IZMd2AK3d7/nkNzWN/lyevyTMNTY2eYP0mVlNy2ytH+QUSnzCX0syBh6NrYFRADlmedOEr9yKTDbHHP2ss5F3Imb8r2kU1jiC+IXwbxWbt3wFOxwfijlbUMjB8DDJM7L6SldmVbg+qNbWZGUpahQO9EoEnGKWEKZYWsuyVbsdZCiQxVAOmm9rhP4bKQN7rsd2F/FsKUl+BvyDLoDUuWNrrqSM5zW6rpMhz2rjHoxdui2UKMxgv7YSvB5Q3YQHu0M+7lvcGJCE4Z7ZXWWRoB+H8ObqsvyOuPebIGe9IMqGFveT3iiDL14D5BIWvmsQlWeItMpBQGqDGuOL9WL0pokzj9a97s6TTLL4n8Pba0HIbqKB8pLnTyXXsn/WayQhuxAZ7nu2vlT5x97D9sek3JbQ8ljRQnNyFNZMMCFPkWQ7uxdvrDKP0/2Vd9/qB+4fSwJmX6J9vLW5/Hn6ve9lwCZwHjbtvmq/WG/oyIH6wXwYTnuzRFVLPN/ecNqavL/1Z2jMcELsS72oUrN9JVRoyGELGVLpQqdZ7dimaf9qWt90qQX40wHYRw9LT9DOp3Q7Fb3beWGxwRBR0SSWdsCj2JMOYxTjAwdLyPlCZmc0kHpWNwfVkU76OKHGHiykXoZ78g3T6DiC2yhq/IdVafq1/yP+uREP3EMsrRLo6leySSlU617vBWYUVdK2pIBV4DcFS0pG8h+f/Goaafvml+b3E+xsA== 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:(13230022)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(38100700002)(86362001)(186003)(41300700001)(8936002)(5660300002)(316002)(6916009)(8676002)(66946007)(66556008)(66476007)(4326008)(26005)(6512007)(6506007)(6666004)(2616005)(1076003)(2906002)(6486002)(478600001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UnA1erYwdgiMN6kuv0F4P907VsoB0lWXusmcIDjIuehIPeGonVA2LecbkLdwHKRP6hXPQlvhBEqkFoaNgozLXdky20A6soZdS0006apcYmYHUm1yFjaxEAE5GWibXhz9Shui+qaIOHOrSzmdFQdBNL9qdSPJ7sok7GFcOSUPZbWNr1MeweYyXKGV3Py+x3Q0s3x0v/wZow887wAf/wwd/z12bCS5C4zISlv/lQ4l1TGyScOPCNmljoPTdqJpzn5vhdUnfRkuBkTciN0oLrhCVv349P1OOBPbijnbDAWdNUSK1pjPO24/Yc6EDwwoRVeehWThQD8WZQc0VKJSOS0CxH059gV/2jA7RXByZvTgM2Jj+hSb58r10sZAyBg/2XaG2txpT1ldUHtvjhdXEuMG0hGdg31eRzbgnocnDjq0VXhM0VdK9vk4gZWMRlAppRnZlSS3kwN0KdzP+0c0QcYxGbkqXtDC+goAX3xNJVJ4S+U7D174hp5IO2MI8BcJZUn6pABrbN8CGNE3siXtR3RVmov9Gt5JnJISrty8QWDercPU45Xg5JC0Rd4U6bnKVwIxuY3WoBqGCp6CwiiEbrBXsKXjNisvtmF9aVEF5g4zgh+HLJi4I0X+I994Is6esKLfcnLpXrA1Xqoq5iO/s9TG2aR7bzyjFFl1xa0d3ijqA+qYCHrHYGcxtTXyDOKHomNTXIS+NCCSj0la6GQwV9ebruuwzKYd+iBLnn6G8KKAcJ0zPoL7jJypZzDm18VQmQuWazYdFthEEfj+cw83C5Tq4bWIZskr7mOKwaywTFSvo04HsOcNQMuOo3opQYHph9BvdNdYu8KhX+8LHboq8WSAC1DvtSUsCAAvJKdIhuiAzE1t/3JQ9VXDriByRufugN2b7P/T7ywK2zTpK/VsxBQKateSrja3BmqKQUtHzFjZWKN1bas4SDyfhCvfGNoTkskNgl/UHXtvpXfSOZXnRm4uKO1uo0CdRfd9E9IzDce2BMCINfxIM6vsdZiMDN6hjK9tc8+T5raakiTLnrYqn0CN7mrlHEHk201P0kaFQ0ufcAdf1+hAZS8VnIFAU4WS+3uBlNPIH6zskVG0pprmj49hX9zqzQTGLqTuY5I/BkdYOVfKKpQM8EDwG/xHkCacAhvOx60W5h7hlMymCYG1EmSej9jIx+x3xiIIoLjtvP9QlBuT0OPvj763CGA3CySUHqianOwViJBGLlXcCDsJrS2bsa995++32emikkJYkmk/0bMt83UVEjOkS/la/ihKRHrRQGdfBgmKN0M9SO/sG2A+Gm62v9kpfgR0UxoDyFhsWKEtoNs/mDKhHiYTwbqgdjSZWfMIVs9UxVwmInCNSlMfSgTqkl+TijKp7cRENzh+CouigcNgxYq+x4T65d1lWNhWv3IlH7GCGZ37WmO14+w5eg1XIxVjMh27itWpwVogg3Z7e/GNako4Adq3CBxKZd3daDJf6pxafmv72MidHbLPurXuEer7Zi63EjAwo5i2eqYModO2QUst6GrDZEguY9r1Cpjq/r43Jfbc1eegtntLGL/647OIviQGs7Qy3zNuQXsYMhZfwDHk5VXo0CK2QfggAZigtjvicfGoGKJZ8vnAtA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a241a38-444a-40a4-b290-08daa5f358fe X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:29:41.7099 (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: CZeD0WtB/P2bjuLGD4EpM925vWR+OtbEK2x3CcQ+Ouuz4QOUlCyY6LjlLrR6qAG1f98YiwAi0UsrxRIyCj5XxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5184 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_03,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxscore=0 malwarescore=0 adultscore=0 spamscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040068 X-Proofpoint-ORIG-GUID: rw77jrWvphvuo1lBFenc5lF64Zh7Zdez X-Proofpoint-GUID: rw77jrWvphvuo1lBFenc5lF64Zh7Zdez Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: YueHaibing commit b3531f5fc16d4df2b12567bce48cd9f3ab5f9131 upstream. fs/xfs/xfs_inode.c: In function 'xfs_itruncate_extents_flags': fs/xfs/xfs_inode.c:1523:8: warning: unused variable 'done' [-Wunused-variable] commit 4bbb04abb4ee ("xfs: truncate should remove all blocks, not just to the end of the page cache") left behind this, so remove it. Fixes: 4bbb04abb4ee ("xfs: truncate should remove all blocks, not just to the end of the page cache") Reported-by: Hulk Robot Reported-by: Stephen Rothwell Signed-off-by: YueHaibing Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Chandan Babu R --- fs/xfs/xfs_inode.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index d4af6e44dd6f..30202d8c25e4 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -1515,7 +1515,6 @@ xfs_itruncate_extents_flags( xfs_fileoff_t first_unmap_block; xfs_filblks_t unmap_len; int error = 0; - int done = 0; ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); ASSERT(!atomic_read(&VFS_I(ip)->i_count) ||