From nobody Sat Apr 27 21:06:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+80449+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1631220083062654.9919258462118; Thu, 9 Sep 2021 13:41:23 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id rFGOYY1788612xdLuB9Wwpz9; Thu, 09 Sep 2021 13:41:22 -0700 X-Received: from NAM02-DM3-obe.outbound.protection.outlook.com (NAM02-DM3-obe.outbound.protection.outlook.com [40.107.95.75]) by mx.groups.io with SMTP id smtpd.web12.8.1631220071946194191 for ; Thu, 09 Sep 2021 13:41:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EsPBlKbTez3Omunt1+hieEhN83RAKwPRvpBUZptLAi8n0TU6mZx8VZmmCYuonKEi3RemiPxYdTUMCoOE/nrylR4YISGtpXP/LXcHolL82VDqBCmrKkkyEkvDTsokaONpQ6OFkEyINOGbdwvcRXKVQZM4/bTFztJlf3MqFqcUE6mzuSCFT1Te8X+PtAPXCcqbo1Uf8v872DGHssfpmiUoxR49n/RgvGEEXpde03T+ErqHgzeqULGdXeiU5+peh1PoMqvp+1V8rlxkn8z+vEovQDmqKAf0XWu6lUtZewf84V97ZOs1tNRl2E6xBNmrkDMGch+BwGOED3a8TjdJgBQTNg== 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; bh=c1krpIyho/Fi3loiFE3/oT9/ZC2rtvsxoxydyBJqMVQ=; b=e/85DQCiWvJHaqEjIbx1XWzBL+DUrfmpLJLFC6KuUV9Jp9ChUhavo65jxS9p+/yZKVmc0CYQXXDGdVEioZv6diFWeg69Ir/CUnKIavwWxkN8k6tGrlTrg6uIzMhq5SYAydahES6tYpDSXOiwPvvrYuuPjeyaiTDZLweFgw094t/9uxVf41Uv1LflSCqIlUGoY15qCimHo5g1CCYWgb7UYgfR4/HB/d85T1BNrMBsDcAedvWqfPOWPTfVbXA442M9rhcy4R58cr+G1HsK9eOzm9srByLJUcKogQC1e4vE8zfM/z1XwulhjePJjIXLZz2peqIxkG5nnhc8ANoawpoLbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=gmail.com smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from MWHPR10CA0017.namprd10.prod.outlook.com (2603:10b6:301::27) by BN8PR12MB3441.namprd12.prod.outlook.com (2603:10b6:408:49::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.21; Thu, 9 Sep 2021 20:41:10 +0000 X-Received: from CO1NAM11FT043.eop-nam11.prod.protection.outlook.com (2603:10b6:301:0:cafe::50) by MWHPR10CA0017.outlook.office365.com (2603:10b6:301::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend Transport; Thu, 9 Sep 2021 20:41:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+80449+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; X-Received: from mail.nvidia.com (216.228.112.34) by CO1NAM11FT043.mail.protection.outlook.com (10.13.174.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Thu, 9 Sep 2021 20:41:09 +0000 X-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 9 Sep 2021 20:41:09 +0000 X-Received: from build-jbrasen-20210819T103534360.nvidia.com (172.20.187.6) by mail.nvidia.com (172.20.187.13) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Thu, 9 Sep 2021 20:41:09 +0000 From: "Jeff Brasen via groups.io" To: CC: , Jeff Brasen Subject: [edk2-devel] [PATCH 1/2] Ext4Pkg: Improve Binding support behavior Date: Thu, 9 Sep 2021 20:41:00 +0000 Message-ID: <9c6ac428e55f3584295bd490502532ba456b4d3f.1631219610.git.jbrasen@nvidia.com> MIME-Version: 1.0 In-Reply-To: References: X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9eb23aa1-7560-4ddf-76a9-08d973d227cc X-MS-TrafficTypeDiagnostic: BN8PR12MB3441: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:486; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: c6E91knjOHv2U+tfHiCiUjwLyAf1nbC3fR57A4oTGR57VYg5r0PR8fJ3DRH8aAvtkKf1NYdZLC/wxloABrrfw8Bl2QC605QrtBuhO4N297nXpPclxRvMzkvyVdFPLc9PoN30PTv6s8GSk7rNTZOoRpDBN75fOsiy7XGbnJ03HhctMX628s2H7FevG9Aafz2zyq+LNLvGGk2HBkgLo3Yt9O1pN7R7RDqqAAd1ji5RRV3atI9Cfj6KrTEhi4i0wY9a3a89lTX6duxNGBtUCJx6IU0ofm/kwrU18mXAt4dHgGMx/XKP5gHK3rl3ZyaqN8DjUbbWpRcyrSUKKfqBE5gtafLyLRp9tvtOt9ogaJfc3M6VDxk5LU/mEdQLUrB6vrzbhScSbGEyvfV1an8v0v8OSbFXiqiGZbIMn3wE3b3i2Vi09ifuw2aAnvrCHpXLXm8AUMOhcObz/o+zc35KEX2fb36ZcazOXimVlD7mus5f56LfLdMaox+ct2IBApvEZsOEr8qFj2P0buQ78gs1t4uFnUNFd0SDTgrT1WzlNskrQpyYBm7C73RdWbtZeB8TwWSP4O139+t4w6/m5Jrt3neU1bZ0U6uR7MCeSMeU00TkmqXO5i23ZF8ObbQtTQXWnrrLfRV8IZilcLH2xiViso//Fmg0cjGCaZQtlLoMws6O6sZUWp0blqqXhrC68RjL7kPiCV+voLdjz1NkHIr6lScZixQZqdoOCBG6UUaBgIHx1bo= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2021 20:41:09.6584 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9eb23aa1-7560-4ddf-76a9-08d973d227cc X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.112.34];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT043.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3441 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: V53YiyGCfzUKU0Jn9Q3AbMSXx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1631220082; bh=yqCzY/1IXm20mZru1t+gB41P6chLZMrP+CezCJ1IGho=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=dLYM+WDBHT/ztrs1kXMVckAzX4OmLFIZy83cgmTxaBJ+CrsqjETJRSqpXkgTz8xzAAp HqaPFagNVMqytQRb21eShWMpkyeslhg43yZadJlhyHlGcRTQCaw3IPIyLE9MIXDDoiPRb 42XgY/jebVwkZVYg7/GFnvoVCl3sNt5GgqI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1631220084899100007 Content-Type: text/plain; charset="utf-8" A couple improvements to improve performance. Add check to return ACCESS_DENIED if already connected Add check to verify superblock magic during supported to deduce start calls Signed-off-by: Jeff Brasen --- Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 14 +++++++ Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c | 57 +++++++++++++++++++++------ Features/Ext4Pkg/Ext4Dxe/Superblock.c | 34 ++++++++++++++++ 3 files changed, 92 insertions(+), 13 deletions(-) diff --git a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h b/Features/Ext4Pkg/Ext4Dxe/= Ext4Dxe.h index 64eab455db..9a3938e671 100644 --- a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h +++ b/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h @@ -1117,4 +1117,18 @@ Ext4GetVolumeName ( OUT UINTN *VolNameLen ); =20 +/** + Checks only superblock magic value. + + @param[in] DiskIo Pointer to the DiskIo. + @param[in] BlockIo Pointer to the BlockIo. + + @return TRUE if a valid ext4 superblock, else FALSE. +**/ +BOOLEAN +Ext4SuperblockCheckMagic ( + IN EFI_DISK_IO_PROTOCOL *DiskIo, + IN EFI_BLOCK_IO_PROTOCOL *BlockIo + ); + #endif diff --git a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c b/Features/Ext4Pkg/Ext4Dxe/= Ext4Dxe.c index ea2e048d77..cb1e6d532a 100644 --- a/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c +++ b/Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c @@ -631,7 +631,6 @@ Ext4Unload ( @retval EFI_ACCESS_DENIED The device specified by ControllerHandl= e and RemainingDevicePath is already being ma= naged by a different driver or an application that requires = exclusive access. - Currently not implemented. @retval EFI_UNSUPPORTED The device specified by ControllerHandl= e and RemainingDevicePath is not supported by= the driver specified by This. **/ @@ -643,32 +642,64 @@ Ext4IsBindingSupported ( IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL ) { - // Note to self: EFI_OPEN_PROTOCOL_TEST_PROTOCOL lets us not close the - // protocol and ignore the output argument entirely - - EFI_STATUS Status; + EFI_STATUS Status; + EFI_DISK_IO_PROTOCOL *DiskIo =3D NULL; + EFI_BLOCK_IO_PROTOCOL *BlockIo =3D NULL; =20 + // + // Open the IO Abstraction(s) needed to perform the supported test + // Status =3D gBS->OpenProtocol ( ControllerHandle, &gEfiDiskIoProtocolGuid, - NULL, - BindingProtocol->ImageHandle, + (VOID **) &DiskIo, + BindingProtocol->DriverBindingHandle, ControllerHandle, - EFI_OPEN_PROTOCOL_TEST_PROTOCOL + EFI_OPEN_PROTOCOL_BY_DRIVER ); =20 if (EFI_ERROR (Status)) { - return Status; + goto Exit; } - + // + // Open the IO Abstraction(s) needed to perform the supported test + // Status =3D gBS->OpenProtocol ( ControllerHandle, &gEfiBlockIoProtocolGuid, - NULL, - BindingProtocol->ImageHandle, + (VOID **) &BlockIo, + BindingProtocol->DriverBindingHandle, ControllerHandle, - EFI_OPEN_PROTOCOL_TEST_PROTOCOL + EFI_OPEN_PROTOCOL_GET_PROTOCOL ); + if (EFI_ERROR (Status)) { + goto Exit; + } + + if (!Ext4SuperblockCheckMagic (DiskIo, BlockIo)) { + Status =3D EFI_UNSUPPORTED; + } + +Exit: + // + // Close the I/O Abstraction(s) used to perform the supported test + // + if (DiskIo !=3D NULL) { + gBS->CloseProtocol ( + ControllerHandle, + &gEfiDiskIoProtocolGuid, + BindingProtocol->DriverBindingHandle, + ControllerHandle + ); + } + if (BlockIo !=3D NULL) { + gBS->CloseProtocol ( + ControllerHandle, + &gEfiBlockIoProtocolGuid, + BindingProtocol->DriverBindingHandle, + ControllerHandle + ); + } return Status; } =20 diff --git a/Features/Ext4Pkg/Ext4Dxe/Superblock.c b/Features/Ext4Pkg/Ext4D= xe/Superblock.c index c321d8c3d8..1f8cdd3705 100644 --- a/Features/Ext4Pkg/Ext4Dxe/Superblock.c +++ b/Features/Ext4Pkg/Ext4Dxe/Superblock.c @@ -34,6 +34,40 @@ STATIC CONST UINT32 gSupportedIncompatFeat =3D // this is desired, it's fairly trivial to look for EFI_VOLUME_CORRUPTED // references and add some Ext4SignalCorruption function + function call. =20 +/** + Checks only superblock magic value. + + @param[in] DiskIo Pointer to the DiskIo. + @param[in] BlockIo Pointer to the BlockIo. + + @return TRUE if a valid ext4 superblock, else FALSE. +**/ +BOOLEAN +Ext4SuperblockCheckMagic ( + IN EFI_DISK_IO_PROTOCOL *DiskIo, + IN EFI_BLOCK_IO_PROTOCOL *BlockIo + ) +{ + UINT16 Magic; + EFI_STATUS Status; + + Status =3D DiskIo->ReadDisk (DiskIo, + BlockIo->Media->MediaId, + EXT4_SUPERBLOCK_OFFSET + OFFSET_OF (EXT4_SUPE= RBLOCK, s_magic), + sizeof (Magic), + &Magic + ); + if (EFI_ERROR (Status)) { + return FALSE; + } + + if (Magic !=3D EXT4_SIGNATURE) { + return FALSE; + } + + return TRUE; +} + /** Does brief validation of the ext4 superblock. =20 --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#80449): https://edk2.groups.io/g/devel/message/80449 Mute This Topic: https://groups.io/mt/85494672/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Apr 27 21:06:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+80450+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1631220082856908.3325961559992; Thu, 9 Sep 2021 13:41:22 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Uut8YY1788612x8LPOl4QKMW; Thu, 09 Sep 2021 13:41:22 -0700 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.50]) by mx.groups.io with SMTP id smtpd.web11.9.1631220071994141679 for ; Thu, 09 Sep 2021 13:41:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NtQhbonpJHMiFiInA2U1tUU2dgelncSwdv8p/0w0A90JZ+LTgum4uW3zm+YvOiGPv1AosyapInvthS/SAzm9NzLP35/5u8Z0sCDperm6UvCyg81jCuc8owxaxeqVw7mMEdQfL0PGa3ZuVZjcwDbBRf8eOPEtN5paEkIA8ZAeWOfOc8n/7WOBuiFQTTEwNOC4m0d5/MNfCpU3ydFDMm5tZ8nFMTZiie9MVf4IXd52gNm8jGyVnKRTo49aL9or21vhBkH5aEINR77csJTBymuxUSuxEp1B6CmM68iRqe05oX6YZrHnnp4n6cxY+wAWQZYzTlEoDvGMjVcWml3ECUquFw== 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; bh=Vgz1u6u7htS2t5EJpCf5hYFfMcSp+Shug3kPHpghzrY=; b=JFYt8SNsJKJKc2QRGElDQGAHsJ6pTrlYH3MaoRFoUhKdjiMTey1iK5c4K/tkZLe3w70FRzq0iBdXsLmCJKiwQF133GP8Bcs37IfMqvkJZsnaUGFoqTDQ9+JR7ah9RO07GnS6TcPxJDamQhobotFO+ADsFIc5wjv3Ix16BwSDXcVqLX6694oYAZtks4NcX3OAuzhq3ZJFwZwjx3UgEBZiiE4pXpsbLCsvMOJrPaX1tUmYv8MEyomDb5eTPIEcTC1YQ35h5e/1FRyqsaxmAGHYa7XJdbZ6PNXGbgrbtU8Jh2XBMzL1JlsGxnipdVmxOS/3lqWdQ4a21EA9SGXMtgDHFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.32) smtp.rcpttodomain=gmail.com smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from BN9PR03CA0228.namprd03.prod.outlook.com (2603:10b6:408:f8::23) by MN2PR12MB3391.namprd12.prod.outlook.com (2603:10b6:208:c3::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19; Thu, 9 Sep 2021 20:41:09 +0000 X-Received: from BN8NAM11FT037.eop-nam11.prod.protection.outlook.com (2603:10b6:408:f8:cafe::59) by BN9PR03CA0228.outlook.office365.com (2603:10b6:408:f8::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.16 via Frontend Transport; Thu, 9 Sep 2021 20:41:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.32) smtp.mailfrom=nvidia.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+80450+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.32 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.32; helo=mail.nvidia.com; X-Received: from mail.nvidia.com (216.228.112.32) by BN8NAM11FT037.mail.protection.outlook.com (10.13.177.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4500.14 via Frontend Transport; Thu, 9 Sep 2021 20:41:09 +0000 X-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 9 Sep 2021 13:41:09 -0700 X-Received: from build-jbrasen-20210819T103534360.nvidia.com (172.20.187.6) by mail.nvidia.com (172.20.187.13) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Thu, 9 Sep 2021 20:41:09 +0000 From: "Jeff Brasen via groups.io" To: CC: , Jeff Brasen Subject: [edk2-devel] [PATCH 2/2] Ext4Pkg: Support non-cleanlty unmounted filesystems Date: Thu, 9 Sep 2021 20:41:01 +0000 Message-ID: <36024a6bf15f115313e6fa134ee44dc6002de740.1631219610.git.jbrasen@nvidia.com> MIME-Version: 1.0 In-Reply-To: References: X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 484c7323-a037-41c3-b747-08d973d227b7 X-MS-TrafficTypeDiagnostic: MN2PR12MB3391: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2331; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: OcALm7OLneplco/kNJ1k6LHmgtpm0CIV80+hnqaCLtpLTcD+6ZCLh6X891Oak29a8LRTVRwy+2EP0hPLEc5DptMc3meFrvJOeAodt0DoB/TDQHYnuyiYIu77TF5Wk3dEPxF0RF33BA2sP4LCaR3+MyQye7TxqaF7unr0VifbXSDYd7NQYlwNsdKCl3FN4Nz0v69MxEwnwOchx+xrkrkSuhg/kMR9+51o/egdO4Ybwd6fabiXZQLlpxNWW7MG7DciXEmTBy1Kvqwcku1vFUZR2NOIemfhrJtEOGsZ+xqdrd6CpvRQmdiSvrLfkKWN21ELDlHdKjpMK3TC6jNzkz9ExnNOxRnIb0PypLp75Es31+SPYUyJnyrb+Do5FTo9Ijygp+FQqhUprDTxacawB/fAX+frSbnOaAtTUT5QGIBrY3UZnkzfrUHIWn5kRWPuQyS+78Ityl2mfmm8pRLuTRccIb23NpSWQ4f8RGIWdybsWDs19s4kscLt0V6Jx6Mrg40WA8tyHpENb4BlPWFvBVlGOkCK2rFDUo3ej6aXLJtaMV8wkaWPMkNRhWr3FG+uGoKuCU4B240vX1mfKg0GdWQzLZ/Drt2Hvw2mu+1htyp4T5uumkRT+NMo1W5Re/Xscu3YWBSnkBKhiWS6T3GpqeJzMRFrVX+6j9Xmzl/oEu5+XC96tACj+AsLEf1iXoRznoFzyevSeLr2Yt3efqRgmSAHo8z88ExaycKNoXB+dRALv5U= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2021 20:41:09.4774 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 484c7323-a037-41c3-b747-08d973d227b7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.112.32];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT037.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3391 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: hZ1bLyBcPsUh1XbnV7I5FZvRx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1631220082; bh=k7OCHZLx8dOKYEeq1L3Hz3oRsOLtopRAa5/zUpSnTEU=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=nPgrRr2NcXI+5UjiQHKK3fESYxyLtUtTNmUNy5hn1sA5Xz/FIEsVTBrkYd4jDgDSab4 N7yYL8XnjATg1ttDwWU9Uw3lNWZTYN3aiNATJbuOEovhBTAwcKCVu9F8W76jFJGSnoi0o 3cDUiMtKjIuysfAti8Ssd80nmvdmGLc5Tw4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1631220084857100005 Content-Type: text/plain; charset="utf-8" Support for uncleanly mounted filesystems, if there is a recovery journal mark filesystem as read-only. Signed-off-by: Jeff Brasen --- Features/Ext4Pkg/Ext4Dxe/Superblock.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Features/Ext4Pkg/Ext4Dxe/Superblock.c b/Features/Ext4Pkg/Ext4D= xe/Superblock.c index 1f8cdd3705..444dd3ca97 100644 --- a/Features/Ext4Pkg/Ext4Dxe/Superblock.c +++ b/Features/Ext4Pkg/Ext4Dxe/Superblock.c @@ -18,7 +18,7 @@ STATIC CONST UINT32 gSupportedIncompatFeat =3D EXT4_FEATURE_INCOMPAT_64BIT | EXT4_FEATURE_INCOMPAT_DIRDATA | EXT4_FEATURE_INCOMPAT_FLEX_BG | EXT4_FEATURE_INCOMPAT_FILETYPE | EXT4_FEATURE_INCOMPAT_EXTENTS | EXT4_FEATURE_INCOMPAT_LARGEDIR | - EXT4_FEATURE_INCOMPAT_MMP; + EXT4_FEATURE_INCOMPAT_MMP | EXT4_FEATURE_INCOMPAT_RECOVER; =20 // Future features that may be nice additions in the future: // 1) Btree support: Required for write support and would speed up lookups= in large directories. @@ -88,10 +88,8 @@ Ext4SuperblockValidate ( return FALSE; } =20 - // Is this correct behaviour? Imagine the power cuts out, should the sys= tem fail to boot because - // we're scared of touching something corrupt? if ((Sb->s_state & EXT4_FS_STATE_UNMOUNTED) =3D=3D 0) { - return FALSE; + DEBUG ((DEBUG_WARN, "[ext4] filesystem was not unmounted cleanly\n")); } =20 return TRUE; @@ -214,6 +212,11 @@ Ext4OpenSuperblock ( return EFI_UNSUPPORTED; } =20 + if ((Partition->FeaturesIncompat & EXT4_FEATURE_INCOMPAT_RECOVER) =3D=3D= EXT4_FEATURE_INCOMPAT_RECOVER) { + DEBUG ((DEBUG_WARN, "[ext4] Needs journal recovery mount read-only\n")= ); + Partition->ReadOnly =3D TRUE; + } + // At the time of writing, it's the only supported checksum. if (Partition->FeaturesCompat & EXT4_FEATURE_RO_COMPAT_METADATA_CSUM && Sb->s_checksum_type !=3D EXT4_CHECKSUM_CRC32C) { --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#80450): https://edk2.groups.io/g/devel/message/80450 Mute This Topic: https://groups.io/mt/85494673/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-