From patchwork Fri Aug 20 09:54:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 12448759 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 77993C4338F for ; Fri, 20 Aug 2021 09:54:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5F2FE61075 for ; Fri, 20 Aug 2021 09:54:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237267AbhHTJzI (ORCPT ); Fri, 20 Aug 2021 05:55:08 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:20206 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238917AbhHTJzI (ORCPT ); Fri, 20 Aug 2021 05:55:08 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17K9kATS026176 for ; Fri, 20 Aug 2021 09:54:30 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=l6VfUg+lRffqx7A6ae3ilsIbWtZkFKcke/yVifY+Uhk=; b=f6O5Mtg2YOG9MkVwjCziGVbY6f7Ed5sMkLit8h/iMxNTCergXMQFdxjIs7SrPBsHA313 AA1T6KT9kUahcAI8HFjDUQL3hk3vrW1YdA0npwkezBXDPcgreRkYKIa5nuox44BkZPnl 3jMzzPzaMpo3x1oL+OKaZlGein+LD5rDcpsnsgzAi8R5NkbKvzIcI4Y5FEOHdTWyPLSs R2aIU3nuPD4t11hLivde9oQJdvOwlsl4XDrSUgLGJ72bIjzv4QNciTgWxGs9mQaO8QoC T3TpHh5hejh0lHHdBBRZVsbQEvm0BaxkXq+RpZ4EAZGzNYFj4eIUprA4LL8FovOt9ehz Yw== 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-2020-01-29; bh=l6VfUg+lRffqx7A6ae3ilsIbWtZkFKcke/yVifY+Uhk=; b=jqWza0MkhEI7BLIcSzGhxq6TUoJYoGvGADQDJVcUQ9qFKU+hju0I1al+WZ8+0wyCZfUH JmckiFqExTzAIWptGCHI+y1tTyXMjG+HUd3g4zFFNJ0tj+8Ei2sube9nhCoQ09HplYzB cqOM2jbKqe3Iok4HLXE8XO+6pox8NgiBSqEOmjvblUDecEeWi5S9e1XRJbuMnUnbWEyM 4bgCT+Dt++rzDYJAxnyu1nrmcn4QCSE00rrVG7KsN67kEtXqciHFIhNMxBAfIstWjqST sWaiseFKOGKIUl/SoO78XW44+oY9yV8onZDsvymQRTxVmwBTMiXiRTsCtUO7S5nvPI+Z lQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3ahs40j2ra-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:29 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17K9iwkt137393 for ; Fri, 20 Aug 2021 09:54:28 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2105.outbound.protection.outlook.com [104.47.70.105]) by aserp3020.oracle.com with ESMTP id 3ae5nd9s6w-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MfT2H6CYaz286VbLviY7k1pXUHc3mGLPSdWMKTwCkgcBlIYKFrWRRSiypE9XtWyI+eQr+0cMTnDkULbg2IXhGRJ4Gmzh2MW+KVh9QjVKJ+A3KNULdTcYxLlpElRmwJsDN196u0DRywxu+K14b+Wogkb9WHD3Gf77bWcVv6Y0JvB1bqktZmOBJKUA2hU9h1VNLDsAmUeGrqYunXsHfnDZboE9a0+91lrP4NtsMHQYyjy6dNl5iuIj2g5hCHxI4B+vZfLMtBgc+yMT4FLY2aIEhT/6+MTdJz7vycuUXj4t+PFuD/gtvHauzVx4lMUXefv/iaSV37F6swl1+9L0TGzQLA== 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-SenderADCheck; bh=l6VfUg+lRffqx7A6ae3ilsIbWtZkFKcke/yVifY+Uhk=; b=biEp87TCWkIv7co/nusGMt3XdzZn8pgv6MyuaPqmB4rsoJ/x4x3ThUlbTOxgOfFjwRu3LHYvFThFaQgzP61J2+QxCGPsJZqhnB5XwSnN5SY1VBb5pwBzBmU7STFTG7MUfeo0xaMyNuPXU/AcKxAnL3ENJiR2ncn0U636a9UFzKaJUgg3YnDWmweSuhmf+zGvJAalICwZvcd6BFEHhv77ItTaOUcs+Z8pjjL9JdF44rdspaSC8bQrDXwHzbD/7qO8Lc/4uLeG2UUbBGPtR+HtVhvkcvI7gXK2DQZ8lUAJVRecKtmc8B9BhiPjzKQv5KPObnze7xNJZXATCEjN5oNlfw== 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=l6VfUg+lRffqx7A6ae3ilsIbWtZkFKcke/yVifY+Uhk=; b=s9KSFI1vbKILzwC6mntIYrMTMf89dciWUqAyaBPAx5JFEPQ3RY8pzhdnlvI1u9eBRFaQK+9v7jQzJkQfPLgr7ycljd9Ze2ipXftpkez8qybgamLy2lVxPPVkVf2gOMK2/1XiDGki+YRGs+WOu7dDG6q6PVRKzo2PV5iQ7HmriEk= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) by BL0PR10MB3427.namprd10.prod.outlook.com (2603:10b6:208:7e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug 2021 09:54:27 +0000 Received: from MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a]) by MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a%5]) with mapi id 15.20.4415.023; Fri, 20 Aug 2021 09:54:27 +0000 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH RFC v2 1/4] btrfs: consolidate device_list_mutex in prepare_sprout to its parent Date: Fri, 20 Aug 2021 17:54:09 +0800 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (39.109.186.25) by SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend Transport; Fri, 20 Aug 2021 09:54:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b78b5de7-3533-4753-4301-08d963c07f86 X-MS-TrafficTypeDiagnostic: BL0PR10MB3427: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DtTrHUUMHkcYBPTeaZdwPok/oRBBI8T3fuiPNkb14e/18Sr/I/kH7VWpbyWqlN3p8HJlbIoqMbJKp+Cpzz/1jPCSk5YXBldxd1GFxkhU+9xo5FOZAXrrPLAmE0/yzbB5npO/AV8ZBuIFu6EgQjruCaC8KBekeJ4NF2cZRG2Fs8zkbS490mt2GlQY+I4H0GGyehbPzF+We0oNMARwHFRmUW/BN9nRUJfhgkHjV2VRLEMf6C6j27XJrJvwHuokpjV3oYcA5J7AKWyepXVRZNLZ5Op1syVfr8rhuc6hmhMdAxSY3gEBY8IomI03eZuiKhxm8RJm+trd3w4/bsOdpFxfhksZ8qMKG3OEX9TTUYEPsdLDWmXmg91aQF+G5uZy9EK9q40dF4B0+lltOcHUapXY7w2GIh29OYc6hhCrvbRKMUmnl908EJEZHDA55Lv2CqT4Qn0hRGbTJjKPNl6nPX8G8Yapdm4PHi/CBAAFQfgA7A/LELo04JJ+lNtx6RIncq7RxPUkSW1iSYXAhS979lvT7n65M2EQvwxHoR0acmG2eIU7VzwgiYBOBT4g4F3RrIlhsOn/REeUo9PCLjQ/8spZi1pUrfdlzdUd4w3Id0x5PP6umNlqKig4nthAlFwsQvkdpf8/8CzG22irjcQAXCdasVtg2nvndqyUgQmZ66pQVI4Y3PmKNB+kbkMRT6zcUDg6OuIFoXYfYIY+QJf3zu2zvg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB4128.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(39860400002)(346002)(376002)(6506007)(5660300002)(6916009)(66946007)(36756003)(66476007)(66556008)(83380400001)(186003)(6666004)(478600001)(6486002)(52116002)(8676002)(6512007)(8936002)(86362001)(2616005)(956004)(44832011)(38350700002)(38100700002)(316002)(2906002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aoLe35/BOJ+tzcSPCcb4ZXtHZIsQ3AL0fISllry1ESAhLqJA3RTmcVeeSescUFnmEr66MHJ7zbvpbzaR0Oyu0Kws6Vu1iFKiqkayBy3tNP5/SvYWR3/81QLb+MnEEdlHOgI/lOcpBnZRPgq3R2esq6XIXfPyVzlqtJbIJ9sX4HVSPm+gSDdEFsXAY1uEne2jxehld8P/+a8vhFgQTL6jyT7zVUyWEdVqn4c6hPrAVFEJzTu831yLJQwiOdq/w+aomiOlL/U+0bsZv0AiIQetXeyS+gr4tNOrMX7F0MN+ImSgQ04oDtBoB/0tkN/3U1mOY5AOTiMwb1TDR9jrk2dT7e07xNr4oywarLPAkHHsVuvR2IaVAFLXzcx9gxcu8MpBdiicUUAHLIKQIkCH6oF3eAbtZjFaLgyG2hAhDMUns5ky8t7jJ9TOEsGeDPmDBKtbNVVIHI8/ADK31x93Q/QpW+E6q03O6Eid/DHg3DzuqheLwdhEwS69P/8hcgCazEIjMpgW15D+eC7bW2U042jkaEeaxwPGAJEYAcRTeuRZjyk2SaZaleRoBwfN9/HIjeIu1CHSH/FgXFZ7+jNaYU1dDFdqsxOqq5F+w6Y8nvpgGPBViIec1emP3pmS+vZinMRV+NxT4bXbL2JbeHwMMMIVt3WjW2RfYEK7G9pmmphQJaRllGzrIS61n/f0pB+y/xEmgI9UUyZ/G/by6Pi6zEv17g7a6r0mRPviQJ+AxmjkWhleoblToVk978bYXwF1ZsrrbEilatTlfckzilWXLLib0ux5yECuk4MpyAXANel3dhNPVS/JB2ewvbpoAFGsUUpo9kPupDPYiIZ24P9JKAYunQzj4ZR+o3shYeQKZhxai96pK/gQBD+Z9GRhjJyRCPi2ozGKamPCWufa3QSV4IWRVGO/vn92jfuSG1noXhbMmw0U7oXZqm/7i9nNT8Aag+v0KGu7xHUQm/HfpLj7OBXsRui8tPeocYittRvfHw7qfe/L6mvZ93RRRFOMU+Np7PcQ4R1bwxp157P7mgKWeQ4kIe4gAeT6sDTv2pogAYMvB/TU4n27+Bp3LNU/ahN51ZHlSD+hH8izpcS8afwlni/9W2L7gYu+Mj2moFxH3kEwyochhwGzQ9tnIzCcoK/lnRr22VgNYl1Tv/1Z6a0Tv0wCgw3svpU9D2zzj9tojswWgSQU5kD4/19mIRFioBuynrC03e/4n6AbC74J2upQ9PwSuFcyhuBN8t61TBgbk6jX4+Sam8/skrw4OBw/dFCcjT4Gxbu4a8khkqmEIE9RnhOCa/KgLD+HqYwMASCszeeje5d0soOwvpAo0Y1rJh84uWoO X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b78b5de7-3533-4753-4301-08d963c07f86 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4128.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:54:27.7337 (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: gILHeq3FL2OVW5Prd0mXDvrBu8cgDXO5x0MGTp4o3nmIEf283ppMg919KyBtYW++npCcsxmg/AdE23KPxthbvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR10MB3427 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10081 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108200054 X-Proofpoint-GUID: Ae5MkLTj1U8AyxjcyuYclTvHcHvStOx8 X-Proofpoint-ORIG-GUID: Ae5MkLTj1U8AyxjcyuYclTvHcHvStOx8 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org btrfs_prepare_sprout() moves seed devices into its own struct fs_devices, so that its parent function btrfs_init_new_device() can add the new sprout device to fs_info->fs_devices. Both btrfs_prepare_sprout() and btrfs_init_new_device() needs device_list_mutex. But they are holding it sequentially, thus creates a small window to an opportunity to race. Close this opportunity and hold device_list_mutex common to both btrfs_init_new_device() and btrfs_prepare_sprout(). Signed-off-by: Anand Jain --- RFC because I haven't identified the other thread which could race with this, but still does this cleanup makes sense? v2: fix the missing mutex_unlock in the error return fs/btrfs/volumes.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index e7295ec3865e..51cf68785782 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -2366,6 +2366,8 @@ static int btrfs_prepare_sprout(struct btrfs_fs_info *fs_info) u64 super_flags; lockdep_assert_held(&uuid_mutex); + lockdep_assert_held(&fs_devices->device_list_mutex); + if (!fs_devices->seeding) return -EINVAL; @@ -2397,7 +2399,6 @@ static int btrfs_prepare_sprout(struct btrfs_fs_info *fs_info) INIT_LIST_HEAD(&seed_devices->alloc_list); mutex_init(&seed_devices->device_list_mutex); - mutex_lock(&fs_devices->device_list_mutex); list_splice_init_rcu(&fs_devices->devices, &seed_devices->devices, synchronize_rcu); list_for_each_entry(device, &seed_devices->devices, dev_list) @@ -2413,7 +2414,6 @@ static int btrfs_prepare_sprout(struct btrfs_fs_info *fs_info) generate_random_uuid(fs_devices->fsid); memcpy(fs_devices->metadata_uuid, fs_devices->fsid, BTRFS_FSID_SIZE); memcpy(disk_super->fsid, fs_devices->fsid, BTRFS_FSID_SIZE); - mutex_unlock(&fs_devices->device_list_mutex); super_flags = btrfs_super_flags(disk_super) & ~BTRFS_SUPER_FLAG_SEEDING; @@ -2588,10 +2588,12 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path device->dev_stats_valid = 1; set_blocksize(device->bdev, BTRFS_BDEV_BLOCKSIZE); + mutex_lock(&fs_devices->device_list_mutex); if (seeding_dev) { btrfs_clear_sb_rdonly(sb); ret = btrfs_prepare_sprout(fs_info); if (ret) { + mutex_unlock(&fs_devices->device_list_mutex); btrfs_abort_transaction(trans, ret); goto error_trans; } @@ -2599,7 +2601,6 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path device->fs_devices = fs_devices; - mutex_lock(&fs_devices->device_list_mutex); mutex_lock(&fs_info->chunk_mutex); list_add_rcu(&device->dev_list, &fs_devices->devices); list_add(&device->dev_alloc_list, &fs_devices->alloc_list); From patchwork Fri Aug 20 09:54:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 12448763 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F4ABC4320E for ; Fri, 20 Aug 2021 09:54:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EC3D6610CB for ; Fri, 20 Aug 2021 09:54:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238868AbhHTJzK (ORCPT ); Fri, 20 Aug 2021 05:55:10 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:21460 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238938AbhHTJzJ (ORCPT ); Fri, 20 Aug 2021 05:55:09 -0400 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17K9kg78029587 for ; Fri, 20 Aug 2021 09:54:32 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=jvLXbC3tcenD3SJpsn0iHWRsN6vZz3Y4QkDmRdUt19E=; b=ImGAYQlIPQHy3oVyeHucoUtzvhl4Gx/rVYVijti68EUkVJL375K1Uq2YkoETnKnQ7OPu oRwbpoeSgCUzeCJD7kzk9EUWC0FgxyXo2qMkbG6IdGjvdy5QgcJpk38tAc65zzH/PqP/ rrD/OXsbRjRY6/vyuTYEBBN8TWzhYeQzDutHAc4I9JWaEMNqf0VIATfb0/YyNNHRXOd6 9bbCWF8W3AMQiVbPQr6tSJTlxqviHSo/4ymCiJH0RyQgqjLaYgl0iyR7WdatuBNNeqDh CTjGBq6bDCL4lsbPhPkGsTCgG5+Y1E0F1fEVqJdoIMYQTsIhWMYJoAegJwj2gDFTId9c 5Q== 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-2020-01-29; bh=jvLXbC3tcenD3SJpsn0iHWRsN6vZz3Y4QkDmRdUt19E=; b=eBi6VhaqfhY6hbezoSk2wcZQYe4nsDUkVQoVT2ARpwzLVOqGJpcA37v4dV2SVUq6IXNS xeA3drmswSrETJ5K1LLKKUo7/jWD2c/WZJzLTYfjPzZr7XxiXLw442ftXQcba5tSI6r2 BPpQsEsr/ufYIwROkVHZ0IW4QW+Dj9cdr+YGWvrVZT/pAP/LwuxVrZlTyCuut90WlH0+ AEw1O2oSSKBdGAW5e6eNmwvWbt6fxcIuNRA88u5TgLrAVOuE2FAijZ8URPgZAuUookbn R7xBThHuynu/I20WSAdDdyUdBxlVAcIJcm6hd6H3xa3bSaLxhOQy1paJjP29HYYHDpUS 5Q== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3agu24p53g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:31 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17K9ixBw137509 for ; Fri, 20 Aug 2021 09:54:30 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2048.outbound.protection.outlook.com [104.47.57.48]) by aserp3020.oracle.com with ESMTP id 3ae5nd9s87-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ERbnvgWQagDyBHo/QoUL+P2l5I+g2TDhaJ2KI1dEV/GeHSZ4wvDMVBc/ujHRMY32Bf8uH0cEIJs36zw4lrh5gjqTAu9H3wWkfHNuoUPMvjJ0NV4Md50SnUq/1YwMmQttxI+0CgWf+zlYw8ersw57kiCpOkJqz5THCwlXvK4lumA58N6mN4JbKOjwpgwX6yuc20kZjWtbgvikWwb7UM/w1t1mKd7jDMEE79laZIB1Q77Wlw0M0mO7PXCsxxbTj4TBTSMcFgqxC4/l9nssRpUe6NZEVBoUL9p7jELl6czeoOe3ny0gseF3HlfIUvzTGpaJit6MgVRErCvHomqPulTSKQ== 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-SenderADCheck; bh=jvLXbC3tcenD3SJpsn0iHWRsN6vZz3Y4QkDmRdUt19E=; b=cJkbSvdTpeQx/FZtVz7T6L3Iqhucmu4Oj5Y0YFCtMHz52rlgg42WWoxQfjQZFt0NCL9pm0jKU8EnkC1v7hkC2Q0HbMJb6CyPIWrsDMBzU4TeXVzoF9/3rhZ277CFkzy8LSXWC6EC7iZMCuZwiG/ywaqakwiQlMqBRsI2ixzafWJR2rOwAPA+E1niBLTCSPlm9Dafdi5fv2ti49Esq1kYislVOcHLKiqJXK6sJXd5Hlc6ukYAyIUHZY9CyADHgwxoskq4BUoPS/A/eIiQC4NpSvb2liyKWZo7Asqj2F5l9ty6mhLWUFeF88FoRwiI6Tj2sOfOprG9+/d5oChTrCnu+Q== 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=jvLXbC3tcenD3SJpsn0iHWRsN6vZz3Y4QkDmRdUt19E=; b=Iz7TVAOdUxI29nSlf6btV10aZZVkemIDsh107qgYK9Ft3tbSmUbSnHFSxoxlNYgO5PjBiXeihJWBPPLLVxdXp835wunBtcfq719qqkyidU4j5LvtdPntd+zHN0qzUiVxukcNB6enkbT79kuxTL77wH61meuap6xfjPsI9bV3+a4= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) by BL0PR10MB3427.namprd10.prod.outlook.com (2603:10b6:208:7e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug 2021 09:54:29 +0000 Received: from MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a]) by MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a%5]) with mapi id 15.20.4415.023; Fri, 20 Aug 2021 09:54:29 +0000 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH v2 2/4] btrfs: save latest btrfs_device instead of its block_device in fs_devices Date: Fri, 20 Aug 2021 17:54:10 +0800 Message-Id: <61d6dafaff6a119f56782fb35b2374411585b634.1629452691.git.anand.jain@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (39.109.186.25) by SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend Transport; Fri, 20 Aug 2021 09:54:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1fd165c1-4b3b-4fa4-9232-08d963c08054 X-MS-TrafficTypeDiagnostic: BL0PR10MB3427: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:655; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SEriEW8Jf0zw3A141bHeAsCJDh5ZelWNrOjJHjuM3xatk9e6guwv66kEZ9Ocj5ZPjfSb2/IS4mf7a/3LQnNoaaPFTJrBE8UFtSATDeUAdqsrwwA2wRUuKRw+XY++sqJqdoXELnmRQjYPHO70fTqkDwuMBMCFO05s0tZp4GRba7DZa1YzWBAsIe1k5xJYEHqi+XKE7MY255W/RbYr8QvSeN2e1JLkM3mNffadp/XNfrEinyzpTt73mSJjIgxghsf+t2n46fbRxbiK352LwC2X6LEFSvX5WcmtBcnzVntuaMXzMXG/pBu9xQdp8/BPtuKxVgQ/ohrId/bUAXEDRPQRI5BfvtBC9a79yeGyrwz2bCuqKEbjQXwEcslj97Y5rJQSuVaTyFeP0l7MaY3HpCvQySr6q8J9c5BBSq5LChHrN7P5VNHsrB6JzHyaMImzgbnytjQOAAxhm73lzdT89N7/2O0kpoHy17TjG8E+O1adD3i96s5ADXWLQfAhriUUunVcPMHamEkm6pMNOG6TQbTNyXKoseN8uYFSH24rXsbr13cQzMLms2iVB/vQSSacGMWFeQnR7HF8heuDmwtRF4TzLCm0PMtKA1GinGaJGMFMWCIT3fD7v2ODJ/7m4aoTbtOBvAWUMEi8nGZGGy2v9GRpt8P+Fsju5O3O7Wt69Yp/p+BVc8pNz5RFE3zbHtGMKpx4IDJvMGjaBausNcChAxp0bQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB4128.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(39860400002)(346002)(376002)(6506007)(5660300002)(6916009)(66946007)(36756003)(66476007)(66556008)(83380400001)(186003)(6666004)(478600001)(6486002)(52116002)(8676002)(6512007)(8936002)(86362001)(2616005)(956004)(44832011)(38350700002)(38100700002)(316002)(2906002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 894yke6DXzisDHT13XdA5l2q8GJ7vndPqO4/r815VoobQM+PAFKHtFYjDkb78uVV/Wkf0yZQSa3W/XDjyHEUgEKE33VPxFUY0fdvbPNvwkGYD/ibjnhuD92smEMRgvYlG473enoBqD8kidBn28bGW4oCZwMWb8zKGNtb0pZVx5CU127hl24RZjqNHsXaA6hiG0EfDwOsE0onBJRmxMIXHXG3rOA/rbtnQcyZX5ygG4vN+fAjuLDTq1Xnira/zBMOSSUNy3J7TuV2YxG23zhHKn7vKH0OGUoxWyiInAJjTWLbQ10x2FUm5whly9coe0chtpI1ZXEmq+Vu+bNEmUw1k2DvQcqqPCbo6KhLR+H7PVyigSC+i7xCKSyHio4gy/qnqz6PnA7DyUlfQA98ulu3ew7J6jpgNyf0j5BQeZVfg9/j13tZScQQj0h/ICGzj69dXNinwG4SLBIBcjxZIJuPXaqKSwPcs67FbQJ+mLX9R+eMnE+SCVMKMOCWlnbZXSbRP8jIG0kbI/Jwxq1razjmSbNxh8ofXDmldaC5E+AFZB8CP9HJje4ohHGitatF3FlHIwHV5E33o1zG5ej+1LHOdGNDCB9gcaeGOFkFAn0KLhKvrg/3daA6hselEjAEg6jreeFErYgEIONTX3Wm0bORe5cbRCFVTXU19FoIWeq6Y3vgA6gfkptUNToBO0Y2JuJ+xVCnDXt1cCReRBZygVIhXqxCDxqTupomDmkTFwv6r0t4HxjAofb3PX6uXGe4VD4xHcKYX0tuLiq4PbgApr4W8KMN60qXPiipvP9IvYo5uSennE4ELgPMKWjXjeMrNlT/WqvAV73iEtdZV4j7zyasnuGUxgjeajubnL3DDQvOHEVAHSeRhfVTdTGQLHULroKZRhxz4MDlRRBPpGnKAO2CPvjk6/44WUWbdQvTi+E1Dy1CkEi3bI4Cvh4AjF7yRLKstuAFZZH13beCMQZLE9FaY7Ev9tf53t1g90/YsUo+b89IGLTdBzn6VeArD9EffEZMkI08llvV1H+J/lDsy/nskgZsS1jyek2ieNA4m8TTVT4xX6mXreH3MCC5+Pjqec1xc6Rj4Z9DVHWdRirQ+/w6aDGAD9EFwWUDQCXx3fNPQuT4F2Sr2V3vzSb6FDSnpwKthOtOCii9UPuTNGZE7CfuueVhGALE1Fy3c2Yo66CBJrrvFRnenWuXiQ1mu9qPxa+t/dtp4YKF6BUUB0vXs4HjSGKISmhClhxJVnqtqhrCahIaFw9APyR94/rWVUx5QDbVrEREbqrDCuqJNybaNQeEwT3NPAc71o9uQY2MdIde1zcb24xavfvUnNrQ6ZGT9JNE X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd165c1-4b3b-4fa4-9232-08d963c08054 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4128.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:54:29.0848 (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: CvdRaEiRlPpVIim7S6qu+SDBfGEA1Difj93HrV4BS4vNjDR6REcask/CHjageGlyYIya2CY27fgGlXjSUKHmxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR10MB3427 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10081 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108200054 X-Proofpoint-GUID: JUDgqr9r-GWxzapn7-G-jOBX6DPzOOeS X-Proofpoint-ORIG-GUID: JUDgqr9r-GWxzapn7-G-jOBX6DPzOOeS Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org In preparation to fix a bug in btrfs_show_devname(), save the device with the largest generation in fs_devices instead of just its bdev (as of now). So that btrfs_show_devname() can read device's name. Signed-off-by: Anand Jain --- v2: born fs/btrfs/disk-io.c | 6 +++--- fs/btrfs/extent_io.c | 2 +- fs/btrfs/inode.c | 2 +- fs/btrfs/procfs.c | 6 +++--- fs/btrfs/super.c | 2 +- fs/btrfs/volumes.c | 10 +++++----- fs/btrfs/volumes.h | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 1052437cec64..c0d2c093b874 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -3228,12 +3228,12 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device mapping_set_gfp_mask(fs_info->btree_inode->i_mapping, GFP_NOFS); btrfs_init_btree_inode(fs_info); - invalidate_bdev(fs_devices->latest_bdev); + invalidate_bdev(fs_devices->latest_dev->bdev); /* * Read super block and check the signature bytes only */ - disk_super = btrfs_read_dev_super(fs_devices->latest_bdev); + disk_super = btrfs_read_dev_super(fs_devices->latest_dev->bdev); if (IS_ERR(disk_super)) { err = PTR_ERR(disk_super); goto fail_alloc; @@ -3466,7 +3466,7 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device * below in btrfs_init_dev_replace(). */ btrfs_free_extra_devids(fs_devices); - if (!fs_devices->latest_bdev) { + if (!fs_devices->latest_dev->bdev) { btrfs_err(fs_info, "failed to read devices"); goto fail_tree_roots; } diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index aaddd7225348..edf0162c9020 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3327,7 +3327,7 @@ static int alloc_new_bio(struct btrfs_inode *inode, if (wbc) { struct block_device *bdev; - bdev = fs_info->fs_devices->latest_bdev; + bdev = fs_info->fs_devices->latest_dev->bdev; bio_set_dev(bio, bdev); wbc_init_bio(wbc, bio); } diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 2aa9646bce56..ceedcd54e6d2 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -7961,7 +7961,7 @@ static int btrfs_dio_iomap_begin(struct inode *inode, loff_t start, iomap->type = IOMAP_MAPPED; } iomap->offset = start; - iomap->bdev = fs_info->fs_devices->latest_bdev; + iomap->bdev = fs_info->fs_devices->latest_dev->bdev; iomap->length = len; if (write && btrfs_use_zone_append(BTRFS_I(inode), em->block_start)) diff --git a/fs/btrfs/procfs.c b/fs/btrfs/procfs.c index 30eaeca07aeb..2c3bb474c28f 100644 --- a/fs/btrfs/procfs.c +++ b/fs/btrfs/procfs.c @@ -291,9 +291,9 @@ void btrfs_print_fsinfo(struct seq_file *seq) bdevname(fs_info->sb->s_bdev, b) : "null"); BTRFS_SEQ_PRINT2("\tlatest_bdev:\t\t%s\n", - fs_devices->latest_bdev ? - bdevname(fs_devices->latest_bdev, b) : - "null"); + fs_devices->latest_dev->bdev ? + bdevname(fs_devices->latest_dev->bdev, b) : + "null"); fs_state_to_str(fs_info, fs_str); BTRFS_SEQ_PRINT2("\tfs_state:\t\t%s\n", fs_str); diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 1f9dd1a4faa3..64ecbdb50c1a 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -1706,7 +1706,7 @@ static struct dentry *btrfs_mount_root(struct file_system_type *fs_type, goto error_close_devices; } - bdev = fs_devices->latest_bdev; + bdev = fs_devices->latest_dev->bdev; s = sget(fs_type, btrfs_test_super, btrfs_set_super, flags | SB_NOSEC, fs_info); if (IS_ERR(s)) { diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 51cf68785782..958503c8a854 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -1091,7 +1091,7 @@ void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices) list_for_each_entry(seed_dev, &fs_devices->seed_list, seed_list) __btrfs_free_extra_devids(seed_dev, &latest_dev); - fs_devices->latest_bdev = latest_dev->bdev; + fs_devices->latest_dev = latest_dev; mutex_unlock(&uuid_mutex); } @@ -1206,7 +1206,7 @@ static int open_fs_devices(struct btrfs_fs_devices *fs_devices, return -EINVAL; fs_devices->opened = 1; - fs_devices->latest_bdev = latest_dev->bdev; + fs_devices->latest_dev = latest_dev; fs_devices->total_rw_bytes = 0; fs_devices->chunk_alloc_policy = BTRFS_CHUNK_ALLOC_REGULAR; fs_devices->read_policy = BTRFS_READ_POLICY_PID; @@ -1968,7 +1968,7 @@ static struct btrfs_device * btrfs_find_next_active_device( } /* - * Helper function to check if the given device is part of s_bdev / latest_bdev + * Helper function to check if the given device is part of s_bdev / latest_dev * and replace it with the provided or the next active device, in the context * where this function called, there should be always be another device (or * this_dev) which is active. @@ -1987,8 +1987,8 @@ void __cold btrfs_assign_next_active_device(struct btrfs_device *device, (fs_info->sb->s_bdev == device->bdev)) fs_info->sb->s_bdev = next_device->bdev; - if (fs_info->fs_devices->latest_bdev == device->bdev) - fs_info->fs_devices->latest_bdev = next_device->bdev; + if (fs_info->fs_devices->latest_dev->bdev == device->bdev) + fs_info->fs_devices->latest_dev = next_device; } /* diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h index 4c941b4dd269..150b4cd8f81f 100644 --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -246,7 +246,7 @@ struct btrfs_fs_devices { /* Highest generation number of seen devices */ u64 latest_generation; - struct block_device *latest_bdev; + struct btrfs_device *latest_dev; /* all of the devices in the FS, protected by a mutex * so we can safely walk it to write out the supers without From patchwork Fri Aug 20 09:54:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 12448765 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 330DDC4338F for ; Fri, 20 Aug 2021 09:54:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 18D0F61051 for ; Fri, 20 Aug 2021 09:54:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238949AbhHTJzL (ORCPT ); Fri, 20 Aug 2021 05:55:11 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:22620 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238938AbhHTJzK (ORCPT ); Fri, 20 Aug 2021 05:55:10 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17K9kA8V026170 for ; Fri, 20 Aug 2021 09:54:33 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=B95cNPl3NnzRgsazOC9303C6oDxMMKL16c//N4zsv1M=; b=CKaaEAgpLUKMfJEsJWrY6krM35XLLoXNZrsC0fty8OOcmMFWvvf0T8aOTJ17Ea8OL7V9 0hKiq/pEl8m3f9pvD7IEwXBf7L8tTPyZ7u7CoPNSwledSYgDWpeZj4Z8813J8jnI+Ra/ hokdMvHleY+IM685uIOsgu86+oCl/vmx67c2TkedKEjzRoz0p5isJu0cQqYrHCp0rXr6 tZaBgc6HhSY+xrSUP0vGfmHcWby1HMUHN/kU3dmI3UVn8qNCJJbHMXJQE9ZzuZ+b7nMP EDbJoggUqBPvzbu4Cv2btviSR5dyvoX0PZLch4b/eKfnd5akHQIhh9mnt+MiFd6tH2AI hA== 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-2020-01-29; bh=B95cNPl3NnzRgsazOC9303C6oDxMMKL16c//N4zsv1M=; b=rDvpgOjIYxfVk3slKHCpjq36O8On4rqvHbubwTZreJnoUCaYFIW6Ub+heNfzwPo0CfHH BfMncvFr7yLvmgPiSRntuZu+LYGDf5IcHoyQf6CtYWCR44y4j3axQlgXLkHGe8anks3h M1PfXnKXHzaAnZw5Qr/MHHAOYWuRb1+oZmqOgChFn643241HfPQG+rNkpU4YS5+G2Y1r qNeswwCmrK9mzdrjYd2nWRW8LXZCTwFIF6sJrOObdwLsZUzBlWOLTFpfIV30gScIVecU LXLXGXFHC/rU9vVuQdyypF1kNh8NXlLlYOJbRmBOjcAK01nkoktbVe+uihaqwo+WO514 DA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3ahs40j2rg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:33 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17K9jC8o114375 for ; Fri, 20 Aug 2021 09:54:31 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by userp3020.oracle.com with ESMTP id 3aeqm1dh19-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bV0gXtu+Ws+IHecSoVTbkeyLVYyq8ye2FIZjdhfnBwYmncrSwumm+lQwioQsVlaEHhcInXYDIsiPw6d6WCB+PsjM5KdbjWzZyXvNUKeGMf166AKhX5ZCOuD8omUtyBLP2Ynqxo1zksN24in7r1gdgqKDQ39Lx/Rso2d4OM1Mlr2VuNMc0cNVcIhRgBNdPRfb2qhJk2crrH1/Ie+JedezLIvqg2DAa+eK3fLZKSe7F0bil+DfbiPlA9uoiXHIoAdkKFFp9E5oZ99D3bEKculd23ZwvMmXUvethVeu4rPXjcJoPy6hxFr3BBHDsDIB0dpUvk1jtpzeMNrDO5KvnE19ww== 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-SenderADCheck; bh=B95cNPl3NnzRgsazOC9303C6oDxMMKL16c//N4zsv1M=; b=GrHRTHLIzpDFfdRzKdpV9n6Za2EMcmN048erUzLCefzfIZKMQwQDwghL2If+JeICsx6hxv6q9RDOjAVolme92gFFOHFScRcI1jjJcT8FMM53/QbPe7XsnTs70BvLgwIJYzpA5JLERm6ygszAu98tD9OwtsqFjxhgTZjD6K7ejyEjL2p1k9yrtv7dS6AXjhZ8JOdhoIwqxHC6RZ1yq57PD8glDJSu+XvQX7gQa9Jovzc1NfGkP7YkaL63JbBIzhpc0ozzB4GsY/hDKIXXZmIZSxgNkBLuAb+eJ09z5CKvG0upGCOlihlLXfImz8pnWlibiTYiUCtMueBz/hVJOdsK/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=B95cNPl3NnzRgsazOC9303C6oDxMMKL16c//N4zsv1M=; b=L6HzJ8Q8LdVmM/0KEnhy4wkCLRy7OwRWCV0Zgh7q3eU6Mmmn7AUTmWwAko8BLj8yvLPOpRnlYvPXZAAe6rbcv3a3nicprsEJHYZHZE7C4fUbwHz6bJ09eZ7JAecVQRLYarR2ArIKe3F5KD+SD7NFWdPkkqQ9kcHOVe+r1bGABrQ= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) by BL0PR10MB3427.namprd10.prod.outlook.com (2603:10b6:208:7e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug 2021 09:54:30 +0000 Received: from MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a]) by MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a%5]) with mapi id 15.20.4415.023; Fri, 20 Aug 2021 09:54:30 +0000 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH RFC v2 3/4] btrfs: use latest_dev in btrfs_show_devname Date: Fri, 20 Aug 2021 17:54:11 +0800 Message-Id: <7c09f4adb27f4dc9de47ec9a4b8b4b540036534e.1629452691.git.anand.jain@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (39.109.186.25) by SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend Transport; Fri, 20 Aug 2021 09:54:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1fb40b60-7975-4de9-b786-08d963c08129 X-MS-TrafficTypeDiagnostic: BL0PR10MB3427: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rxI/+aAv2JQpV/hK1lhjtGZIU+Qxf5udvaPjxRrSIeVXyGge04eEIlNT0XkzuZlJfnZ5Npf5jE/KRWgxgEGVxVEZUakkUc+68O1RbreWiNRU4VS/2ktqLvDHBNAqkOM0lSvAVG0vbNL1C7rRalVjCCjyzAe5p6lO3cnJ1nj6LzLPiOaY2EdskUzkO575sOlVuc6ctBH5H93YpQo45gb3guVCvH7oW7I+JIB9pNhNN0m8Z7EJdHCSE52gE7RqJmDudKfXlrTxCQUqF+4exDwAiGqoDrBelFoOpIFoBpGsWr59+TyBiTcuXLjK/7qDEGup0N56AdJKx4a6kokDQT8FMmf+xdfxinQHknD+N/Ux64lqL5sXcEzOhnoGha0revUvZ1UwQKS6v26M42hRf3JLw9x5g6qqppklZJHAvT7X2861oD8E0tzmsg6pCxuPKM22vNPuAn9Vk22g9Vcdde6pqB4ppKrl0hYKUKL1I8ND/mTT75UlBdIoqhUezoHnOVs76O3AA2XPoCQVBMVgN+CBcq/hhYn5g8RBOOHt20qEYe2lvi0CR8cAmRozEEs/xtTnFD5iLPD8w8oVLhJWc0fOsp3/9u29+s8JipXfjiH8zHcRtmIQynocBXrg8v6FOM9SYXycmsBgVQQFXI3UqqEFs4W0D9AK9+a4vgT27T7x6jDrF+obSfGzxR13RvCauBZ330J6ZiVO37kvyQ5GZnGw0A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB4128.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(39860400002)(346002)(376002)(6506007)(5660300002)(6916009)(66946007)(36756003)(66476007)(66556008)(83380400001)(186003)(6666004)(478600001)(6486002)(52116002)(8676002)(6512007)(8936002)(86362001)(2616005)(956004)(44832011)(38350700002)(38100700002)(316002)(2906002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fNWzEf0imaHB80OzxAY/pjLlCl0pH7uqOoj7gy4es4f+1ZNgF1dpwgzkkl617viV9VHtruZNTPCkYpp8paCkwsAgQAPCuUyNsJMW2l6o2OnEJuzscgwJfGbmbpIEA7dNWpnlsYP9y1Xz7B2kGyZ9VFIJI/0mKLkfQWS5x18mwth2mAkFC32UFY5Ile8KtiQMlplp/CaD5t4D4gK1rDeV7HIWT7sKElSpJcRTA+Ol1shdu6sywQ3UsvKAGIBHliztTLABc6Am+EldiDOVmWngIXSYntb/aFw8F9m108VLTGx3SHiMdzN6dKf78InnjFSL7zKdVeXI/sMC55EkCKaqAEOZdNGSeLf77rTNbhciiuJqZWNn0mDS0lB52L0Ffx/218C31a36Zj2kC6JNIt/JDk6Dp7lj26KeNdD4+0N4wxegn7QArhbxPqGoH73G9o5hrHI5ddvefX/mUS/0PP0CzUVYNHmkgiRmWpyxeZU4IVSAXcoc46AOajbCM/Qmxx5ON5824Sa1JRnrWy0Oe3WwzQI9ihN/o6QNASf9MJw2SF2IaFz6ivxYINcULNCWzWS7ZHD2QbpFUAtXss9MdDCk7fYwdqFl3ZZSAf1my8/vv7+0oZV1+6yZ0gihjCimYnh2lkRdibYBQhxHG0JuijHJ7cAWLNFSAhWbfDT7zIp4jyJCnIZP8gasriYXcEqvtyyn5tow8ZY73kakxCFU8dtl60NsQ5HkiOwB+UDBYSrnmebqb3F7e6U2UVBCmFImDf/v3+rtNdD90MoEIpt/OF2+sZ3g/XQeBNixiMaDWzTbX8G6w5qZ2D/roR4wCG7LRG0D6afT8dCPpDEhOuhSf0Ju7csqMeFjtO262wW7SpvfqcT5gAmWzgmu6kLrg5V42NErFfrDllssXeGXKsx/Gj7M6esrbde/hajbugQoA0Ysk03Aw/yu9ae4lMcViJeMp3ktylc0rjTzWXgnlsi5Sh2ROxLFui23jRLZwevq868ujdo/j9QZ3zZ+Y5TT39kObmaSHQTeTmex5MICb592zzDZb8nmhhG4sxOr6eiJPApoE+O4XPTlbBiED0/wHGr1c8ts5w7SwLEe845btF+Y8WFxgS7EROO2/igFDe0yOnseYChhg0w6oMCDCEsjAiHxYO6tPO5CvUp1HAvU8KF8K9UbSpccUhQvgk/Eqp66YRODQvHcrzmbjiBrql4AjY4MGzRU7Mz19yhl7qMms1yYJho7ZwUGOHER7uSKOnHfq4Xk2luZ4fJvTyugWVZe6+GLMA2DQ295v++TnwFdiGnzyGl1E024JDVwVjO6wWLgEMrHMzdGnqBx/hVx+bebNp0tJCbl X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fb40b60-7975-4de9-b786-08d963c08129 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4128.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:54:30.4697 (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: bNc7pTiWZvU+01vrN+sxEDdtri8IpSZdhZCbpPkGPc3UPHvyfbseDN07k0Ixlvj32rFpb+D/6iW66SPwG/kxaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR10MB3427 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10081 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108200054 X-Proofpoint-GUID: HxcMky_ujRxebtnmxznnSr-YxIlsA-dT X-Proofpoint-ORIG-GUID: HxcMky_ujRxebtnmxznnSr-YxIlsA-dT Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org latest_dev is updated according to the changes to the device list. That means we could use the latest_dev->name to show the device name in /proc/self/mounts. So this patch makes that change. Signed-off-by: Anand Jain --- RFC because, 1. With this patch, /proc/self/mounts might not show the lowest devid device as we did before. We show the device that has the greatest generation and, we used it to build the tree. Are we ok with this change and, it won't affect the ABI? IMO it should be ok. v2 use latest_dev so that device path is also shown fs/btrfs/super.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 64ecbdb50c1a..6da62ebda979 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -2464,30 +2464,10 @@ static int btrfs_unfreeze(struct super_block *sb) static int btrfs_show_devname(struct seq_file *m, struct dentry *root) { struct btrfs_fs_info *fs_info = btrfs_sb(root->d_sb); - struct btrfs_device *dev, *first_dev = NULL; - /* - * Lightweight locking of the devices. We should not need - * device_list_mutex here as we only read the device data and the list - * is protected by RCU. Even if a device is deleted during the list - * traversals, we'll get valid data, the freeing callback will wait at - * least until the rcu_read_unlock. - */ - rcu_read_lock(); - list_for_each_entry_rcu(dev, &fs_info->fs_devices->devices, dev_list) { - if (test_bit(BTRFS_DEV_STATE_MISSING, &dev->dev_state)) - continue; - if (!dev->name) - continue; - if (!first_dev || dev->devid < first_dev->devid) - first_dev = dev; - } + seq_escape(m, rcu_str_deref(fs_info->fs_devices->latest_dev->name), + " \t\n\\"); - if (first_dev) - seq_escape(m, rcu_str_deref(first_dev->name), " \t\n\\"); - else - WARN_ON(1); - rcu_read_unlock(); return 0; } From patchwork Fri Aug 20 09:54:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 12448767 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9063C4320A for ; Fri, 20 Aug 2021 09:54:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B2E2361051 for ; Fri, 20 Aug 2021 09:54:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238953AbhHTJzM (ORCPT ); Fri, 20 Aug 2021 05:55:12 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:23818 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238938AbhHTJzM (ORCPT ); Fri, 20 Aug 2021 05:55:12 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17K9kATX026176 for ; Fri, 20 Aug 2021 09:54:34 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=GCpm8K4o5UZ1b8aM8TIxWA6RU5va6lLNvEd/WvmpFqg=; b=c+cU0rwilIAaYuBH0UobuBRy46+mcHpc06kyoP3CcQtC4wl8ixujRuvMhZ6khcz6VKsQ 4rXKqCPcxt0ywGbJDJ6+H9W1i2xOzwEUTVlOlCOy96RcVW4Q4LYUt1QmBcU33PsvaZYs J73orw/+ZemNghbPv+kzIo5YlC59o6Yu0mI4sIyaAF8n3D5vp7hAb2W5Hl+p0fsn2FKg xKUO2Y1/mXsitGjhXZdMmggtxpZDQ3OrqlRl6n26QV19p+j8s/NV4jifCuH0v/QKWJsG QxzZ2+qkWIaLVRnFDfG7Zu7w+mM+uy0bI7NlEOn2wQjj/S3MHGTlPQuWlgHIjW5ALfKV sg== 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-2020-01-29; bh=GCpm8K4o5UZ1b8aM8TIxWA6RU5va6lLNvEd/WvmpFqg=; b=fTQlKJpxifPzwsoNrepIeFxchpkbxRFh47FD3Y7zp7XhBFqSXWWA/CZvA5drl8uh91S3 c814VqQrWBEzCCWTK3dWVipWSi8Kp6g2XP/p2Wbatq0tr1yTt7LLdlJ0tapdFypLSr6R ZRBxMnb9q2TgSbeFqy1K3fssqTtb+J1y+4PT5DAymsGM4bVN8vSspaOdopGNxQrcGdiq 2qjwQ2/owY5BeVG45wvuC/+vXyMwNIOZ5ziItcCVvX5gQMz6FZuExR2hXCpJpW+XW+9V xnnHpjRKvHfXHDiqDbQ787h0bp/xOx6uq7OcR8gv/igTCiE5JPx5UVQg19IWLvpeHJiJ LA== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3ahs40j2rk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:34 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17K9jGV7168035 for ; Fri, 20 Aug 2021 09:54:33 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2040.outbound.protection.outlook.com [104.47.57.40]) by userp3030.oracle.com with ESMTP id 3ae2y6auws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Aug 2021 09:54:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YzQCMuOKEnW+b9tTpKrjK0ZzKItlgP2jzZGlyRds/s092xdg8eGU7m5m+4GMXraWqYwPP6AvptnTZZ5FCKBdTRMiEOmPqN4O+KDjE2V8BUhnUlwtX4HkUX7V894PZ02DWx7BpXADo+1iP5sSHtXup9aaDOUoKewacf8oTsOCCRUCjYSfI7b54w+XcXdap3BhUDThhg54nibvxzDBg/H+F1khMMBVRwguM5DVm7Y16VfuQWj0z3ZaIZuq5mgb6EqOW0Ylfh2XwO/czfZkURx6iKJErCyhMdZvEy9POYa9s/yTslSuiXiveQ/cybLfvz1AhLH1/LKc11JgQmZ003OrUw== 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-SenderADCheck; bh=GCpm8K4o5UZ1b8aM8TIxWA6RU5va6lLNvEd/WvmpFqg=; b=Ce/xbw+faTBUpdBd3imsN6gdWFoy+IBgjNZNRsSSYeKEINHOzEQEys7CMR8UaGqWBJBYCWEZTtYHQY7A0EFqBSukrFqk4qe+qrjoFQULLW+VLX23l0Ahcs8e5s+R3dg6lJn3DtzQRpqYnqEB730H+FHWp6r5cCXUgl/VpoDQ7iTI/mKPBLjXanW0cGL9IBtFCukr5K0C/pKGIeodf1PUeKRsGoOBttxlOt25fYu1H4Es7pwlNg42+GmZNvz8OM0MUqdIiuLjBne9vhj+eOGW6UtS41SWiHKrBMl8c5IOMJ5+5wW9gqzhW/leeERBohhhP/3hzhbeGFsd+nKNqRR89Q== 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=GCpm8K4o5UZ1b8aM8TIxWA6RU5va6lLNvEd/WvmpFqg=; b=gfFwirdd/YNQJG1eVIYTR5gZMKdXHprOK1qS+UHYYhLj2vYx1/QGitGMcbEXat8FSGzgFDTQExEpFPsPXqKRg2arE1PcZ4HC4IWLdBeWWGVqibzn+Gn9nO13GsbxFvJFZzdO+z1FxdVLWrYeURsJxCqtv39xjWtIF7nUp0ZtNpQ= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) by BL0PR10MB3427.namprd10.prod.outlook.com (2603:10b6:208:7e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug 2021 09:54:31 +0000 Received: from MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a]) by MN2PR10MB4128.namprd10.prod.outlook.com ([fe80::b813:4805:31e:d36a%5]) with mapi id 15.20.4415.023; Fri, 20 Aug 2021 09:54:31 +0000 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH v2 4/4] btrfs: update latest_dev when we sprout Date: Fri, 20 Aug 2021 17:54:12 +0800 Message-Id: <1e53559c7651fa4dd8897ee933dbddc9df8f4c57.1629452691.git.anand.jain@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To MN2PR10MB4128.namprd10.prod.outlook.com (2603:10b6:208:1d2::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (39.109.186.25) by SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend Transport; Fri, 20 Aug 2021 09:54:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 620fc55b-5656-4754-7b64-08d963c081f8 X-MS-TrafficTypeDiagnostic: BL0PR10MB3427: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2043; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9S0m0uxDfzz4h/kH408VX0TMrOEoCV9v/ndOgnC7LPWK3lqv15xCS2IBqtq2Oia5Yv8kvU/bOkpaFRzJ/FWwOfOpFM5qP1mp0nCXYM07b/F2yq/vvZYwXvzCG1Uu3VLgwrDVNpj/AgK9gEGI9LUEWIBAtQ4ys1UDLdsrOuUNn0rq3yC/OyrdpuH93taF7B4Jh27K6F7BUCvE6psRR0jMsPQwQUequ3PEE0eKH5nQEbBNZgZPbfrRDduF94YxTvcUoAPS2ma9WRVRlvVOabW/u10big4ZDlDq8oEYgTPjjyppZLQBn6JD6kzgtzlsYdkf7y+pn5ofh3CB/9DPHZET1tQC/Q6SLZMOc++MMVAI75wv/aid7ATXYZi266sz2KE9SRVZ6ji+Lxvwbh6PHxGas+EZLJeyoTAZ+ucyfbo5GobyeWhEDyqFH/520eawndE3I9f5axpcLmNGWMfkP2giAhvo1dUgvjoTvWhvuuFv8YAjt7UKVWWx9HALf2IXfdIaofgTrM6DyL9J1Jo0KAOe3b3mx48BtpEFFoHe5WnoSwoj47WxvHMAkLcWe8GNwOXasmNS0stl7/0+uhan8qYWpP/e5j/Oh9U+RpI0oL4RzBuhdx1SKLyKn2i6Ss/UtfaB52Wj6xjVbdx8f9RyplE9rCkssJc9a5e3ySdWGNL48w6oQ09JOdwo+EldUWkYNxxAm5yQwQhb+/OWeZS/Mn/bGA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB4128.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(39860400002)(346002)(376002)(6506007)(5660300002)(6916009)(66946007)(36756003)(66476007)(66556008)(83380400001)(186003)(15650500001)(6666004)(478600001)(6486002)(52116002)(8676002)(6512007)(8936002)(86362001)(2616005)(956004)(44832011)(38350700002)(38100700002)(316002)(2906002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ehI+i4ZrI+qElmnelMqHWXUNPt4wH/0v7Q9pB9uV0ME/pUVZWw+HsOIpGDe6jcwoasOekWpiDoIqnXd+PhCbl7zsG9Aj0+aY0Egcs5Cb24/HT6cZ5UiYClHRh5NXuvcl35D0eDUHKb3IkR+wmGFhYXUJAuKOx5wMjY6yTf/J0p+eALlgQs6h41fhxEgxJjXyEkJldBBr+wE5WLayfKldaC1DHd8xHiAOFEz+gk/wd6VR2ovx5XogY9vaK+nam4rSQ+lGcPI7SYZlXq8EQWByNEAZMszWLRHjhow6K5gETihAUuK0+8cl983mHCfPECNktvoSl4RDCdd0tKuK/V6IgPI1I8XwqwCtYKmLDyPxJQ0gB0T5M1iiqoOOM3uJi9McgPOe57+VJ6kDdRc7Vb0+MOfqSnJnhwCzOB81RRtMaeQlztLmXAF7r+qk5UCmwjE92FIqtRA+0UJFltCuh6fYQQr7TZrw8wnydqjSEc3/WPHXPzzoCvyTVLnPB1liDQmt1pohPZFZO8Wo9F1L56Q2iGNVb/FlhG8HoWLxL828ul9FyxNqObnc7mxZzJZJHE9bt6SNA0b8UJ6nWpHLXiTcEh8kKRXpyzJVK1JFJg0jgSJiAJOprtGj1OQVJ0H4UXm7Lk4kxtY0zp1a+xZqT4ci2TpsxP1MXJHlxShb3mWQhwfzhavkmo2hbphbiBLE+5UEPxzhm3lvEQS0or4lzmfXgGwIieLFs8Q31beXYWJnNTpwZxpQAxKLCqnmnzM+xstuK5qzcm+tY85hGwaQLtLnd4P2d28dmBJKUoetI1kkMCCUfXHE3EJcHfZrxJgmdlE/TfvFBEBQEDKJoNigMl45nkoYgCB2/YTb08HTzSVVxbDdqpWQvK44rxS2FZbwPkBU2ID4zUwOK/sWTyly/UuMKBcy8U2xvN3lh72rMUi4CuPbBhNIblRK8XS8t5UyK2ZC9FGvSRXV6xI97DGYHkByJuuWrH+kV3nSYqq4spMacHYqzHPqUA8ZkPY/lywweC/63bZS6XldlQKZIl0WG7ftnc4vAbNAezR5oia/7+Xrd7DmrIx8rKbwSYkILj+j/+ObQHzeKPpRief7nurTj4pKAQIeB108IDN7cI+CWPm5peytexGwkpozoFYqSpBtFz3c5d/BkcwAhpDyZ9hmImCewFgaNVGkwau1mgfgzq8UZFmD5ctYmD1SkN0qqVX5dygK3sxQLvFu/d61fXZIFuOdKPyaI7E4EPSZQYhMO5pKkzX4WTOWgzyOs9oDibqGhCY4ZLqs9CileGXzrGsWbd8aMnzUlZgBUfpQKn8AYVbxDuvcQPf9UrXRz4DJrXcM4PxF X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 620fc55b-5656-4754-7b64-08d963c081f8 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4128.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:54:31.8367 (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: OWqv0qLiBmiAW5ltV+TQMchG5wXfY0NCPhT+MOuvoecbGYxdMvG/faSb8OZDsyMLMb1Ua4bW4bKVsOeTNsQMUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR10MB3427 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10081 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108200054 X-Proofpoint-GUID: diF-AL9_XhqjOyVPHmhamaxyS9cYuyr5 X-Proofpoint-ORIG-GUID: diF-AL9_XhqjOyVPHmhamaxyS9cYuyr5 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org When we add a device to the seed filesystem (sprouting) it is a new filesystem (and fsid) on the device added. Update the latest_device so that /proc/self/mounts shows the correct device. For example: $ btrfstune -S1 /dev/vg/scratch1 $ mount /dev/vg/scratch1 /btrfs mount: /btrfs: WARNING: device write-protected, mounted read-only. $ cat /proc/self/mounts | grep btrfs /dev/mapper/vg-scratch1 /btrfs btrfs ro,relatime,space_cache,subvolid=5,subvol=/ 0 0 $ btrfs dev add -f /dev/vg/scratch0 /btrfs Before: $ cat /proc/self/mounts | grep btrfs /dev/mapper/vg-scratch1 /btrfs btrfs ro,relatime,space_cache,subvolid=5,subvol=/ 0 0 After: $ cat /proc/self/mounts | grep btrfs /dev/mapper/vg-scratch0 /btrfs btrfs ro,relatime,space_cache,subvolid=5,subvol=/ 0 0 Signed-off-by: Anand Jain --- v2: born fs/btrfs/volumes.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 958503c8a854..1d1204547e72 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -2597,6 +2597,8 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path btrfs_abort_transaction(trans, ret); goto error_trans; } + btrfs_assign_next_active_device(fs_info->fs_devices->latest_dev, + device); } device->fs_devices = fs_devices;