]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ipconfig: Handle CONFIG_CIFS_ROOT option
authorPaulo Alcantara (SUSE) <pc@cjr.nz>
Tue, 1 Oct 2019 17:10:28 +0000 (14:10 -0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Oct 2019 16:15:15 +0000 (12:15 -0400)
The experimental root file system support in cifs.ko relies on
ipconfig to set up the network stack and then accessing the SMB share
that contains the rootfs files.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipconfig.c

index 9bcca08efec9e88bf68e3ce1a93c44f9264e78bb..32e20b758b68b4e9d2b900ea93a46301429ccba6 100644 (file)
@@ -1483,10 +1483,10 @@ static int __init ip_auto_config(void)
         * missing values.
         */
        if (ic_myaddr == NONE ||
-#ifdef CONFIG_ROOT_NFS
+#if defined(CONFIG_ROOT_NFS) || defined(CONFIG_CIFS_ROOT)
            (root_server_addr == NONE &&
             ic_servaddr == NONE &&
-            ROOT_DEV == Root_NFS) ||
+            (ROOT_DEV == Root_NFS || ROOT_DEV == Root_CIFS)) ||
 #endif
            ic_first_dev->next) {
 #ifdef IPCONFIG_DYNAMIC
@@ -1513,6 +1513,12 @@ static int __init ip_auto_config(void)
                                goto try_try_again;
                        }
 #endif
+#ifdef CONFIG_CIFS_ROOT
+                       if (ROOT_DEV == Root_CIFS) {
+                               pr_err("IP-Config: Retrying forever (CIFS root)...\n");
+                               goto try_try_again;
+                       }
+#endif
 
                        if (--retries) {
                                pr_err("IP-Config: Reopening network devices...\n");