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