Browse Source

Move canonical root path detection to NewDaemon

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Solomon Hykes 11 years ago
parent
commit
e92a9e0b53
2 changed files with 12 additions and 12 deletions
  1. 11 0
      daemon/daemon.go
  2. 1 12
      docker/docker.go

+ 11 - 0
daemon/daemon.go

@@ -778,6 +778,17 @@ func NewDaemonFromDirectory(config *daemonconfig.Config, eng *engine.Engine) (*D
 		selinuxSetDisabled()
 		selinuxSetDisabled()
 	}
 	}
 
 
+	// get the canonical path to the Docker root directory
+	var realRoot string
+	if _, err := os.Stat(config.Root); err != nil && os.IsNotExist(err) {
+		realRoot = config.Root
+	} else {
+		realRoot, err = utils.ReadSymlinkedDirectory(config.Root)
+		if err != nil {
+			log.Fatalf("Unable to get the full path to root (%s): %s", config.Root, err)
+		}
+	}
+	config.Root = realRoot
 	// Create the root directory if it doesn't exists
 	// Create the root directory if it doesn't exists
 	if err := os.MkdirAll(config.Root, 0700); err != nil && !os.IsExist(err) {
 	if err := os.MkdirAll(config.Root, 0700); err != nil && !os.IsExist(err) {
 		return nil, err
 		return nil, err

+ 1 - 12
docker/docker.go

@@ -120,17 +120,6 @@ func main() {
 		}
 		}
 
 
 
 
-		// get the canonical path to the Docker root directory
-		root := *flRoot
-		var realRoot string
-		if _, err := os.Stat(root); err != nil && os.IsNotExist(err) {
-			realRoot = root
-		} else {
-			realRoot, err = utils.ReadSymlinkedDirectory(root)
-			if err != nil {
-				log.Fatalf("Unable to get the full path to root (%s): %s", root, err)
-			}
-		}
 		if err := checkKernelAndArch(); err != nil {
 		if err := checkKernelAndArch(); err != nil {
 			log.Fatal(err)
 			log.Fatal(err)
 		}
 		}
@@ -157,7 +146,7 @@ func main() {
 			job := eng.Job("initserver")
 			job := eng.Job("initserver")
 			// include the variable here too, for the server config
 			// include the variable here too, for the server config
 			job.Setenv("Pidfile", *pidfile)
 			job.Setenv("Pidfile", *pidfile)
-			job.Setenv("Root", realRoot)
+			job.Setenv("Root", *flRoot)
 			job.SetenvBool("AutoRestart", *flAutoRestart)
 			job.SetenvBool("AutoRestart", *flAutoRestart)
 			job.SetenvList("Dns", flDns.GetAll())
 			job.SetenvList("Dns", flDns.GetAll())
 			job.SetenvList("DnsSearch", flDnsSearch.GetAll())
 			job.SetenvList("DnsSearch", flDnsSearch.GetAll())