Tizen_4.0 base
[platform/upstream/docker-engine.git] / daemon / changes.go
1 package daemon
2
3 import (
4         "errors"
5         "runtime"
6         "time"
7
8         "github.com/docker/docker/pkg/archive"
9 )
10
11 // ContainerChanges returns a list of container fs changes
12 func (daemon *Daemon) ContainerChanges(name string) ([]archive.Change, error) {
13         start := time.Now()
14         container, err := daemon.GetContainer(name)
15         if err != nil {
16                 return nil, err
17         }
18
19         if runtime.GOOS == "windows" && container.IsRunning() {
20                 return nil, errors.New("Windows does not support diff of a running container")
21         }
22
23         container.Lock()
24         defer container.Unlock()
25         c, err := container.RWLayer.Changes()
26         if err != nil {
27                 return nil, err
28         }
29         containerActions.WithValues("changes").UpdateSince(start)
30         return c, nil
31 }