@@ -4,15 +4,15 @@ import (
44 "errors"
55 "fmt"
66 "io"
7+ "path/filepath"
78
89 "github.com/docker/docker/pkg/archive"
910 "github.com/docker/docker/pkg/plugingetter"
1011)
1112
1213type graphDriverProxy struct {
13- name string
14- client pluginClient
15- p plugingetter.CompatPlugin
14+ name string
15+ p plugingetter.CompatPlugin
1616}
1717
1818type graphDriverRequest struct {
@@ -48,7 +48,7 @@ func (d *graphDriverProxy) Init(home string, opts []string) error {
4848 Opts : opts ,
4949 }
5050 var ret graphDriverResponse
51- if err := d .client .Call ("GraphDriver.Init" , args , & ret ); err != nil {
51+ if err := d .p . Client () .Call ("GraphDriver.Init" , args , & ret ); err != nil {
5252 return err
5353 }
5454 if ret .Err != "" {
@@ -73,7 +73,7 @@ func (d *graphDriverProxy) CreateReadWrite(id, parent string, opts *CreateOpts)
7373 MountLabel : mountLabel ,
7474 }
7575 var ret graphDriverResponse
76- if err := d .client .Call ("GraphDriver.CreateReadWrite" , args , & ret ); err != nil {
76+ if err := d .p . Client () .Call ("GraphDriver.CreateReadWrite" , args , & ret ); err != nil {
7777 return err
7878 }
7979 if ret .Err != "" {
@@ -93,7 +93,7 @@ func (d *graphDriverProxy) Create(id, parent string, opts *CreateOpts) error {
9393 MountLabel : mountLabel ,
9494 }
9595 var ret graphDriverResponse
96- if err := d .client .Call ("GraphDriver.Create" , args , & ret ); err != nil {
96+ if err := d .p . Client () .Call ("GraphDriver.Create" , args , & ret ); err != nil {
9797 return err
9898 }
9999 if ret .Err != "" {
@@ -105,7 +105,7 @@ func (d *graphDriverProxy) Create(id, parent string, opts *CreateOpts) error {
105105func (d * graphDriverProxy ) Remove (id string ) error {
106106 args := & graphDriverRequest {ID : id }
107107 var ret graphDriverResponse
108- if err := d .client .Call ("GraphDriver.Remove" , args , & ret ); err != nil {
108+ if err := d .p . Client () .Call ("GraphDriver.Remove" , args , & ret ); err != nil {
109109 return err
110110 }
111111 if ret .Err != "" {
@@ -120,20 +120,20 @@ func (d *graphDriverProxy) Get(id, mountLabel string) (string, error) {
120120 MountLabel : mountLabel ,
121121 }
122122 var ret graphDriverResponse
123- if err := d .client .Call ("GraphDriver.Get" , args , & ret ); err != nil {
123+ if err := d .p . Client () .Call ("GraphDriver.Get" , args , & ret ); err != nil {
124124 return "" , err
125125 }
126126 var err error
127127 if ret .Err != "" {
128128 err = errors .New (ret .Err )
129129 }
130- return ret .Dir , err
130+ return filepath . Join ( d . p . BasePath (), ret .Dir ) , err
131131}
132132
133133func (d * graphDriverProxy ) Put (id string ) error {
134134 args := & graphDriverRequest {ID : id }
135135 var ret graphDriverResponse
136- if err := d .client .Call ("GraphDriver.Put" , args , & ret ); err != nil {
136+ if err := d .p . Client () .Call ("GraphDriver.Put" , args , & ret ); err != nil {
137137 return err
138138 }
139139 if ret .Err != "" {
@@ -145,7 +145,7 @@ func (d *graphDriverProxy) Put(id string) error {
145145func (d * graphDriverProxy ) Exists (id string ) bool {
146146 args := & graphDriverRequest {ID : id }
147147 var ret graphDriverResponse
148- if err := d .client .Call ("GraphDriver.Exists" , args , & ret ); err != nil {
148+ if err := d .p . Client () .Call ("GraphDriver.Exists" , args , & ret ); err != nil {
149149 return false
150150 }
151151 return ret .Exists
@@ -154,7 +154,7 @@ func (d *graphDriverProxy) Exists(id string) bool {
154154func (d * graphDriverProxy ) Status () [][2 ]string {
155155 args := & graphDriverRequest {}
156156 var ret graphDriverResponse
157- if err := d .client .Call ("GraphDriver.Status" , args , & ret ); err != nil {
157+ if err := d .p . Client () .Call ("GraphDriver.Status" , args , & ret ); err != nil {
158158 return nil
159159 }
160160 return ret .Status
@@ -165,7 +165,7 @@ func (d *graphDriverProxy) GetMetadata(id string) (map[string]string, error) {
165165 ID : id ,
166166 }
167167 var ret graphDriverResponse
168- if err := d .client .Call ("GraphDriver.GetMetadata" , args , & ret ); err != nil {
168+ if err := d .p . Client () .Call ("GraphDriver.GetMetadata" , args , & ret ); err != nil {
169169 return nil , err
170170 }
171171 if ret .Err != "" {
@@ -184,7 +184,7 @@ func (d *graphDriverProxy) Cleanup() error {
184184
185185 args := & graphDriverRequest {}
186186 var ret graphDriverResponse
187- if err := d .client .Call ("GraphDriver.Cleanup" , args , & ret ); err != nil {
187+ if err := d .p . Client () .Call ("GraphDriver.Cleanup" , args , & ret ); err != nil {
188188 return nil
189189 }
190190 if ret .Err != "" {
@@ -198,7 +198,7 @@ func (d *graphDriverProxy) Diff(id, parent string) (io.ReadCloser, error) {
198198 ID : id ,
199199 Parent : parent ,
200200 }
201- body , err := d .client .Stream ("GraphDriver.Diff" , args )
201+ body , err := d .p . Client () .Stream ("GraphDriver.Diff" , args )
202202 if err != nil {
203203 return nil , err
204204 }
@@ -211,7 +211,7 @@ func (d *graphDriverProxy) Changes(id, parent string) ([]archive.Change, error)
211211 Parent : parent ,
212212 }
213213 var ret graphDriverResponse
214- if err := d .client .Call ("GraphDriver.Changes" , args , & ret ); err != nil {
214+ if err := d .p . Client () .Call ("GraphDriver.Changes" , args , & ret ); err != nil {
215215 return nil , err
216216 }
217217 if ret .Err != "" {
@@ -223,7 +223,7 @@ func (d *graphDriverProxy) Changes(id, parent string) ([]archive.Change, error)
223223
224224func (d * graphDriverProxy ) ApplyDiff (id , parent string , diff io.Reader ) (int64 , error ) {
225225 var ret graphDriverResponse
226- if err := d .client .SendFile (fmt .Sprintf ("GraphDriver.ApplyDiff?id=%s&parent=%s" , id , parent ), diff , & ret ); err != nil {
226+ if err := d .p . Client () .SendFile (fmt .Sprintf ("GraphDriver.ApplyDiff?id=%s&parent=%s" , id , parent ), diff , & ret ); err != nil {
227227 return - 1 , err
228228 }
229229 if ret .Err != "" {
@@ -238,7 +238,7 @@ func (d *graphDriverProxy) DiffSize(id, parent string) (int64, error) {
238238 Parent : parent ,
239239 }
240240 var ret graphDriverResponse
241- if err := d .client .Call ("GraphDriver.DiffSize" , args , & ret ); err != nil {
241+ if err := d .p . Client () .Call ("GraphDriver.DiffSize" , args , & ret ); err != nil {
242242 return - 1 , err
243243 }
244244 if ret .Err != "" {
0 commit comments