Commit Graph

2 Commits

Author SHA1 Message Date
Simon Glass
ff44e2dbb4 ext4l: Add ext4_jbd2.c compilation support
Add ext4_jbd2.c to the build and provide the necessary stubs. To avoid
build warnings while we build out the required interfacing, start a new
stub.c file containing empty functions.

Changes to ext4_jbd2.c:
- Remove trace/events/ext4.h include (not needed)
- Stub out ext4_check_bdev_write_error() since U-Boot lacks async
  I/O error tracking
- Add return after BUG() to silence non-void function warning

Changes to ext4_jbd2.h:
- Include ext4_uboot.h instead of linux/fs.h

Changes to ext4_uboot.h:
- Add sb_writers struct and SB_FREEZE constants
- Add _RET_IP_ macro
- Add mapping_large_folio_support() stub
- Add WARN_ON_ONCE/WARN_ON as proper stubs
- Add BUG(), might_sleep(), sb_rdonly() stubs
- Add trace function stubs
- Add buffer operation stubs (wait_on_buffer, mark_buffer_dirty, etc.)
- Add inode_needs_sync stub
- Include linux/sched.h for current task

Changes to include/linux/buffer_head.h:
- Add inline bh_*_bit functions for buffer state management
- Use bh_ prefixed functions in BUFFER_FNS/TAS_BUFFER_FNS macros

Changes to include/linux/fs.h:
- Add bd_disk to block_device struct

Changes to include/linux/workqueue.h:
- Fix flush_work macro to avoid unused value warning

Add stub functions to interface.c for jbd2 journal functions:
- jbd2__journal_start, jbd2_journal_stop
- jbd2_journal_free_reserved, jbd2_journal_start_reserved
- jbd2_journal_extend, jbd2_journal_get_write_access
- jbd2_journal_set_triggers, jbd2_journal_forget
- jbd2_journal_revoke, jbd2_journal_get_create_access
- jbd2_journal_dirty_metadata
- __ext4_error, __ext4_std_error, ext4_decode_error

Keep full Linux jbd2.h with compatibility header includes.

Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
2025-12-18 12:34:17 -07:00
Simon Glass
8af80aa97e ext4l: bring in files a-d
Copy acl.c, acl.h, balloc.c, bitmap.c, block_validity.c, crypto.c, and
dir.c from Linux v6.18 fs/ext4 directory.

- acl: POSIX ACL support
- balloc: block allocation helpers
- bitmap: bitmap manipulation utilities
- block_validity: block validity checking
- crypto: filesystem encryption support
- dir: directory entry handling

Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 13:19:59 +00:00