| Message ID | 20251227204318.886983-1-sjg@u-boot.org |
|---|---|
| Headers |
Return-Path: <concept-bounces+u-boot-concept=u-boot.org@u-boot.org> X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868229; bh=ae3k/Ewl2eVWouy7euyY4NYEMKkjpafPmrq8A0Ld//U=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=DJFAdw+wdEGnhAEmbx5V4gBglV8kxbB9PpwTNU3pTzQVL9VbCMjEAJ/DrI8e3S1/m 7WB5JAKF3SL9D99Cf3RNsPGvET1iFN/mB/rmkH3UuyhrGmrg+P+ubdaEnj175TB+gB dWLE9DTPVhMqKX700Izkq1CYIg8OCEWywAlud4/BPCzV9yiV7BpELC9pmoS1qSY6wS zTIZKkNK32cz1N88tzZ2anMtP3mWfUz18y/fKnoqGTCijtTeMQTQj/Grd4z++Vd0qT i618rwICGlrbUqINhakxXMK9WiS5W9INtScwD7g1VJ8LOCEIXDtgKYE4athMGgHCWB 6z0Geb2KkmEoA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6754164E6A for <u-boot-concept@u-boot.org>; Sat, 27 Dec 2025 13:43:49 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id xypl4OXbnhx4 for <u-boot-concept@u-boot.org>; Sat, 27 Dec 2025 13:43:49 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868229; bh=ae3k/Ewl2eVWouy7euyY4NYEMKkjpafPmrq8A0Ld//U=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=DJFAdw+wdEGnhAEmbx5V4gBglV8kxbB9PpwTNU3pTzQVL9VbCMjEAJ/DrI8e3S1/m 7WB5JAKF3SL9D99Cf3RNsPGvET1iFN/mB/rmkH3UuyhrGmrg+P+ubdaEnj175TB+gB dWLE9DTPVhMqKX700Izkq1CYIg8OCEWywAlud4/BPCzV9yiV7BpELC9pmoS1qSY6wS zTIZKkNK32cz1N88tzZ2anMtP3mWfUz18y/fKnoqGTCijtTeMQTQj/Grd4z++Vd0qT i618rwICGlrbUqINhakxXMK9WiS5W9INtScwD7g1VJ8LOCEIXDtgKYE4athMGgHCWB 6z0Geb2KkmEoA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 53BAD64E1F for <u-boot-concept@u-boot.org>; Sat, 27 Dec 2025 13:43:49 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868226; bh=CQaTFQs8hPjhP8cnfmCrdo0u+JqK5xXaSN/5bz+mFdM=; h=From:To:Cc:Subject:Date:From; b=rGxuCg+mXTXy624Rj39/sg1w22NHQhyzeCHhixs3Ma+u/EbX89yV6/WPtv5LW+lBO nsmhLlWcRo7d3uxVZBXnvUBXd486Q9VlWXkSyabMQegHJ0yEhQrFmwGfaISbzp/Xpf vzSXm8BQpG7qBBUSMt/HLxh8FqYfIV5fIaoDuQys42dMPa1VTqu9lwcA5AE47kC5Do 0rIGVnfkFwNNSY9V7RAvYwRFa4EMxG/B6DSa6xjUG96fxqRzrPqmWRe8RKGvSLNm6P 1QtXJSgoag8x8rFNZI4/2JHIciBUJTkaZCdS68OojCew8JsYeT70MT5LHX35fM64tx DUU4BBC0VFKrA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id BB6DE64E1F; Sat, 27 Dec 2025 13:43:46 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id ZMIE_I-8AIp7; Sat, 27 Dec 2025 13:43:46 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766868222; bh=6oVpvTudOsegichScLy3kVGKfTMmRXkQJbFT/U4qyGI=; h=From:To:Cc:Subject:Date:From; b=Hp9UoBZA+0GIbC//Y8SiM1TFizKlN4xYIAhVHe9V802JJrc7i8n8xB4cbQbHBgyKj Va0LlEth3R2k63cyYpfEGwjOOWRbKaxfuTjqN0CBjBFia+amfG3pjiJ/AWx2vlQf24 0phCrwUYqDbHEmYitoyK5vqjnDsvL/YCEsyVVVZy2dQrC1iVPCOhPzWtZH+X58O28F dxTguhxYDg6vz0YePCqXditPqstQUGQLn54IALnJxrhOYfOsrL2FiRhSQjeFZSdIsn x5jTt+ATgHAUBYAq9bx9G/27rzvFEZhFF/6tQfYaELsfRUyILIbDcTd0zi29lufPsX Pw7lr+Wrrn5XQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 247CB64C0C; Sat, 27 Dec 2025 13:43:42 -0700 (MST) From: Simon Glass <sjg@u-boot.org> To: U-Boot Concept <concept@u-boot.org> Date: Sat, 27 Dec 2025 13:42:55 -0700 Message-ID: <20251227204318.886983-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: GSGODYXSHU5MPLADMFDIQSLZFUHHQTRA X-Message-ID-Hash: GSGODYXSHU5MPLADMFDIQSLZFUHHQTRA X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Heinrich Schuchardt <xypron.glpk@gmx.de>, Simon Glass <simon.glass@canonical.com> X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/16] fs: ext4l: Complete read-only filesystem support (Part I) List-Id: Discussion and patches related to U-Boot Concept <concept.u-boot.org> Archived-At: <https://lists.u-boot.org/archives/list/concept@u-boot.org/message/GSGODYXSHU5MPLADMFDIQSLZFUHHQTRA/> List-Archive: <https://lists.u-boot.org/archives/list/concept@u-boot.org/> List-Help: <mailto:concept-request@u-boot.org?subject=help> List-Owner: <mailto:concept-owner@u-boot.org> List-Post: <mailto:concept@u-boot.org> List-Subscribe: <mailto:concept-join@u-boot.org> List-Unsubscribe: <mailto:concept-leave@u-boot.org> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit |
| Series |
fs: ext4l: Complete read-only filesystem support (Part I)
|
|
Message
Simon Glass
Dec. 27, 2025, 8:42 p.m. UTC
From: Simon Glass <simon.glass@canonical.com>
This series completes read-only support for the ext4l filesystem driver,
which is a port of the Linux ext4 driver to U-Boot.
The ext4l driver provides more complete ext4 support than the existing
ext4 driver, including proper handling of extents, directory hashing,
and other ext4 features.
Changes include:
Sandbox infrastructure:
- Fix IRQ macros and buffer_head includes for sandbox builds
Core fixes:
- Fix path lookup by implementing proper dentry operations
- Fix fscrypt_match_name to do actual name comparison
Filesystem operations:
- Add directory listing (opendir/readdir/closedir)
- Add file existence check (exists)
- Add file size query (size)
- Add file read support (read)
- Add UUID query (uuid)
- Add filesystem statistics (statfs)
New command:
- Add fsinfo command to display filesystem statistics
Testing:
- Add comprehensive unit tests for all operations
- Enable fsuuid command for sandbox testing
Simon Glass (16):
CLAUDE.md: Add note about test-declaration placement
buildman: Fix flaky test_kconfig_change test properly
linux: buffer_head: Include atomic.h directly
sandbox: Convert IRQ macros to static inline functions
ext4l: Fix path lookup by implementing dentry operations
cmd: Enable fsuuid command for sandbox
ext4l: Fix comment formatting
test: ext4l: Handle variable console output in tests
ext4l: Add open/read/close directory
ext4l: Add exists() support
ext4l: Add size() support
ext4l: Add read() support
ext4l: Add uuid() support
fs: Add statfs method to the filesystem interface
cmd: Add fsinfo command
fs: ext4l: Add statfs support
CLAUDE.md | 2 +
arch/sandbox/include/asm/system.h | 10 +-
cmd/Kconfig | 11 +
cmd/fs.c | 14 ++
doc/usage/cmd/fsinfo.rst | 53 +++++
doc/usage/index.rst | 1 +
fs/ext4l/ext4_uboot.h | 16 +-
fs/ext4l/interface.c | 352 ++++++++++++++++++++++++++++
fs/fs_legacy.c | 81 ++++++-
include/ext4l.h | 77 ++++++
include/fs_cmd.h | 11 +
include/fs_legacy.h | 21 ++
include/linux/buffer_head.h | 5 +-
include/linux/fs.h | 1 +
test/fs/ext4l.c | 300 +++++++++++++++++++++++-
test/py/tests/test_fs/test_ext4l.py | 64 ++++-
tools/buildman/func_test.py | 8 +-
17 files changed, 998 insertions(+), 29 deletions(-)
create mode 100644 doc/usage/cmd/fsinfo.rst