Thread (21 messages) 21 messages, 5 authors, 2021-07-13

Re: [PATCH 1/2] init: split get_fs_names

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-06-21 15:09:59
Also in: lkml

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help