On Mon, Jun 21, 2021 at 08:26:56AM +0200, Christoph Hellwig wrote:
> -static void __init get_fs_names(char *page)
> +static void __init split_fs_names(char *page, char *names)

If you're going to respin it anyway, can you rename 'page' to 'buf'
or something?  Kind of confusing to have a char * called 'page'.

>  {
> +     strcpy(page, root_fs_names);
> +     while (*page++) {
> +             if (page[-1] == ',')
> +                     page[-1] = '\0';
> +     }
> +     *page = '\0';
> +}

is it really worth doing a strcpy() followed by a custom strtok()?
would this work better?

        char c;

        do {
                c =  *root_fs_names++;
                *buf++ = c;
                if (c == ',')
                        buf[-1] = '\0';
        } while (c);

> +static void __init get_all_fs_names(char *page)
> +{
> +     int len = get_filesystem_list(page);

it occurs to me that get_filesystem_list() fails silently.  if you build
every linux filesystem in, and want your root on zonefs (assuming
they're alphabetical), we'll fail to find it without a message
indicating that we overflowed the buffer.

_______________________________________________
Virtio-fs mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/virtio-fs

Reply via email to