[PATCH 0/5] fs: ext4: implement opendir, readdir, closedir

Tom Rini trini at konsulko.com
Sun Nov 3 00:53:19 CET 2024


On Sun, Nov 03, 2024 at 12:36:38AM +0100, Michael Nazzareno Trimarchi wrote:
> Hi Tom
> 
> On Sun, Nov 3, 2024 at 12:26 AM Tom Rini <trini at konsulko.com> wrote:
> >
> > On Sat, 26 Oct 2024 08:40:43 +0200, Heinrich Schuchardt wrote:
> >
> > > With this series opendir, readdir, closedir are implemented for ext4.
> > > These functions are needed for the UEFI sub-system to interact with
> > > the ext4 file system.
> > >
> > > To reduce code growth the functions are reused to implement the ls
> > > command for ext4.
> > >
> > > [...]
> >
> > Applied to local tree/v2-tidy-test-dir, thanks!
> >
> Am I sleeping?

... I always forget b4 compares with checked out branch, that should
have been master.

> int ext4fs_opendir(const char *dirname, struct fs_dir_stream **dirsp) {
>     struct ext4_dir_stream *dirs = NULL;
>     struct ext2fs_node *dir = NULL;
>     int ret;
> 
>     *dirsp = NULL;
> 
>     dirs = calloc(1, sizeof(struct ext4_dir_stream));
>     if (!dirs)
>         return -ENOMEM;
> 
>     dirs->dirname = strdup(dirname);
>     if (!dirs->dirname) {
>         free(dirs);
>         return -ENOMEM;
>     }
> 
>     ret = ext4fs_find_file(dirname, &ext4fs_root->diropen, &dir,
> FILETYPE_DIRECTORY);
> 
>     if (ret == 1) {
>         ret = 0;
>         *dirsp = (struct fs_dir_stream *)dirs;
>     } else {
>         ret = -ENOENT;
>         free(dirs->dirname);
>         free(dirs);
>     }
> 
>     if (dir)
>         ext4fs_free_node(dir, &ext4fs_root->diropen);
> 
>     return ret;
> }
> 
> Should not be like this?

Please elaborate?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241102/09df5652/attachment.sig>


More information about the U-Boot mailing list