Message ID | 20221026062843.927600-4-chandan.babu@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <linux-xfs-owner@kernel.org> 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 AD4C6C38A2D for <linux-xfs@archiver.kernel.org>; Wed, 26 Oct 2022 06:29:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232733AbiJZG3S (ORCPT <rfc822;linux-xfs@archiver.kernel.org>); Wed, 26 Oct 2022 02:29:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233068AbiJZG3R (ORCPT <rfc822;linux-xfs@vger.kernel.org>); Wed, 26 Oct 2022 02:29:17 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BAB3A81117; Tue, 25 Oct 2022 23:29:16 -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 29Q1ns9H018188; Wed, 26 Oct 2022 06:29:12 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=jZdQBzRUMj12m7lYoQnh8mJxlGjNkgHEUHfvoyuIOh8=; b=Wd8bpdhzAvZkUqjHuY57j9sgAWMmmx09MiJVUkaVYCrS0OUziye7PkRXwJFb+xFs3fXT q0Hl3bBFPStQh1brqCNXNLQIOXHKfpck0bxUPzGWhtV0zTUjunUa0VeXpPQmlIYE3WHy S3NpXBlh628kLXzUS5+NWpm7VO+JWQsITA0hueNtGnOiL7ISkbb0LmE6tAMqb3nV2/YT 18blySs5a/GLpSBxI/buRe2/p3zDr776zRCaWwt3hCBhUWuE3gm21GOUamUa1EtS+hBz g8/6ejnXFxfELuOZe62moci9/7rvBtdz3txJ2igI8EzZ4al+2X94RKTPVGWU9l+Ht9VE yA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3kc939e5ys-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 26 Oct 2022 06:29:11 +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 29Q37949021975; Wed, 26 Oct 2022 06:29:10 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam07lp2048.outbound.protection.outlook.com [104.47.51.48]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3kc6ybpqe8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 26 Oct 2022 06:29:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DIsulB5XhV0cOPlwEE6L/3lbsp7jXpFor01ZOn3mhoI4ugIO4lAwQT/W5Hhk5hvCyj/YlmBSe9bXaGT7g762my3OFSWAYkgYDM+yF+tzNiqMjJ9pI9razWPES5dk37LpG04YXq4K4JPAW2k+1TOOKk9l7cp9e6GKAxhJv+WxNRUyPzaoSZ3hatPG5ExcLLFjOQ6QL7Hv+GNCoO/ak1Ccas/wIZWSLFAZAlmGcffHsQ8eVN6sFKtxdsvM0lU8qcjzhFx6/pdBp+JJKyCyLA0UPXMi7awQHZzXyAiECv71/+JYh7dOPkW1jVLqOdW4ZWcRsoq0RHxl0g78V1AR8l4wFQ== 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=jZdQBzRUMj12m7lYoQnh8mJxlGjNkgHEUHfvoyuIOh8=; b=C4+s9NDP1i4b9q5iAH/4/uPDvF1bdFh3Lu+I0RnTN/i4M9R0HRn2+cVHNiBNpPfyEfLUxaugSKLO+PcqiN7DmRSg/35OUsZNPTUyr2sMXJ3xcT64FnDwAGrazdMaW+H4Dpf6RaDP5eYEvVFb3HoK/R37+S21DFHxYC3aJfUEgwZX3hz78zph5cmFWpSDMl7LLbus6+6RAnu57YelKFhaiOSvtbpxxVE7hB2bHtvId4yMh8pCPSCouJIKBiNknOpv8zfrMoGvwGUwwLX0zVyfhmavl3LvUpKDVKxmN3U5VPzCY69LM7+RWmLACjJujTByLnLrLXCOFA1MPmkzpjYEKg== 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=jZdQBzRUMj12m7lYoQnh8mJxlGjNkgHEUHfvoyuIOh8=; b=DrYgLfodevLJDBcS10HrytbLvutb78zp7iKEEsA+G7Mtz0yev1t39QGTuzXbP6Dc0XJ2LQ7G53kb9PMXQIIXGMX12LrJc+FoNSSXTRnQoejQTfafLn8xPNyijj36AjvjBs3xqvwcIL9ftnB8Bhw9EL0PnmK37Ushak4fhnPIsUM= Received: from SA1PR10MB5867.namprd10.prod.outlook.com (2603:10b6:806:22b::9) by CO1PR10MB4498.namprd10.prod.outlook.com (2603:10b6:303:6c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Wed, 26 Oct 2022 06:29:08 +0000 Received: from SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::81a2:47b1:9cbf:e9c]) by SA1PR10MB5867.namprd10.prod.outlook.com ([fe80::81a2:47b1:9cbf:e9c%6]) with mapi id 15.20.5723.033; Wed, 26 Oct 2022 06:29:08 +0000 From: Chandan Babu R <chandan.babu@oracle.com> To: gregkh@linuxfoundation.org Cc: sashal@kernel.org, mcgrof@kernel.org, linux-xfs@vger.kernel.org, stable@vger.kernel.org, djwong@kernel.org, chandan.babu@oracle.com, amir73il@gmail.com, leah.rumancik@gmail.com Subject: [PATCH 5.4 03/26] xfs: rework collapse range into an atomic operation Date: Wed, 26 Oct 2022 11:58:20 +0530 Message-Id: <20221026062843.927600-4-chandan.babu@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221026062843.927600-1-chandan.babu@oracle.com> References: <20221026062843.927600-1-chandan.babu@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: TYBP286CA0027.JPNP286.PROD.OUTLOOK.COM (2603:1096:404:10a::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_|CO1PR10MB4498:EE_ X-MS-Office365-Filtering-Correlation-Id: 75ff6c64-07ba-4235-5c81-08dab71b6352 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oZk6GYFR2iyXbc6RK3ULF3mr+7spFanIn485HpcVRpCkY3NP/o7SsIiG9UiQ5zeB/0cfhlhOnYf9YVBsU0Vj4ohO8ttBp4O2LY9Zv5OzDgR++R+VuYywF1IxEsz9ynnVbEZmQ9JU6anU7Tk4ErhqUqMJyvsS4WiHWpcw/6Nua6elRaI7l53IoTRuIz7jO16+FNRJtJ3Bz9a8kGdbHBd/8ZFwd7zcAisErdKsGruSgC82uHjjqp06I9xNM/JMUSFCjCMKlWr2ItPkPl/XDRh79YFfEtPQ+LH+++KflaPFZC6SIKwXtceUaAAe+hAk0jE2Ghv9DQBbQgIpHxzI6edUNiGys8u7SQ/mi8F6raAdz/M7NKLvq4XSkLwU1UbnR7JMG/dyqj2cx3ty3JFz4OxDpfCCGGwf7rQwrKim/Hm61nIDi/6DNMUv5+VWJNCgU6SiXzlUIPfE0PePHkuo1lxquXbnbD/DkFLuMC+45TS1u8THhAe6mtBTSBvsYDjrEHz5Iktq0ElJOPEDRtwQycZ9unlolMwDLTwLWcT8tdQPUWYP16EHotq3v2sNhbGhvJMxe3GIerDd1UvPiN7BLRygVyB7ycBypu/CUEXOMP6c+XQABOtPeVYOIf7T1bQVZ3VJSbl5uZtOXAQhzKs/jWen2PWTYB1ekGfTpqm4MgHKecgsQ70o+FNs+CcRromOANEyrSGvHQRlmnYvHv0+9TGsbA== 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)(136003)(366004)(396003)(346002)(376002)(39860400002)(451199015)(186003)(66556008)(41300700001)(478600001)(2616005)(66946007)(1076003)(66476007)(4326008)(2906002)(8676002)(38100700002)(83380400001)(86362001)(316002)(6486002)(6916009)(6512007)(6506007)(6666004)(8936002)(26005)(36756003)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JaBm3MB1wa0bSNpLje0o5mITXgfUleCVEcq+qTO3POfsyIqOt0Qlqx3hpqO5H6+VcQBb/As/ZAzgquB2I7Qg7cBT6m+3mCebbNUUhLVLa6Xah1tIk7LdaQPHRhp43HHrAmOdp4YnHi6ILWRHH6MYDcP+5whqAilOSom4kTJ+Mm09Hr975ulji6MinFxl1vgB4jANaxtP500ViULiV7WmwJJYdfx+caVvcSlek5Dy95WsQ7KItOnyEhaZIvjpkPDGM89foau6KTXoraHuq7Uy28YPO9ZrnWpZmBZownrJa5wK/jQ3yy6MQYj7pNk+t+ZSDcvhA0/ke9GOnRXxb9NrHIXIfisTLTUX/VbJ4c+RWQj/VbVTuFAuLGBBl6Or1OEt6x3D/O9j7i07DUBg9N6map7WDdGZBM/UEWRoSGy68DMuCtiofDsULMty2w72NQmmzv+0A3CmRAqQ6q/4Ji1CsoI3bRG/kvHrZpsPhWqJ2oI+bLJhxgyQctAApqAI8SBWGomXR8zCAqAK0dvkg4YnJXB5JW/7srxigWpgZuZLPIKoE6ZBftOWEXh0kewigcUxrjee7vkmLTYtV6i8qnRxjRiNCiKohsmJDdQ6Osl592mktVZzb/ohJhOkxDWMFrwo57deYzMC7exsR0rIKJiZsOBQGxGECSd/t661T+zI5bmzaGGm34TdEfYYrHya38TVSmTG702SUG/r3nBdBGpAwKV8mlOsAeJ4vXOWvNfcOFmCIh681C/m9yXUWtnsyrm+HMTYIL1AyiFLPW1B2t2ma1q3ri5Y1CxkwDk6GT2sOXZGTsdmYcetDxp+YFAGxiXutv7pCl4CunUeZ5O1OAgelRlFejHqT6c6ZMXgLpp6Af6lf5fMzvfgR4HhXrhD+M/lssYJZk/qA5mGUIbOhoW/yt48flk+3gRPALzqKCHXUaxYVyTk89NR0njqW+40VQOqv1c1ZKnauhkZrGWXwYnU1ItuGaZwy8mFFfmuS4trGwYbuvTREQnz8sQ4IYnAK7RtvmvlTr8TRxd5nNa0C+yy/WWt4zlVxbOyFSIycFEyGPCq4GyREeqA7a0kROGc9mV2qE7iJvI8RoQ6OXpafbdxAVeTuotFpG93rKUngk/5YhIn9vzywqsPHCJt7pFUrgG+HgtlQrW+7CssKg4lSzc0s6i6cgllo3mRsy+XC+tYPEkqQum4lBXWIUZzZVdccW6JkxMQagZ/6Oc5E0cc6Mqkb8QqrNJSv5yRvL3eQeho2HN8TK3hV1XOS/5RWiyXt/tKU7WKtg7aLiSjj8CNstJtXPtTFSBbMfll7PIn0q2R+Ipx6tk2WZz8DRk2eaogpcDqmwFuJYCyzzIYCFjjVoUjzez1K+PCg7Ff00JCLrs1QbLeGTlwa50a0wu1wkexK2BUs2hByKVdpkR2xryG4DDUdBlnAYMhAFZFxzYSja9QN9qqgoYwd0iBSCqb2YHuLk4sEUwnJ87x0mzpQJWmfeGGCUFGoNgXTZBf/IwmnpfOgojB/aCJviq9EklelC77UwGNwJULywRquUE7RtCfmJmqA+DtWBDn9ZC/5F6X/keaCJcXQHEWkq67MTf9y1RmXUwj X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75ff6c64-07ba-4235-5c81-08dab71b6352 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB5867.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2022 06:29:08.6866 (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: J0+2iZYOvo/rlS4tzPn1ZEvfDW5nqzCpIleWKClZTbuQCCwT8MamkIsEeYj72+3Wv8ongkeAQpCcTt4BJBlXpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4498 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-26_02,2022-10-25_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 spamscore=0 suspectscore=0 bulkscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210260036 X-Proofpoint-GUID: Dw-Jm9VIlhUY-isxsB7dgK64MgLA_3sS X-Proofpoint-ORIG-GUID: Dw-Jm9VIlhUY-isxsB7dgK64MgLA_3sS Precedence: bulk List-ID: <linux-xfs.vger.kernel.org> X-Mailing-List: linux-xfs@vger.kernel.org |
Series |
xfs stable candidate patches for 5.4.y (from v5.7)
|
expand
|
diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 90c0f688d3b3..5b211cb8b579 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1237,7 +1237,6 @@ xfs_collapse_file_space( int error; xfs_fileoff_t next_fsb = XFS_B_TO_FSB(mp, offset + len); xfs_fileoff_t shift_fsb = XFS_B_TO_FSB(mp, len); - uint resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0); bool done = false; ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); @@ -1253,32 +1252,34 @@ xfs_collapse_file_space( if (error) return error; - while (!error && !done) { - error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, resblks, 0, 0, - &tp); - if (error) - break; + error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, 0, 0, 0, &tp); + if (error) + return error; - xfs_ilock(ip, XFS_ILOCK_EXCL); - error = xfs_trans_reserve_quota(tp, mp, ip->i_udquot, - ip->i_gdquot, ip->i_pdquot, resblks, 0, - XFS_QMOPT_RES_REGBLKS); - if (error) - goto out_trans_cancel; - xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); + xfs_ilock(ip, XFS_ILOCK_EXCL); + xfs_trans_ijoin(tp, ip, 0); + while (!done) { error = xfs_bmap_collapse_extents(tp, ip, &next_fsb, shift_fsb, &done); if (error) goto out_trans_cancel; + if (done) + break; - error = xfs_trans_commit(tp); + /* finish any deferred frees and roll the transaction */ + error = xfs_defer_finish(&tp); + if (error) + goto out_trans_cancel; } + error = xfs_trans_commit(tp); + xfs_iunlock(ip, XFS_ILOCK_EXCL); return error; out_trans_cancel: xfs_trans_cancel(tp); + xfs_iunlock(ip, XFS_ILOCK_EXCL); return error; }