[Concept,00/10] ext4l: Add more ext4 files to the build (part D)

Message ID 20251220232355.845414-1-sjg@u-boot.org
Headers
Series ext4l: Add more ext4 files to the build (part D) |

Message

Simon Glass Dec. 20, 2025, 11:23 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

This series continues the ext4l port by adding super.c to the build. The
super.c file contains the superblock operations and filesystem
registration code from the kernel's ext4 driver.

To support this effort compilation, this series adds numerous stubs and
compatibility shims for Linux kernel interfaces not available in
U-Boot, including block device operations, filesystem context
handling, NFS export helpers, and various utility functions.

In particular, fs/ext4l/ext4_uboot.h contains a lot of U-Boot specific
declarations and stubs, with fs/ext4l/stub.c containing various others.

The goal is to eventually have a fully functional ext4 implementation
ported from Linux that can be used for both reading and writing ext4
filesystems in U-Boot.


Simon Glass (10):
  ext4l: Fix unused variable warnings in extents_status.c
  ext4l: Add stubs for xattr functions used by ialloc.c
  ext4l: Add orphan.c and required support
  ext4l: Add xattr_trusted.c
  ext4l: Add xattr_user.c and xattr_hurd.c
  ext4l: Add linux/utsname.h stub header
  ext4l: Add kiocb, iov_iter structures and IOCB_* constants
  ext4l: Add inode.c to build
  ext4l: Add dir.c to build
  ext4l: Add super.c to build

 fs/ext4l/Makefile              |    7 +-
 fs/ext4l/dir.c                 |    6 +-
 fs/ext4l/ext4_uboot.h          | 1276 +++++++++++++++++++++++++++++++-
 fs/ext4l/extents_status.c      |   13 +-
 fs/ext4l/file.c                |   20 +-
 fs/ext4l/ialloc.c              |    1 +
 fs/ext4l/inode.c               |   39 +-
 fs/ext4l/orphan.c              |    5 +-
 fs/ext4l/stub.c                |  802 ++++++++++++++++----
 fs/ext4l/super.c               |   32 +-
 fs/ext4l/xattr_hurd.c          |    1 +
 fs/ext4l/xattr_trusted.c       |    3 +-
 fs/ext4l/xattr_user.c          |    2 +-
 include/kunit/static_stub.h    |   13 +
 include/linux/atomic.h         |    0
 include/linux/buffer_head.h    |   12 +-
 include/linux/freezer.h        |    8 +-
 include/linux/fs.h             |   22 +-
 include/linux/init.h           |    4 +-
 include/linux/iomap.h          |    8 +
 include/linux/jbd2.h           |    3 +
 include/linux/kthread.h        |    4 +-
 include/linux/mpage.h          |   14 +
 include/linux/mutex.h          |    2 +-
 include/linux/nospec.h         |   14 +
 include/linux/percpu_counter.h |    2 +
 include/linux/rmap.h           |    7 +
 include/linux/sched.h          |    7 +
 include/linux/seq_file.h       |    7 +-
 include/linux/slab.h           |   12 +-
 include/linux/timer.h          |   18 +-
 include/linux/utsname.h        |   21 +
 include/linux/workqueue.h      |    4 +-
 include/linux/xattr.h          |    3 +
 34 files changed, 2100 insertions(+), 292 deletions(-)
 create mode 100644 include/kunit/static_stub.h
 create mode 100644 include/linux/atomic.h
 create mode 100644 include/linux/mpage.h
 create mode 100644 include/linux/nospec.h
 create mode 100644 include/linux/rmap.h
 create mode 100644 include/linux/utsname.h