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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39982C433EF for ; Mon, 18 Jul 2022 20:20:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235027AbiGRUUs (ORCPT ); Mon, 18 Jul 2022 16:20:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235287AbiGRUUl (ORCPT ); Mon, 18 Jul 2022 16:20:41 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36A5B2CDF3 for ; Mon, 18 Jul 2022 13:20:40 -0700 (PDT) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26IHWgEw026655 for ; Mon, 18 Jul 2022 20:20:40 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-2022-7-12; bh=eh20D7sfm658oe5cad7ruMbqILC2EglGoVFHt4GpA+k=; b=EZyyN+mlW1IcS3ngpgQ4QjCrGZLQRHI9hSz/FgdNcf9VPoUiBTjjX954PJeXkU4VVq9V PboYRnr6i26KVVRJFanU0fleiquFYzGKgfs0ScSvy20AhuIm81Vq847kN7vjUP2h2HY9 OytVoq1HrWv0mdBZnq1WMH+YRXTBWXh+sTAggI9OHDQpSh8+qSG69JfHc84ytZA7eutI Qfrs7xx90l8PcKR3CNaX6zoDCBc9d7PXxvPW+aUG3Fz9MTnaXsEt6YrfY8c0XERbxbn4 Zuz/OsU5HiZywD1kh3SHWyKeKwqM8eEp5lOiQzg4yBnlTLI+VVJ0xcd/dLDj/Gf56CEk dw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hbn7a4cg5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 18 Jul 2022 20:20:39 +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 26IHVRS1007937 for ; Mon, 18 Jul 2022 20:20:38 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2175.outbound.protection.outlook.com [104.47.56.175]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3hc1ekx2da-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 18 Jul 2022 20:20:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aEzVnuijwiGnEWE3ButidNJzw3eDs+qJp/kxGfomvHQQQOkd7WoFN1MN/isM9OK1DIp2kQbwNr6jcV1OUppls8+ndhLArAq0o8pYkTl5ddQ+my9Rb2t94qgGHqdjdQz27b2SOKU+4QexfGFXZXKaY7FJRN9i2XaucupNfX7GljNEpxxTwFegg0KFOpMpUo5fmTXCiiDCHiONQPECcsI7Z04fRD7quzw2w0iou7h1Pe53LMTGLQ4jW8io6ZDEvKYFzQcZWvLJ3sSXSe8QLJU99OCVdh7aHhiASsRKwu9LUVm62SPJAb6Rfe6wf8vfBhJXNHNZs5Ku4SBw7hsakvacXQ== 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=eh20D7sfm658oe5cad7ruMbqILC2EglGoVFHt4GpA+k=; b=NaMOAr+DvRSr1VHjBuO1oFJoV6XeaLyrb8+h7qQdiE5fCRrwL6oItPcWSFM/t9J+rOC1p3hNKx3GUb64N+o6KmDQtG+OynUKP5v3SZp+EdU7GN0SMSbjeFj35MTSFYASjzb6zb29jBIv3wssLoBBj/juEH8rs9aM4NUNJL9ZSYMUX158cvcGzw87pVcLr0hrQ81FREuHtxGBbfOzp/EdE6PIpZkmGxzZ6jxEZsxHNcME9Zxww4gbtc1qd60M5TK/Epa4dJorEtva5/BX91rvuIHM1a6iGs1Eq4WMNmSsPMX5w1hS9PUEH5FcSBXRVohsDLgk4X2y5aOOlbXvh50Cqg== 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=eh20D7sfm658oe5cad7ruMbqILC2EglGoVFHt4GpA+k=; b=Qnxf7CQEeamDW4n9X+IrEtzDSBsNMbC19i95P30M/Vp32m6GoH8JdDaLrdk6TJEtd2H718U1cQzCMmSRZV2jvYevQlSF6KhLe0WIJVfugiKKbFr/+CHFBUBOKMo2KTJM1OnfSL8mEvssPoLO5qjtWxTpUTxG9AAnvOm3YTXujrk= Received: from BY5PR10MB4306.namprd10.prod.outlook.com (2603:10b6:a03:211::7) by SN6PR10MB2717.namprd10.prod.outlook.com (2603:10b6:805:46::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.22; Mon, 18 Jul 2022 20:20:36 +0000 Received: from BY5PR10MB4306.namprd10.prod.outlook.com ([fe80::65a4:3dc0:32a1:7519]) by BY5PR10MB4306.namprd10.prod.outlook.com ([fe80::65a4:3dc0:32a1:7519%4]) with mapi id 15.20.5438.023; Mon, 18 Jul 2022 20:20:36 +0000 From: Allison Henderson To: linux-xfs@vger.kernel.org Subject: [PATCH v2 16/18] xfs: Add the parent pointer support to the superblock version 5. Date: Mon, 18 Jul 2022 13:20:20 -0700 Message-Id: <20220718202022.6598-17-allison.henderson@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220718202022.6598-1-allison.henderson@oracle.com> References: <20220718202022.6598-1-allison.henderson@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BY3PR03CA0011.namprd03.prod.outlook.com (2603:10b6:a03:39a::16) To BY5PR10MB4306.namprd10.prod.outlook.com (2603:10b6:a03:211::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 287923ea-c6b8-4de8-4db5-08da68faf7b9 X-MS-TrafficTypeDiagnostic: SN6PR10MB2717:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GrfIcK4eDXvaptZyVg06hWjH9acDt3xiuQQnzZZQ7bN7VdIlRekpzXHhZYE/bdjFSujcMnDI1Vb3YWHU0CZfLON0csYr0xa7yDywNOlBI4zOM655HdOhATW8nX+GY3mulDEW6bYlsaSxaAlgK12mI07G0nMXtuVACwBXSzOaPpRq1Jyt/oYsD5+3giJX6OzsWU4BvEqbvsAkMu345BZj1f3OlR9SPNBbXv6Qwd13Td87SJoyBqm1cfaeHsQN8JUP342DJyKVHZ1wRbNh7L7lqIvv+CvYKK3jVR7qzITz4dzO+rZ9CHF5gyHz/LczG9A83ov8//HbsCnuOlk11izrwhT8PvwVhanIHU5jpmWOq0+e4vAMtv2tLDJNl0XKHR7mL6/bJw+767+nTRAGOlEWFLX8RNS7KZiCQwor1cROer7u+HVu4wdjmiFiWo0bUQYvShkRt1+8i33yVWfLXBC5Wgybc0lAbhfGyuQoFSZIUVnhDGdpwTsk6l8jNSns5c7T7GnkCWPHBOYbBuvbmQafWH0dYPvzUIHc+Fo7z8j5r/Nad1RrlZlmqVvdTM8tdiPln89Bzx1JT1FSyKIIyfQ1Uipm29VOWqighp/O2j9ufIr6rbwn77hcix6P9HvbIl6XMSwRhIm13h7OTtx7z4qNa9oe3MCUJ02JK9V0N/kQystrGb2MVxi4ML+1ewoej7OMkWx2m0N8E4ywaVwnlhWlT9SaEwOWj8JyAkPgeR/WGNqrXK+E4QJr0fgLj2cZqVsP4QivDifIUxI8bSKU+xED0OGwjM3z0ppPH4pUdU114R8= 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:(13230016)(136003)(396003)(346002)(366004)(39860400002)(376002)(66476007)(2616005)(1076003)(83380400001)(66946007)(8936002)(186003)(5660300002)(2906002)(36756003)(6666004)(44832011)(316002)(6916009)(6506007)(26005)(6512007)(8676002)(86362001)(41300700001)(478600001)(52116002)(6486002)(38100700002)(66556008)(38350700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uwGC1UBHfKhWSibmwLz9I4uiK4QD9DVgIBi4fMwcxNUsSWEEfMh6mdNbmjBa?= =?us-ascii?Q?MFxVBErQfJcxS/CMqebwyyTYuE/dir14qgYWtuXobiEuegEHuX7PLEeMRKJz?= =?us-ascii?Q?E6S1EylO9f/fedca0eJHPiqDwgOJIF/Qs+LriAvetvL8AUtz4+TmbeUmkbBG?= =?us-ascii?Q?Cddx4nGTzeLItWrRTzfz5JeDRUJBEvYqbDZanH+Varnm3uQLWECdYBKsj04V?= =?us-ascii?Q?dyaYXn8cGQyPpY+6B4C75VZ3Ufsa52OAoEGbqkj5ZpuFmDeaD4hRtrpMx494?= =?us-ascii?Q?XHYUzxfrVfjkD5d/oz6yHV6HLxMXIAek5zXPGJpQmIBLY9F9MWn8I1Y7dSmT?= =?us-ascii?Q?4I3M17Y8JIKa68o+8tjt5T9zbeFs8+sJonb2hWpqmBH3CQoZstEgk6+x0Y6P?= =?us-ascii?Q?JaBOw6io/vvF/4Zi/2XzzHrW7UB3Rewsljn0b+vEfIru90H4D2wXqOWIDsch?= =?us-ascii?Q?jDSFmGItZ23ZP/TJlmorZU/mNAfwRvYLGgYaSu9zcrE5VoPcMpyCEDrun109?= =?us-ascii?Q?1p7zA/tlV/oCIwRmIjZXR7c1yvOZJVefkNdvVJ8kokBCzHd97EN7NCaWk7Xl?= =?us-ascii?Q?u/GXyzX1ssRbW+l7Mm99tJ3x5i+vtm0P/9ZedRbxbQFNJgJtSRVNQgzNMaDx?= =?us-ascii?Q?lb2F25f43xL+s5IgtCXrWJtFtrg0ZnVbdaLQF0Fv5KgcHHhIaVkJ2fAp4tni?= =?us-ascii?Q?wgArluzBbX5Y2JNruZOvvPeyR213QdNNQKQhl94EVsbuPQJg/8eMXniFcHlJ?= =?us-ascii?Q?sdP0D4gTgxGqldK7oh8gKkIqe96lQRcryzcC4BsaQAQm3NKaGyvMjNQ1MxrG?= =?us-ascii?Q?QqFWHokYV+75B264anx8GT0AljETNsGemL1eaEoHpUwijud5vZF/2HLSxe1l?= =?us-ascii?Q?tBW/p03dGWQu5yzyVF22LAgVO5yZlAnNbDvqk5CcFhoLGmb3p352VN4bis/S?= =?us-ascii?Q?99sdq3Pxwle0gZ0hIKXYS0Q9nROreSExwfKcOWdLzRGkIW99XFNjKkuBgsSz?= =?us-ascii?Q?2/hmkFwaw7i7dfolwPNl76CfuZXqlyHIITBSQYF1zsBFwxZ8AhWjPW5v6nYn?= =?us-ascii?Q?k9++ED5NBx9FpsawbklKRcGCLQU+4wmXD6VVZULKcR773Gk6/mqAfcoMoZLT?= =?us-ascii?Q?39tSHuL+z7JRcncq3PUCoxidrMEmpzxacVAJTpykrekVh6yPtv2MgmG3arzU?= =?us-ascii?Q?kYWrfIikJnYhn2jUdKPHtx493sLyejzMAjDJbtqHk7IcuGLHdWjHY0ubjbr6?= =?us-ascii?Q?oekKt7giL+oHyC11KbchiSrhgu0NI5HK8l7W4+zts2b3WCIWGXujKnf5wGN2?= =?us-ascii?Q?gZ0Y69F3QSO58pdcKBIkn4ksN/g9/LBLEKSSdgrtSpiWoon1mVMJQRVbpXah?= =?us-ascii?Q?uGbuhl/8YUQRIHkBkIM6Z/OZB1MvlCtKtlst9f6He7FUmcD07ydV3Q7EmhBI?= =?us-ascii?Q?svk/D3XgQJSReMbrFfGtHRzJ79yWaEZNLLsoP+ZX83lIpnnpXQxf0+O9hM9+?= =?us-ascii?Q?jr3RRWar6cwr/aWM30PK9e+QH7TtaVIq1fGUDa/6fXyLjsd4hKTEONiOLEGU?= =?us-ascii?Q?UpzQUNrOtfb94pLFHAaADnijRcGoyc/Ui8APoO9r6nOlgXlFWQ5dUhh1VSKc?= =?us-ascii?Q?9A=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 287923ea-c6b8-4de8-4db5-08da68faf7b9 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4306.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jul 2022 20:20:33.4669 (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: xlovSLyDHyKWMUi/sW3+UUQVTNCzb+plmHgLI+7ppR7SP9u+3kC1lLXw8SUXqF5DwLf4OSCxOjk483myLtg0j9SXvxlcAJfsMhYLj0v8sGk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2717 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-18_20,2022-07-18_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207180086 X-Proofpoint-ORIG-GUID: HY885F3yongODGpVcGQZIfmBw-ocFs9W X-Proofpoint-GUID: HY885F3yongODGpVcGQZIfmBw-ocFs9W Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org [dchinner: forward ported and cleaned up] [achender: rebased and added parent pointer attribute to compatible attributes mask] Signed-off-by: Mark Tinguely Signed-off-by: Dave Chinner Signed-off-by: Allison Henderson Reviewed-by: Darrick J. Wong --- fs/xfs/libxfs/xfs_format.h | 4 +++- fs/xfs/libxfs/xfs_fs.h | 1 + fs/xfs/libxfs/xfs_sb.c | 4 ++++ fs/xfs/xfs_super.c | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h index afdfc8108c5f..b64021e0e7cc 100644 --- a/fs/xfs/libxfs/xfs_format.h +++ b/fs/xfs/libxfs/xfs_format.h @@ -373,13 +373,15 @@ xfs_sb_has_ro_compat_feature( #define XFS_SB_FEAT_INCOMPAT_BIGTIME (1 << 3) /* large timestamps */ #define XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR (1 << 4) /* needs xfs_repair */ #define XFS_SB_FEAT_INCOMPAT_NREXT64 (1 << 5) /* large extent counters */ +#define XFS_SB_FEAT_INCOMPAT_PARENT (1 << 6) /* parent pointers */ #define XFS_SB_FEAT_INCOMPAT_ALL \ (XFS_SB_FEAT_INCOMPAT_FTYPE| \ XFS_SB_FEAT_INCOMPAT_SPINODES| \ XFS_SB_FEAT_INCOMPAT_META_UUID| \ XFS_SB_FEAT_INCOMPAT_BIGTIME| \ XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR| \ - XFS_SB_FEAT_INCOMPAT_NREXT64) + XFS_SB_FEAT_INCOMPAT_NREXT64| \ + XFS_SB_FEAT_INCOMPAT_PARENT) #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL static inline bool diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h index 1cfd5bc6520a..b0b4d7a3aa15 100644 --- a/fs/xfs/libxfs/xfs_fs.h +++ b/fs/xfs/libxfs/xfs_fs.h @@ -237,6 +237,7 @@ typedef struct xfs_fsop_resblks { #define XFS_FSOP_GEOM_FLAGS_BIGTIME (1 << 21) /* 64-bit nsec timestamps */ #define XFS_FSOP_GEOM_FLAGS_INOBTCNT (1 << 22) /* inobt btree counter */ #define XFS_FSOP_GEOM_FLAGS_NREXT64 (1 << 23) /* large extent counters */ +#define XFS_FSOP_GEOM_FLAGS_PARENT (1 << 24) /* parent pointers */ /* * Minimum and maximum sizes need for growth checks. diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c index a20cade590e9..75e893e93629 100644 --- a/fs/xfs/libxfs/xfs_sb.c +++ b/fs/xfs/libxfs/xfs_sb.c @@ -173,6 +173,8 @@ xfs_sb_version_to_features( features |= XFS_FEAT_NEEDSREPAIR; if (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_NREXT64) features |= XFS_FEAT_NREXT64; + if (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_PARENT) + features |= XFS_FEAT_PARENT; return features; } @@ -1187,6 +1189,8 @@ xfs_fs_geometry( geo->flags |= XFS_FSOP_GEOM_FLAGS_BIGTIME; if (xfs_has_inobtcounts(mp)) geo->flags |= XFS_FSOP_GEOM_FLAGS_INOBTCNT; + if (xfs_has_parent(mp)) + geo->flags |= XFS_FSOP_GEOM_FLAGS_PARENT; if (xfs_has_sector(mp)) { geo->flags |= XFS_FSOP_GEOM_FLAGS_SECTOR; geo->logsectsize = sbp->sb_logsectsize; diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 4edee1d3784a..c2f504c674ca 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1655,6 +1655,10 @@ xfs_fs_fill_super( xfs_warn(mp, "EXPERIMENTAL Large extent counts feature in use. Use at your own risk!"); + if (xfs_has_parent(mp)) + xfs_alert(mp, + "EXPERIMENTAL parent pointer feature enabled. Use at your own risk!"); + error = xfs_mountfs(mp); if (error) goto out_filestream_unmount; -- 2.25.1