Hi, Paulo Thanks for the great job!
My personal thought likes the idea to add a new package to place your UDF driver, but let's see if there is different opinion. And I am not sure if we can split it to two layers, one is in PartitionDxe driver to parse UDF volume descriptor, another layer is like FatDxe to parse UDF file system format. Formalizing UDF device path may be another concern. Thanks Feng -----Original Message----- From: Paulo Alcantara [mailto:pca...@gmail.com] Sent: Thursday, August 21, 2014 09:25 To: edk2-devel@lists.sourceforge.net Subject: [edk2] [PATCH RFC 0/4] UDF filesystem driver Hi, This patchset contains a read-only filesystem driver for UDF volumes found on discs. I've been testing the driver with OVMF and Microsoft Windows 7/8.1 OS images. It can open, read and list files and directories on UDF filesystems successfully. If the working directory contains a lot of entries, the listing goes OK and fast -- however, if I cd /path/to/it and (TAB), it takes longer to show the first directory entry. This performance issue might be worked around by caching directory entries from open directories in UdfOpen() function -- that doesn't affect functionality at all. Its development was all under MdeModulePkg/Universal/Disk - which doesn't seem right to me. So, I'm wondering if it would be possible to add a new package called "FileSystemPkg" and put all filesystem drivers into it. Since I wrote this driver only in my free time (which is usually short), the write support is a future project of mine :-) There is a public branch which contains all these patches and it's rebased against master from mainline and can be clone at: git://git.zytor.com/users/pcacjr/edk2.git (branch: for-upstream) Thanks, -pcacjr Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Paulo Alcantara <pca...@zytor.com> -- Paulo Alcantara (4): MdeModulePkg/UdfDxe: Initial implementation of UDF filesystem driver MdeModulePkg/UdfDxe: Implement UdfOpen(), UdfClose() and UdfDelete() MdeModulePkg/UdfDxe: Implement UdfGetInfo() MdeModulePkg/UdfDxe: Implement UdfRead(), UdfSetPosition() and UdfGetPosition() MdeModulePkg/MdeModulePkg.dsc | 1 + MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c | 185 ++ MdeModulePkg/Universal/Disk/UdfDxe/FileName.c | 190 ++ .../Universal/Disk/UdfDxe/FileSystemOperations.c | 1864 ++++++++++++++++++++ MdeModulePkg/Universal/Disk/UdfDxe/Udf.c | 349 ++++ MdeModulePkg/Universal/Disk/UdfDxe/Udf.h | 904 ++++++++++ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf | 64 + 7 files changed, 3557 insertions(+) create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/FileName.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/Udf.c create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/Udf.h create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf -- 1.9.3 ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel