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) <p...@cjr.nz>
---
 net/ipv4/ipconfig.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index 9bcca08efec9..32e20b758b68 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -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");
-- 
2.23.0

Reply via email to