[edk2-devel] [Patch v3 0/3] Ext4Pkg: Add Ext4Pkg

Pedro Falcato posted 3 patches 2 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/20210815205138.99215-1-pedro.falcato@gmail.com
There is a newer version of this series
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  228 ++++++
Features/Ext4Pkg/Ext4Dxe/Collation.c  |  173 +++++
Features/Ext4Pkg/Ext4Dxe/Crc16.c      |   75 ++
Features/Ext4Pkg/Ext4Dxe/Crc32c.c     |   84 ++
Features/Ext4Pkg/Ext4Dxe/Directory.c  |  498 ++++++++++++
Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   |  113 +++
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   |  453 +++++++++++
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c    |  808 +++++++++++++++++++
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 1038 +++++++++++++++++++++++++
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf  |  149 ++++
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni  |   15 +
Features/Ext4Pkg/Ext4Dxe/Extents.c    |  595 ++++++++++++++
Features/Ext4Pkg/Ext4Dxe/File.c       |  787 +++++++++++++++++++
Features/Ext4Pkg/Ext4Dxe/Inode.c      |  465 +++++++++++
Features/Ext4Pkg/Ext4Dxe/Partition.c  |  125 +++
Features/Ext4Pkg/Ext4Dxe/Superblock.c |  297 +++++++
Features/Ext4Pkg/Ext4Pkg.dec          |   17 +
Features/Ext4Pkg/Ext4Pkg.dsc          |   68 ++
Features/Ext4Pkg/Ext4Pkg.uni          |   14 +
19 files changed, 6002 insertions(+)
create mode 100644 Features/Ext4Pkg/Ext4Dxe/BlockGroup.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Collation.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc16.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc32c.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Directory.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/DiskUtil.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Extents.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/File.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Inode.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Partition.c
create mode 100644 Features/Ext4Pkg/Ext4Dxe/Superblock.c
create mode 100644 Features/Ext4Pkg/Ext4Pkg.dec
create mode 100644 Features/Ext4Pkg/Ext4Pkg.dsc
create mode 100644 Features/Ext4Pkg/Ext4Pkg.uni
[edk2-devel] [Patch v3 0/3] Ext4Pkg: Add Ext4Pkg
Posted by Pedro Falcato 2 years, 8 months ago
This patch-set adds Ext4Pkg, a package designed to hold various drivers and
utilities related to the EXT4 filesystem.

Right now, it holds a single read-only UEFI EXT4 driver (Ext4Dxe), which consumes the
DISK_IO, BLOCK_IO and DISK_IO2 protocols and produce EFI_FILE_PROTOCOL and
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL; this driver allows the mounting of EXT4 partitions and
the reading of their contents.

A relevant RFC discussion, which includes a more in-depth walkthrough of EXT4 internals and
driver limitations is available at https://edk2.groups.io/g/devel/topic/84368561.

This patch set is version 3 and attempts to address issues raised by the
community in v2's code review.

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>

Pedro Falcato (3):
  Ext4Pkg: Add Ext4Pkg.dec and Ext4Pkg.uni.
  Ext4Pkg: Add Ext4Dxe driver.
  Ext4Pkg: Add .DSC file.

 Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  228 ++++++
 Features/Ext4Pkg/Ext4Dxe/Collation.c  |  173 +++++
 Features/Ext4Pkg/Ext4Dxe/Crc16.c      |   75 ++
 Features/Ext4Pkg/Ext4Dxe/Crc32c.c     |   84 ++
 Features/Ext4Pkg/Ext4Dxe/Directory.c  |  498 ++++++++++++
 Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   |  113 +++
 Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   |  453 +++++++++++
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c    |  808 +++++++++++++++++++
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 1038 +++++++++++++++++++++++++
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf  |  149 ++++
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni  |   15 +
 Features/Ext4Pkg/Ext4Dxe/Extents.c    |  595 ++++++++++++++
 Features/Ext4Pkg/Ext4Dxe/File.c       |  787 +++++++++++++++++++
 Features/Ext4Pkg/Ext4Dxe/Inode.c      |  465 +++++++++++
 Features/Ext4Pkg/Ext4Dxe/Partition.c  |  125 +++
 Features/Ext4Pkg/Ext4Dxe/Superblock.c |  297 +++++++
 Features/Ext4Pkg/Ext4Pkg.dec          |   17 +
 Features/Ext4Pkg/Ext4Pkg.dsc          |   68 ++
 Features/Ext4Pkg/Ext4Pkg.uni          |   14 +
 19 files changed, 6002 insertions(+)
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/BlockGroup.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Collation.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc16.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc32c.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Directory.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/DiskUtil.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Extents.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/File.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Inode.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Partition.c
 create mode 100644 Features/Ext4Pkg/Ext4Dxe/Superblock.c
 create mode 100644 Features/Ext4Pkg/Ext4Pkg.dec
 create mode 100644 Features/Ext4Pkg/Ext4Pkg.dsc
 create mode 100644 Features/Ext4Pkg/Ext4Pkg.uni

-- 
2.32.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79320): https://edk2.groups.io/g/devel/message/79320
Mute This Topic: https://groups.io/mt/84910143/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [Patch v3 0/3] Ext4Pkg: Add Ext4Pkg
Posted by Michael D Kinney 2 years, 8 months ago
Hi Pedro,

Thank you for addressing all the feedback.

1) The Ext4Dxe.dsc does not build due to a missing RegisterFilterLib.
   mapping.  Looks like the update to add the following line to
   Ext4Dxe.dsc after the [Defines] section is missing in this latest
   patch series:

!include MdePkg/MdeLibs.dsc.inc

When I make this update locally, I can build the following:
* IA32 VS2019 DEBUG
* IA32 VS2019 RELEASE
* IA32 VS2019 NOOPT
* X64  VS2019 DEBUG
* X64  VS2019 RELEASE
* X64  VS2019 NOOPT
* IA32 VS2017 DEBUG
* IA32 VS2017 RELEASE
* IA32 VS2017 NOOPT
* X64  VS2017 DEBUG
* X64  VS2017 RELEASE
* X64  VS2017 NOOPT
* IA32 VS2015x86 DEBUG
* IA32 VS2015x86 RELEASE
* IA32 VS2015x86 NOOPT
* X64  VS2015x86 DEBUG
* X64  VS2015x86 RELEASE
* X64  VS2015x86 NOOPT
* IA32 GCC5 DEBUG
* IA32 GCC5 RELEASE
* IA32 GCC5 NOOPT
* X64  GCC5 DEBUG
* X64  GCC5 RELEASE
* X64  GCC5 NOOPT

2) Ext4Disk.h - Brief description needs to be on its own line:

/** @file Raw filesystem data structures

Thanks,

Mike

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Pedro Falcato
> Sent: Sunday, August 15, 2021 1:52 PM
> To: devel@edk2.groups.io
> Cc: Pedro Falcato <pedro.falcato@gmail.com>; Leif Lindholm <leif@nuviainc.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>
> Subject: [edk2-devel] [Patch v3 0/3] Ext4Pkg: Add Ext4Pkg
> 
> This patch-set adds Ext4Pkg, a package designed to hold various drivers and
> utilities related to the EXT4 filesystem.
> 
> Right now, it holds a single read-only UEFI EXT4 driver (Ext4Dxe), which consumes the
> DISK_IO, BLOCK_IO and DISK_IO2 protocols and produce EFI_FILE_PROTOCOL and
> EFI_SIMPLE_FILE_SYSTEM_PROTOCOL; this driver allows the mounting of EXT4 partitions and
> the reading of their contents.
> 
> A relevant RFC discussion, which includes a more in-depth walkthrough of EXT4 internals and
> driver limitations is available at https://edk2.groups.io/g/devel/topic/84368561.
> 
> This patch set is version 3 and attempts to address issues raised by the
> community in v2's code review.
> 
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> 
> Pedro Falcato (3):
>   Ext4Pkg: Add Ext4Pkg.dec and Ext4Pkg.uni.
>   Ext4Pkg: Add Ext4Dxe driver.
>   Ext4Pkg: Add .DSC file.
> 
>  Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  228 ++++++
>  Features/Ext4Pkg/Ext4Dxe/Collation.c  |  173 +++++
>  Features/Ext4Pkg/Ext4Dxe/Crc16.c      |   75 ++
>  Features/Ext4Pkg/Ext4Dxe/Crc32c.c     |   84 ++
>  Features/Ext4Pkg/Ext4Dxe/Directory.c  |  498 ++++++++++++
>  Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   |  113 +++
>  Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   |  453 +++++++++++
>  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c    |  808 +++++++++++++++++++
>  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 1038 +++++++++++++++++++++++++
>  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf  |  149 ++++
>  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni  |   15 +
>  Features/Ext4Pkg/Ext4Dxe/Extents.c    |  595 ++++++++++++++
>  Features/Ext4Pkg/Ext4Dxe/File.c       |  787 +++++++++++++++++++
>  Features/Ext4Pkg/Ext4Dxe/Inode.c      |  465 +++++++++++
>  Features/Ext4Pkg/Ext4Dxe/Partition.c  |  125 +++
>  Features/Ext4Pkg/Ext4Dxe/Superblock.c |  297 +++++++
>  Features/Ext4Pkg/Ext4Pkg.dec          |   17 +
>  Features/Ext4Pkg/Ext4Pkg.dsc          |   68 ++
>  Features/Ext4Pkg/Ext4Pkg.uni          |   14 +
>  19 files changed, 6002 insertions(+)
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/BlockGroup.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Collation.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc16.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc32c.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Directory.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/DiskUtil.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Extents.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/File.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Inode.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Partition.c
>  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Superblock.c
>  create mode 100644 Features/Ext4Pkg/Ext4Pkg.dec
>  create mode 100644 Features/Ext4Pkg/Ext4Pkg.dsc
>  create mode 100644 Features/Ext4Pkg/Ext4Pkg.uni
> 
> --
> 2.32.0
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79372): https://edk2.groups.io/g/devel/message/79372
Mute This Topic: https://groups.io/mt/84910143/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [Patch v3 0/3] Ext4Pkg: Add Ext4Pkg
Posted by Pedro Falcato 2 years, 8 months ago
Hi Mike,

I've sent out v4, which should address those two small issues.

Best regards,
Pedro

On Mon, 16 Aug 2021 at 17:11, Kinney, Michael D
<michael.d.kinney@intel.com> wrote:
>
> Hi Pedro,
>
> Thank you for addressing all the feedback.
>
> 1) The Ext4Dxe.dsc does not build due to a missing RegisterFilterLib.
>    mapping.  Looks like the update to add the following line to
>    Ext4Dxe.dsc after the [Defines] section is missing in this latest
>    patch series:
>
> !include MdePkg/MdeLibs.dsc.inc
>
> When I make this update locally, I can build the following:
> * IA32 VS2019 DEBUG
> * IA32 VS2019 RELEASE
> * IA32 VS2019 NOOPT
> * X64  VS2019 DEBUG
> * X64  VS2019 RELEASE
> * X64  VS2019 NOOPT
> * IA32 VS2017 DEBUG
> * IA32 VS2017 RELEASE
> * IA32 VS2017 NOOPT
> * X64  VS2017 DEBUG
> * X64  VS2017 RELEASE
> * X64  VS2017 NOOPT
> * IA32 VS2015x86 DEBUG
> * IA32 VS2015x86 RELEASE
> * IA32 VS2015x86 NOOPT
> * X64  VS2015x86 DEBUG
> * X64  VS2015x86 RELEASE
> * X64  VS2015x86 NOOPT
> * IA32 GCC5 DEBUG
> * IA32 GCC5 RELEASE
> * IA32 GCC5 NOOPT
> * X64  GCC5 DEBUG
> * X64  GCC5 RELEASE
> * X64  GCC5 NOOPT
>
> 2) Ext4Disk.h - Brief description needs to be on its own line:
>
> /** @file Raw filesystem data structures
>
> Thanks,
>
> Mike
>
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Pedro Falcato
> > Sent: Sunday, August 15, 2021 1:52 PM
> > To: devel@edk2.groups.io
> > Cc: Pedro Falcato <pedro.falcato@gmail.com>; Leif Lindholm <leif@nuviainc.com>; Kinney, Michael D
> > <michael.d.kinney@intel.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>
> > Subject: [edk2-devel] [Patch v3 0/3] Ext4Pkg: Add Ext4Pkg
> >
> > This patch-set adds Ext4Pkg, a package designed to hold various drivers and
> > utilities related to the EXT4 filesystem.
> >
> > Right now, it holds a single read-only UEFI EXT4 driver (Ext4Dxe), which consumes the
> > DISK_IO, BLOCK_IO and DISK_IO2 protocols and produce EFI_FILE_PROTOCOL and
> > EFI_SIMPLE_FILE_SYSTEM_PROTOCOL; this driver allows the mounting of EXT4 partitions and
> > the reading of their contents.
> >
> > A relevant RFC discussion, which includes a more in-depth walkthrough of EXT4 internals and
> > driver limitations is available at https://edk2.groups.io/g/devel/topic/84368561.
> >
> > This patch set is version 3 and attempts to address issues raised by the
> > community in v2's code review.
> >
> > Cc: Leif Lindholm <leif@nuviainc.com>
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> >
> > Pedro Falcato (3):
> >   Ext4Pkg: Add Ext4Pkg.dec and Ext4Pkg.uni.
> >   Ext4Pkg: Add Ext4Dxe driver.
> >   Ext4Pkg: Add .DSC file.
> >
> >  Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  228 ++++++
> >  Features/Ext4Pkg/Ext4Dxe/Collation.c  |  173 +++++
> >  Features/Ext4Pkg/Ext4Dxe/Crc16.c      |   75 ++
> >  Features/Ext4Pkg/Ext4Dxe/Crc32c.c     |   84 ++
> >  Features/Ext4Pkg/Ext4Dxe/Directory.c  |  498 ++++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   |  113 +++
> >  Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   |  453 +++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c    |  808 +++++++++++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 1038 +++++++++++++++++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf  |  149 ++++
> >  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni  |   15 +
> >  Features/Ext4Pkg/Ext4Dxe/Extents.c    |  595 ++++++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/File.c       |  787 +++++++++++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/Inode.c      |  465 +++++++++++
> >  Features/Ext4Pkg/Ext4Dxe/Partition.c  |  125 +++
> >  Features/Ext4Pkg/Ext4Dxe/Superblock.c |  297 +++++++
> >  Features/Ext4Pkg/Ext4Pkg.dec          |   17 +
> >  Features/Ext4Pkg/Ext4Pkg.dsc          |   68 ++
> >  Features/Ext4Pkg/Ext4Pkg.uni          |   14 +
> >  19 files changed, 6002 insertions(+)
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/BlockGroup.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Collation.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc16.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Crc32c.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Directory.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/DiskUtil.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.uni
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Extents.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/File.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Inode.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Partition.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Dxe/Superblock.c
> >  create mode 100644 Features/Ext4Pkg/Ext4Pkg.dec
> >  create mode 100644 Features/Ext4Pkg/Ext4Pkg.dsc
> >  create mode 100644 Features/Ext4Pkg/Ext4Pkg.uni
> >
> > --
> > 2.32.0
> >
> >
> >
> > 
> >
>


-- 
Pedro Falcato


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79382): https://edk2.groups.io/g/devel/message/79382
Mute This Topic: https://groups.io/mt/84910143/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-