git: Add non-GPL ext2 filesystem (port from FreeBSD)

Tomohiro Kusumi tkusumi at crater.dragonflybsd.org
Fri Jul 17 09:48:11 PDT 2020


commit cfe603905713d4e92a7956678970d5dff8e913f2
Author: Tomohiro Kusumi <tkusumi at netbsd.org>
Date:   Sat Jul 18 01:12:07 2020 +0900

    Add non-GPL ext2 filesystem (port from FreeBSD)
    
    The new ext2 will replace the existing sys/gnu/vfs/ext2fs in future,
    which is known to have lots of issues. This is already better than
    sys/gnu/vfs/ext2fs in many ways, but will keep it as an option for now
    as there seems to be htree dirents and/or vop_readdir related bugs.
    
    The new implementation supports ext3 htree dirents. Read support for
    ext4 extents which exists in FreeBSD ext2 isn't implemented yet (TODO).
    ACL/xattr are unsupported, and likely never will be.
    
    With exception of DragonFly VFS specific part that can't reuse FreeBSD
    code (vfsops, many vnops, bread/getblk/bio i/f difference, etc),
    the new ext2 is designed to be close to upstream as much as possible.
    The code is there for a reason to make clear the *real* diff without
    introducing nonfunctional diff noises.

Summary of changes:
 sys/vfs/Makefile                |    2 +-
 sys/vfs/ext2fs/Makefile         |    4 +
 sys/vfs/ext2fs/ext2_alloc.c     | 1616 +++++++++++++++++++++++++++++
 sys/vfs/ext2fs/ext2_balloc.c    |  298 ++++++
 sys/vfs/ext2fs/ext2_bmap.c      |  368 +++++++
 sys/vfs/ext2fs/ext2_csum.c      |  735 +++++++++++++
 sys/vfs/ext2fs/ext2_dinode.h    |  143 +++
 sys/vfs/ext2fs/ext2_dir.h       |  117 +++
 sys/vfs/ext2fs/ext2_extents.c   |  212 ++++
 sys/vfs/ext2fs/ext2_extents.h   |  135 +++
 sys/vfs/ext2fs/ext2_extern.h    |  162 +++
 sys/vfs/ext2fs/ext2_hash.c      |  329 ++++++
 sys/vfs/ext2fs/ext2_htree.c     |  961 +++++++++++++++++
 sys/vfs/ext2fs/ext2_ihash.c     |  170 +++
 sys/vfs/ext2fs/ext2_inode.c     |  572 +++++++++++
 sys/vfs/ext2fs/ext2_inode_cnv.c |  263 +++++
 sys/vfs/ext2fs/ext2_lookup.c    | 1267 +++++++++++++++++++++++
 sys/vfs/ext2fs/ext2_mount.h     |   90 ++
 sys/vfs/ext2fs/ext2_subr.c      |  282 +++++
 sys/vfs/ext2fs/ext2_vfsops.c    | 1631 +++++++++++++++++++++++++++++
 sys/vfs/ext2fs/ext2_vnops.c     | 2172 +++++++++++++++++++++++++++++++++++++++
 sys/vfs/ext2fs/ext2fs.h         |  458 +++++++++
 sys/vfs/ext2fs/fs.h             |  185 ++++
 sys/vfs/ext2fs/htree.h          |  110 ++
 sys/vfs/ext2fs/inode.h          |  198 ++++
 25 files changed, 12479 insertions(+), 1 deletion(-)
 create mode 100644 sys/vfs/ext2fs/Makefile
 create mode 100644 sys/vfs/ext2fs/ext2_alloc.c
 create mode 100644 sys/vfs/ext2fs/ext2_balloc.c
 create mode 100644 sys/vfs/ext2fs/ext2_bmap.c
 create mode 100644 sys/vfs/ext2fs/ext2_csum.c
 create mode 100644 sys/vfs/ext2fs/ext2_dinode.h
 create mode 100644 sys/vfs/ext2fs/ext2_dir.h
 create mode 100644 sys/vfs/ext2fs/ext2_extents.c
 create mode 100644 sys/vfs/ext2fs/ext2_extents.h
 create mode 100644 sys/vfs/ext2fs/ext2_extern.h
 create mode 100644 sys/vfs/ext2fs/ext2_hash.c
 create mode 100644 sys/vfs/ext2fs/ext2_htree.c
 create mode 100644 sys/vfs/ext2fs/ext2_ihash.c
 create mode 100644 sys/vfs/ext2fs/ext2_inode.c
 create mode 100644 sys/vfs/ext2fs/ext2_inode_cnv.c
 create mode 100644 sys/vfs/ext2fs/ext2_lookup.c
 create mode 100644 sys/vfs/ext2fs/ext2_mount.h
 create mode 100644 sys/vfs/ext2fs/ext2_subr.c
 create mode 100644 sys/vfs/ext2fs/ext2_vfsops.c
 create mode 100644 sys/vfs/ext2fs/ext2_vnops.c
 create mode 100644 sys/vfs/ext2fs/ext2fs.h
 create mode 100644 sys/vfs/ext2fs/fs.h
 create mode 100644 sys/vfs/ext2fs/htree.h
 create mode 100644 sys/vfs/ext2fs/inode.h

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cfe603905713d4e92a7956678970d5dff8e913f2


-- 
DragonFly BSD source repository


More information about the Commits mailing list