Merge pull request from cpuguy83/25310_persit_volume_opts

Fix issue reloading mount options on restart
This commit is contained in:
Vincent Demeester 2016-08-02 15:45:05 +02:00 committed by GitHub
commit 2011320fa9
2 changed files with 18 additions and 1 deletions

View file

@ -88,7 +88,9 @@ func New(scope string, rootUID, rootGID int) (*Root, error) {
path: r.DataPath(name),
}
r.volumes[name] = v
if b, err := ioutil.ReadFile(filepath.Join(name, "opts.json")); err == nil {
optsFilePath := filepath.Join(rootDirectory, name, "opts.json")
if b, err := ioutil.ReadFile(optsFilePath); err == nil {
v.opts = &optsConfig{}
if err := json.Unmarshal(b, v.opts); err != nil {
return nil, err
}

View file

@ -3,6 +3,7 @@ package local
import (
"io/ioutil"
"os"
"reflect"
"runtime"
"strings"
"testing"
@ -246,4 +247,18 @@ func TestCreateWithOpts(t *testing.T) {
if !mounted {
t.Fatal("expected mount to still be active")
}
r, err = New(rootDir, 0, 0)
if err != nil {
t.Fatal(err)
}
v2, exists := r.volumes["test"]
if !exists {
t.Fatal("missing volume on restart")
}
if !reflect.DeepEqual(v.opts, v2.opts) {
t.Fatal("missing volume options on restart")
}
}