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

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Sun Nov 3 00:36:38 CET 2024


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?

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?

> --
> Tom
>
>


-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com


More information about the U-Boot mailing list