|
|
Log in / Subscribe / Register

create simple libfs directory iterator and make efivarfs use it

From:  James Bottomley <James.Bottomley-AT-HansenPartnership.com>
To:  linux-efi-AT-vger.kernel.org, linux-fsdevel-AT-vger.kernel.org
Subject:  [RFC PATCH 0/3] create simple libfs directory iterator and make efivarfs use it
Date:  Tue, 18 Mar 2025 15:41:08 -0400
Message-ID:  <20250318194111.19419-1-James.Bottomley@HansenPartnership.com>
Cc:  Ard Biesheuvel <ardb-AT-kernel.org>, Christian Brauner <brauner-AT-kernel.org>, Al Viro <viro-AT-zeniv.linux.org.uk>
Archive-link:  Article

[Note this is built on top of the previous patch to populate path.mnt]

This turned out to be much simpler than I feared.  The first patch
breaks out the core of the current dcache_readdir() into an internal
function with a callback (there should be no functional change).  The
second adds a new API, simple_iterate_call(), which loops over the
dentries in the next level and executes a callback for each one and
the third which removes all the efivarfs superblock and mnt crud and
replaces it with this simple callback interface.  I think the
diffstats of the third patch demonstrate how much nicer it is for us:

 1 file changed, 7 insertions(+), 96 deletions(-)

Regards,

James

---

James Bottomley (3):
  libfs: rework dcache_readdir to use an internal function with callback
  libfs: add simple directory iteration function with callback
  efivarfs: replace iterate_dir with libfs function simple_iterate_call

 fs/efivarfs/super.c | 103 +++-----------------------------------------
 fs/libfs.c          |  74 +++++++++++++++++++++++++------
 include/linux/fs.h  |   2 +
 3 files changed, 71 insertions(+), 108 deletions(-)

-- 
2.43.0




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds