From patchwork Tue Dec 23 01:16:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 74 Return-Path: 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=1766452604; bh=01I5i8Na7OXoBqN2Wp5SgyZHHsNCVTBfbySr/lSsD6w=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=jsti3htMyw09Mj+j/fmZaFdUzsZBZguW5wo5wdFDZCdp5jpfVSgQYc84RGMOy3YQu 4l2uQCd51NXAZR+ctfyWWZ+lNVkVKpxpX6GPTE31/IgXy9sSPDjmHBGJ5JvMwCIqur O1CieazzLqJf6mXhCQ7lfeFt4XUcROE+CMWbP8VUeHNZSjo3xTbNLT8su/QItS7qel ku4uGMe/czPzQ37v6YXFcJS/1pQG2yV+/y3FgO6O0nMz86tNlZU7V5ko5xHMMfbSwR bRLfpJ5IjvEN20s9SfBURX9kZ0vmHBx7PqSjnfDC81UXugKvp6zjhtLMePq1ZcPzNp LfaOgg935+NBg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id DCF8364DA9 for ; Mon, 22 Dec 2025 18:16:44 -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 XdO1JT7UK5KO for ; Mon, 22 Dec 2025 18:16:44 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766452604; bh=01I5i8Na7OXoBqN2Wp5SgyZHHsNCVTBfbySr/lSsD6w=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=jsti3htMyw09Mj+j/fmZaFdUzsZBZguW5wo5wdFDZCdp5jpfVSgQYc84RGMOy3YQu 4l2uQCd51NXAZR+ctfyWWZ+lNVkVKpxpX6GPTE31/IgXy9sSPDjmHBGJ5JvMwCIqur O1CieazzLqJf6mXhCQ7lfeFt4XUcROE+CMWbP8VUeHNZSjo3xTbNLT8su/QItS7qel ku4uGMe/czPzQ37v6YXFcJS/1pQG2yV+/y3FgO6O0nMz86tNlZU7V5ko5xHMMfbSwR bRLfpJ5IjvEN20s9SfBURX9kZ0vmHBx7PqSjnfDC81UXugKvp6zjhtLMePq1ZcPzNp LfaOgg935+NBg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id CB9F664D70 for ; Mon, 22 Dec 2025 18:16:44 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766452603; bh=u1lF3fIMZfpayoqR0l/nY4/JkReL1AHSl1pt8ssdznw=; h=From:To:Cc:Subject:Date:From; b=GvXo3nCEXzSig1SZriUAv+51qkOWrVYBipmxYGvJEXXBAMJxrU1h9QkjUGsA3RI+J FrpPZZhVCuQgfBpyGtup2uOHKpw2V4jG9Ya8z3kLOlcVVuqbCMO1TCOwR8uAgHiNga Kyb+HulkATGKaslbBhz4XKtkBAp4IscTKssiUhmQ0pt8T0pHxRkiFMrItQ2QbyEftG bTIRMiqxQN+8VrJ5uUsanMNHFspFc5hv8MdfZTfewpeObBq7ASLn3lY5oHjb7Lb6Hu ooAhPRgmqVXSUgrmSy77MhphtsJKYD8MsRZBIynwR17hdId7d8t3NfW1kF87PCv8Of OxqUq7V1ROkLw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6E34A64D70; Mon, 22 Dec 2025 18:16:43 -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 nIuFXH6-FhZ2; Mon, 22 Dec 2025 18:16:43 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1766452603; bh=RvwM+16SZCYEcOqM4O5hjJccgTuw7O8J185qeFd+Iyo=; h=From:To:Cc:Subject:Date:From; b=f8Mw3u6zVVN4NKQ+UB4ewc3H3R/gcUQRBkaxs8u/pOvz5wPBtxclie2YVvNlRt3BT j1Wo6V+s9tb5RCS8CUIZriiL5/4MLHTWQX6g7GseLinsYIGpYyB5HxnNwbcTx5kWiQ hTZDq/vDU99uTbnyDxgIcjrxsca4ji6jBAqlQt8gUquir9t6g49CR/ItOcxGAf8abH IXx0QuddTmMos2HM3+d4n6R7PQN9B3mY8+6X3ZdvdQ9lFUgP0xuHusOOAzbYWkbHXK CSNiVbkU10tu+sG8vwjf1eYULVZdgYZ2XmbcoSlAq6KGPs3kIyrTdXqG0fyNTdb/Ke WyeRQFLmI89Kw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id E3AC964C17; Mon, 22 Dec 2025 18:16:42 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Mon, 22 Dec 2025 18:16:15 -0700 Message-ID: <20251223011632.380026-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: M454I7V6CESWNXTTML57TIZYNO3AKLRV X-Message-ID-Hash: M454I7V6CESWNXTTML57TIZYNO3AKLRV 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/12] ext4l: Add support for listing directoties (Part H) List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass This series adds directory-listing support to the ext4l filesystem driver. It exports a few required functions from the Linux ext4 code, fixes the dir_emit() stub to properly call the actor callback, and implements ext4l_ls() with path resolution and symlink following. Simon Glass (12): ext4l: Fix format warning in mballoc.c fs: ext4l: Mount filesystems read-write ext4l: Add write support and buffer mapping for mount ext4l: Use EXT4L_PRINTF to enable ext4 diagnostic messages ext4l: Document __CHAR_UNSIGNED__ behavior for directory hashing ext4l: Implement super_set_uuid() to display filesystem UUID ext4l: Add message buffer to record ext4 messages ext4l: Add ext4l_msgs env var to print messages on mount test: fs: Add ext4l filesystem tests ext4l: Export ext4_readdir() for directory listing ext4l: Fix dir_emit() to call the actor callback ext4l: Add ls command support fs/ext4l/dir.c | 2 +- fs/ext4l/ext4.h | 5 +- fs/ext4l/ext4_uboot.h | 53 +++- fs/ext4l/interface.c | 393 ++++++++++++++++++++++++++++ fs/ext4l/mballoc.c | 4 +- fs/ext4l/namei.c | 2 +- fs/ext4l/super.c | 28 +- fs/ext4l/support.c | 55 +++- fs/fs_legacy.c | 2 +- include/ext4l.h | 14 + test/fs/Makefile | 1 + test/fs/ext4l.c | 110 ++++++++ test/py/tests/test_fs/test_ext4l.py | 78 ++++++ 13 files changed, 722 insertions(+), 25 deletions(-) create mode 100644 test/fs/ext4l.c create mode 100644 test/py/tests/test_fs/test_ext4l.py