The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/7931

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===

From f0ffccd6f18e4ddd477da4d09d052d075c88d9c5 Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parr...@canonical.com>
Date: Thu, 24 Sep 2020 16:01:47 +0100
Subject: [PATCH 1/6] lxd/sys/fs: initDirs comment

Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com>
---
 lxd/sys/fs.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lxd/sys/fs.go b/lxd/sys/fs.go
index 482d0ba0dc..93991792d4 100644
--- a/lxd/sys/fs.go
+++ b/lxd/sys/fs.go
@@ -35,7 +35,7 @@ func (s *OS) LegacyGlobalDatabasePath() string {
        return filepath.Join(s.VarDir, "raft", "db.bin")
 }
 
-// Make sure all our directories are available.
+// initDirs Make sure all our directories are available.
 func (s *OS) initDirs() error {
        dirs := []struct {
                path string

From 904349f08e1865c2b8534cca2062c051a23b624c Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parr...@canonical.com>
Date: Thu, 24 Sep 2020 16:02:01 +0100
Subject: [PATCH 2/6] lxd/sys/fs: Removes backups/instances and backups/custom
 from pre-storage mount setup

Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com>
---
 lxd/sys/fs.go | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lxd/sys/fs.go b/lxd/sys/fs.go
index 93991792d4..61e711ac08 100644
--- a/lxd/sys/fs.go
+++ b/lxd/sys/fs.go
@@ -43,8 +43,6 @@ func (s *OS) initDirs() error {
        }{
                {s.VarDir, 0711},
                {filepath.Join(s.VarDir, "backups"), 0700},
-               {filepath.Join(s.VarDir, "backups", "custom"), 0700},
-               {filepath.Join(s.VarDir, "backups", "instances"), 0700},
                {s.CacheDir, 0700},
                // containers is 0711 because liblxc needs to traverse dir to 
get to each container.
                {filepath.Join(s.VarDir, "containers"), 0711},

From 2700f35c735738240f71a8226e0eb853db316f65 Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parr...@canonical.com>
Date: Thu, 24 Sep 2020 16:02:48 +0100
Subject: [PATCH 3/6] lxd/sys/fs: initDirs error quoting

Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com>
---
 lxd/sys/fs.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lxd/sys/fs.go b/lxd/sys/fs.go
index 61e711ac08..a9b6326126 100644
--- a/lxd/sys/fs.go
+++ b/lxd/sys/fs.go
@@ -70,12 +70,12 @@ func (s *OS) initDirs() error {
                err := os.Mkdir(dir.path, dir.mode)
                if err != nil {
                        if !os.IsExist(err) {
-                               return errors.Wrapf(err, "Failed to init dir 
%s", dir.path)
+                               return errors.Wrapf(err, "Failed to init dir 
%q", dir.path)
                        }
 
                        err = os.Chmod(dir.path, dir.mode)
                        if err != nil && !os.IsNotExist(err) {
-                               return errors.Wrapf(err, "Failed to chmod dir 
%s", dir.path)
+                               return errors.Wrapf(err, "Failed to chmod dir 
%q", dir.path)
                        }
                }
        }

From bad724ab9e6d962c94cc6a844837c7996378364e Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parr...@canonical.com>
Date: Thu, 24 Sep 2020 16:03:01 +0100
Subject: [PATCH 4/6] lxd/sys/fs: Adds initStorageDirs to be called after
 storage pools and daemon volumes are mounted

Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com>
---
 lxd/sys/fs.go | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/lxd/sys/fs.go b/lxd/sys/fs.go
index a9b6326126..9aefba8155 100644
--- a/lxd/sys/fs.go
+++ b/lxd/sys/fs.go
@@ -82,3 +82,30 @@ func (s *OS) initDirs() error {
 
        return nil
 }
+
+// initStorageDirs make sure all our directories are on the storage layer 
(after storage is mounted).
+func (s *OS) initStorageDirs() error {
+       dirs := []struct {
+               path string
+               mode os.FileMode
+       }{
+               {filepath.Join(s.VarDir, "backups", "custom"), 0700},
+               {filepath.Join(s.VarDir, "backups", "instances"), 0700},
+       }
+
+       for _, dir := range dirs {
+               err := os.Mkdir(dir.path, dir.mode)
+               if err != nil {
+                       if !os.IsExist(err) {
+                               return errors.Wrapf(err, "Failed to init 
storage dir %q", dir.path)
+                       }
+
+                       err = os.Chmod(dir.path, dir.mode)
+                       if err != nil && !os.IsNotExist(err) {
+                               return errors.Wrapf(err, "Failed to chmod 
storage dir %q", dir.path)
+                       }
+               }
+       }
+
+       return nil
+}

From f2093e17c87f2d510697747c3d299c5aeb9d25fa Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parr...@canonical.com>
Date: Thu, 24 Sep 2020 16:03:33 +0100
Subject: [PATCH 5/6] lxd/sys/os: Adds InitStorage

Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com>
---
 lxd/sys/os.go | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lxd/sys/os.go b/lxd/sys/os.go
index c68ceb6aaf..61cdf47394 100644
--- a/lxd/sys/os.go
+++ b/lxd/sys/os.go
@@ -146,3 +146,8 @@ func (s *OS) Init() error {
 
        return nil
 }
+
+// InitStorage initialises the storage layer after it has been mounted.
+func (s *OS) InitStorage() error {
+       return s.initStorageDirs()
+}

From 089b47bf24add39c582a949eb61f3fb0b405170d Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parr...@canonical.com>
Date: Thu, 24 Sep 2020 16:03:50 +0100
Subject: [PATCH 6/6] lxd/daemon: Call d.os.InitStorage after daemon storage
 volumes are mounted

Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com>
---
 lxd/daemon.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lxd/daemon.go b/lxd/daemon.go
index 171d0df966..a422ef8b20 100644
--- a/lxd/daemon.go
+++ b/lxd/daemon.go
@@ -938,6 +938,12 @@ func (d *Daemon) init() error {
                return err
        }
 
+       // Create directories on daemon storage mounts.
+       err = d.os.InitStorage()
+       if err != nil {
+               return err
+       }
+
        // Apply all patches that need to be run after daemon storage is 
initialised.
        err = patchesApply(d, patchPostDaemonStorage)
        if err != nil {
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to