From mboxrd@z Thu Jan 1 00:00:00 1970 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 060A5C4332F for ; Wed, 17 Nov 2021 04:13:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DD1B661266 for ; Wed, 17 Nov 2021 04:13:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232999AbhKQEQw (ORCPT ); Tue, 16 Nov 2021 23:16:52 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:13178 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232453AbhKQEQw (ORCPT ); Tue, 16 Nov 2021 23:16:52 -0500 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1AH44w6e031988 for ; Wed, 17 Nov 2021 04:13:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=tr9lV82/etMnh3Aq+R/e5z6QTjGuvUzQskuWAxyAy9I=; b=rdDhWpuqZcMSONEbtZGcXLCkoJCvdtp6HcVd5D56R1IrMA/K873jembKVErVIbpNwWgh CAms+m21JAkOcJ8lJV75L72dz+5fSpnnsMFnb7yf9nahpugn3E3Fwq9JRsWf+GLcqJSB J3m9PtJep8LXIhpxLNXVHctnfYivA4SR6xbPNB34vY8DFO5pZ/vvYNSq1k3XtY5H3qXf 6y353Xc7C6EXQ/eETcUC38idZ5PVa65xegWRqEAM0lgquh8RJlZf3f5nS51oebPIufaO Uz25uuix7VfN1g1wrpnPWA1qO0G2+4gwEs+oPWBQTvnAGj3jb9q5VkMLqjGmM0AjPVVS Kg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3cbhv86ekt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 17 Nov 2021 04:13:54 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1AH4AEJV180636 for ; Wed, 17 Nov 2021 04:13:52 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2176.outbound.protection.outlook.com [104.47.56.176]) by userp3030.oracle.com with ESMTP id 3ca2fx68vt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 17 Nov 2021 04:13:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TqPG96lWzT/OeUACrmrLpjylRo5qTlmJl8RTNVIDPSQ63XXF9fOwnnh9DAF2/bQQlvlUr5LSTXMpjQiUt6uc9ZchEqnHrysfROgbiZwcPTmSAEq3kZFE21ELL66gX510GYJqxWg2Phu1oLjqI4QGu0HjChQdgxny5cbonJlsIZIGCRLPsidIKCZ4wVjYWhuvhUMm2C0f3P2Z2wH/4VBqj4HgPk+w6MXOuUMo6i9oId8X91xX5lKyxZmjc7/4L481kXzJqDM43KICDyZf1Y3hDYaSUAzLRGvG/PdT7jLvRCkjoZhnS73txdvW7YKgc4zwGYxb96F8Tb3YCd6+8ojSkg== 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=tr9lV82/etMnh3Aq+R/e5z6QTjGuvUzQskuWAxyAy9I=; b=Qr75SB3I/12qPy/e02jBp3ObUBFXEScRNay+x1mOiQRWtDeB9RNSFBi9IQNL9jsmOrasqn79YTvQs/7BMuE6foADGSs+nXWAbIRkBjDpNFAD43nUz+0cW3uYPWMcx2C985GfxSz8GxudYAqiWJv6ovlQIvzPKshSa5t/amPurkVbpBWSovUmmmBkhMh0MOogHjpwJqCBrjHGccAm92+ONNiPj9fYMvqvYIFKlJu4vRcX61WOkT8SGzyJFVihSI2MBTF8iQNoSHIV0zebTPwcHAAYLjU6Jy6GBk8gXEaLzMLI3fWknvCZL8zh+gwRQuyPd11w5eo1vZBPL40DF7L2RA== 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=tr9lV82/etMnh3Aq+R/e5z6QTjGuvUzQskuWAxyAy9I=; b=tHsdRy3NDJ63qSWmyF+hNhTRZlpTTdWIg9/h5NS61pH6qITufLrsRqvgNf9LY3gvpER4q8snR9hVRzrFhMwUq/3FiFvFOR3mmvFtfvWeI09tf4sN4Ei2CPrlaH29oC8Gfo3ai6XON1oO0hZ6Ng4/nxe/MQsfbmFfiMjzzt7rsQA= Received: from BY5PR10MB4306.namprd10.prod.outlook.com (2603:10b6:a03:211::7) by BY5PR10MB3921.namprd10.prod.outlook.com (2603:10b6:a03:1ff::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19; Wed, 17 Nov 2021 04:13:50 +0000 Received: from BY5PR10MB4306.namprd10.prod.outlook.com ([fe80::fdae:8a2c:bee4:9bb2]) by BY5PR10MB4306.namprd10.prod.outlook.com ([fe80::fdae:8a2c:bee4:9bb2%9]) with mapi id 15.20.4713.019; Wed, 17 Nov 2021 04:13:50 +0000 From: Allison Henderson To: linux-xfs@vger.kernel.org Subject: [PATCH v25 06/12] xfs: Skip flip flags for delayed attrs Date: Tue, 16 Nov 2021 21:13:37 -0700 Message-Id: <20211117041343.3050202-7-allison.henderson@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211117041343.3050202-1-allison.henderson@oracle.com> References: <20211117041343.3050202-1-allison.henderson@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BY5PR04CA0008.namprd04.prod.outlook.com (2603:10b6:a03:1d0::18) To BY5PR10MB4306.namprd10.prod.outlook.com (2603:10b6:a03:211::7) MIME-Version: 1.0 Received: from localhost.localdomain (67.1.243.157) by BY5PR04CA0008.namprd04.prod.outlook.com (2603:10b6:a03:1d0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.27 via Frontend Transport; Wed, 17 Nov 2021 04:13:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4f3a1e14-0e89-4b66-5083-08d9a980a911 X-MS-TrafficTypeDiagnostic: BY5PR10MB3921: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JVEm8cjH/13CdcWvji1AjBbxkYpZfa0+g/ikOrRUbh5W8U8CgSEe/xkRZhR1jzAYkipZRLSqPW03VSnerCuu/0U9AfjlU25hQZFbHzbK6UDkJXwz2lBNguosWJeKOAskKN1YNS2eyVupmLdc2+F188nvJJ4z+VZ6vYlqmvILMRFqmhddIo5KGIP5ZuCXfGE0hUpC7gIN1hkLXXLb8D1z81NILtAImYJ/f/efA/cnepX1a4SmdLqOVejLcJ23RmcTU4TKf6LQdUggxepDGYhN1xUJiel6NsohreM5JF1WukEf2WxKi/ctmJI1w3ubVMvgrTzsWlX5qRm521nDzNifDuYZ6nyN/BUU0oKTT3wXxv7qgt+oTxcgUUJbbZUB5g4CD4YC+P+4NLSiHxggnrL96GNNsxFGm008uf4P1tbSiPWKvCmLEd+90tJ/9Q0u6N0jjElPyCRD0hcbLLGvYl7JBkSomwSOp5cpOR2RcFVrDetKpfeODfEZTcaUIqnCfkQPevzg6KZVcMhVx8TMjBJusSXxLN8T7/cPOQmpAIUsboSLUe+uoIds1tFJAyxBNVNrBIe2fZRGChAvWAaX2zyj9yZ2hyzAtXZcludeTCSpjwTqgbUjzFaDEFpbiL8QLaugOeGOc5e1cmx62stWNV4m2BdvsWP/PzSUHakFlkX6qqhMSkuEB51Dxk3MvTftV6SS6h9w1WG57N+q7DE+PyIxYg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR10MB4306.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8936002)(38350700002)(6506007)(2616005)(86362001)(6512007)(5660300002)(8676002)(2906002)(36756003)(83380400001)(508600001)(52116002)(186003)(66946007)(38100700002)(6486002)(316002)(6666004)(44832011)(66556008)(1076003)(66476007)(6916009)(956004)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1OteQKshLpw8r31hu3A1Fo+8ibm9NN5vQu+KHuFdUDkNBPwEU0K8GQCo3Vit?= =?us-ascii?Q?JN07pRAwqh239msBDiwYhj7bnJMK0wQPa4W8uKCo+OmsimbDjTiAyUdXo6V2?= =?us-ascii?Q?yXpP7m+u3wA7OmcBhflVPa4Q2ooo9JUjTGGK/MEoRM3Jr8rfnUdglcyNfdSw?= =?us-ascii?Q?el63r0WYTGu+d8Kx77Q/Hr0/T9UuyMev6QHsZstsKKOCRhhYOQzGTypyvKCt?= =?us-ascii?Q?u/YTLq/GNWMsnrLgUcspJsPBEyVasPfwiMC4vO3vSKTVBQ4pMqUJ+vUVMVDn?= =?us-ascii?Q?JgyKp2UgX94UQG+zSRYqi2z0f1L6p19vCGBcDjz3JxBhJv5NQZEzjVJuti/p?= =?us-ascii?Q?kHm9L4wcWjIenKgSzOAPetwl7RoPmX/7MLLG7xhghw4KeqB6ie6IEkLhdYcx?= =?us-ascii?Q?Ww/rNrdZM9PKYfOLllQgnOk+CQLUjifmt6b/5VHgST0C9Vt5S73QKqUgLCAk?= =?us-ascii?Q?YBxq1q2R7gUj3M4PmbmbQJPKXtBZpisVTv+qlRiFFg0kSu580o3wO9Kk6orn?= =?us-ascii?Q?0AYsZkAQKLFVLZv+cr05+CdmPWdplOpyGOaz8zMCCTAOVUm90H7UvTjJJg7d?= =?us-ascii?Q?/qlYw1QOeGXZo//8IrLOosXCPFtREJxhkRc0nGV9F5SXoG7b/7SVfePM3uKP?= =?us-ascii?Q?WAISNA8g8L14fJnu6NNpc8X2xoNlYrCGqVeukMuvUZGrUKakiLyjkkkxcQzc?= =?us-ascii?Q?agDtYKbxYvf7taE5ynnU3jTn4tufu70GXtXvV0OBQXipBX03yELtWUCTc5PF?= =?us-ascii?Q?niO3ApzvRd1in/DFvOGDjYxER4XQPcbL2z2YB8lA5UBpTgCg1oyXLgZc1DeZ?= =?us-ascii?Q?RuJB++8awP0dp6tfLkPVaqkwMXYLv+9Co74VSS46B0cuVERcPiU6YNeZffsq?= =?us-ascii?Q?B6wFRQatodr9iD7k5NHIEjrtmNzUvUtLmEmqM8i73RlNjYjYpHaVgBr0c8i8?= =?us-ascii?Q?IxZ221IKQ8fv0Z6PkiqMHeBHDvkp9gyaflt4UMmkJ9Y5lQRomN2zgFnuzxUq?= =?us-ascii?Q?yU4PUW8D6XVLqCK3hHU9c1K/9YIEe0DlqwqOO83hlHDRElJT35PYbXp3Ikqr?= =?us-ascii?Q?JTLuBchhIw80b7PQ2pbtLsvnofo7GSjhex7sXICZg2CWxfeeT7Vi3R60bDLi?= =?us-ascii?Q?KfEaTL5NNFPmlNoV8YevvW+IQIdzMiFM2bHLTfZLtdDgGnJ0Dcb77ydaMNVk?= =?us-ascii?Q?Br/1E7QhmuTEvWa61BLR0+zxpyTrggMomhn0Zm30Eu6DbRidr0yHroolRhO5?= =?us-ascii?Q?sRxtFeLYe+VOhvD/ADWHecY/grMtpVWH7smnUSzR64fXjRu7cMghMkQ0THlQ?= =?us-ascii?Q?O4cFRSjDtGu/goFJrbriafxC/JmCn2Y3Wy8NjFQhVx9YwxkS1C295pt/9xQ9?= =?us-ascii?Q?ZT9KQVug41bF7uh6lrkPOE2pcIyaLj4qbOc/4rYtR4zOFxUWS3rEom0A3Z33?= =?us-ascii?Q?LxKMPO5tqbtWT/ahmpd5QmjEjGq9oQx7snG1dxKB+KmD8Ob56N2f1JLRvuJA?= =?us-ascii?Q?Huh868PI5dx20NZq6zG4jjU8Nk6lwJosVHItAfUYJQ57SBgHfxovYe/AKszK?= =?us-ascii?Q?ixSs1WutZIpB0bJd7dtlogBOfKnxqCgCPtjpqVYOb1EBgHsw0vRIvoWjMHr2?= =?us-ascii?Q?+PbOHsAXJKQ7RgU8gOy910NgMQLQXj3N95Agql9waO9K57X3WGZgmfnPEduj?= =?us-ascii?Q?ergk/g=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f3a1e14-0e89-4b66-5083-08d9a980a911 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4306.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2021 04:13:50.8103 (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: DknsUgExAn3jENN8gIezDgYtvf2NeYfKFZTmvfddJ54PG9WJ3g0GIfheYROHwEiR+7vK6RkaDw99Qm5h1gpPiirwjJ0Z3ga17dgiRAOlsb4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB3921 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10170 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111170019 X-Proofpoint-GUID: OZYWfw9iPWIhtMuAhG188HFS7B4agqy7 X-Proofpoint-ORIG-GUID: OZYWfw9iPWIhtMuAhG188HFS7B4agqy7 Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org This is a clean up patch that skips the flip flag logic for delayed attr renames. Since the log replay keeps the inode locked, we do not need to worry about race windows with attr lookups. So we can skip over flipping the flag and the extra transaction roll for it Signed-off-by: Allison Henderson Reviewed-by: Darrick J. Wong Reviewed-by: Chandan Babu R --- fs/xfs/libxfs/xfs_attr.c | 54 +++++++++++++++++++++-------------- fs/xfs/libxfs/xfs_attr_leaf.c | 3 +- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c index dfff81024e46..2ae5b3176253 100644 --- a/fs/xfs/libxfs/xfs_attr.c +++ b/fs/xfs/libxfs/xfs_attr.c @@ -355,6 +355,7 @@ xfs_attr_set_iter( struct xfs_inode *dp = args->dp; struct xfs_buf *bp = NULL; int forkoff, error = 0; + struct xfs_mount *mp = args->dp->i_mount; /* State machine switch */ switch (dac->dela_state) { @@ -477,16 +478,21 @@ xfs_attr_set_iter( * In a separate transaction, set the incomplete flag on the * "old" attr and clear the incomplete flag on the "new" attr. */ - error = xfs_attr3_leaf_flipflags(args); - if (error) - return error; - /* - * Commit the flag value change and start the next trans in - * series. - */ - dac->dela_state = XFS_DAS_FLIP_LFLAG; - trace_xfs_attr_set_iter_return(dac->dela_state, args->dp); - return -EAGAIN; + if (!xfs_has_larp(mp)) { + error = xfs_attr3_leaf_flipflags(args); + if (error) + return error; + /* + * Commit the flag value change and start the next trans + * in series. + */ + dac->dela_state = XFS_DAS_FLIP_LFLAG; + trace_xfs_attr_set_iter_return(dac->dela_state, + args->dp); + return -EAGAIN; + } + + fallthrough; case XFS_DAS_FLIP_LFLAG: /* * Dismantle the "old" attribute/value pair by removing a @@ -589,17 +595,21 @@ xfs_attr_set_iter( * In a separate transaction, set the incomplete flag on the * "old" attr and clear the incomplete flag on the "new" attr. */ - error = xfs_attr3_leaf_flipflags(args); - if (error) - goto out; - /* - * Commit the flag value change and start the next trans in - * series - */ - dac->dela_state = XFS_DAS_FLIP_NFLAG; - trace_xfs_attr_set_iter_return(dac->dela_state, args->dp); - return -EAGAIN; + if (!xfs_has_larp(mp)) { + error = xfs_attr3_leaf_flipflags(args); + if (error) + goto out; + /* + * Commit the flag value change and start the next trans + * in series + */ + dac->dela_state = XFS_DAS_FLIP_NFLAG; + trace_xfs_attr_set_iter_return(dac->dela_state, + args->dp); + return -EAGAIN; + } + fallthrough; case XFS_DAS_FLIP_NFLAG: /* * Dismantle the "old" attribute/value pair by removing a @@ -1236,6 +1246,7 @@ xfs_attr_node_addname_clear_incomplete( { struct xfs_da_args *args = dac->da_args; struct xfs_da_state *state = NULL; + struct xfs_mount *mp = args->dp->i_mount; int retval = 0; int error = 0; @@ -1243,7 +1254,8 @@ xfs_attr_node_addname_clear_incomplete( * Re-find the "old" attribute entry after any split ops. The INCOMPLETE * flag means that we will find the "old" attr, not the "new" one. */ - args->attr_filter |= XFS_ATTR_INCOMPLETE; + if (!xfs_has_larp(mp)) + args->attr_filter |= XFS_ATTR_INCOMPLETE; state = xfs_da_state_alloc(args); state->inleaf = 0; error = xfs_da3_node_lookup_int(state, &retval); diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c index 014daa8c542d..74b76b09509f 100644 --- a/fs/xfs/libxfs/xfs_attr_leaf.c +++ b/fs/xfs/libxfs/xfs_attr_leaf.c @@ -1487,7 +1487,8 @@ xfs_attr3_leaf_add_work( if (tmp) entry->flags |= XFS_ATTR_LOCAL; if (args->op_flags & XFS_DA_OP_RENAME) { - entry->flags |= XFS_ATTR_INCOMPLETE; + if (!xfs_has_larp(mp)) + entry->flags |= XFS_ATTR_INCOMPLETE; if ((args->blkno2 == args->blkno) && (args->index2 <= args->index)) { args->index2++; -- 2.25.1