createlayer.go 731 B

1234567891011121314151617181920212223242526272829303132
  1. package wclayer
  2. import (
  3. "github.com/Microsoft/hcsshim/internal/hcserror"
  4. "github.com/sirupsen/logrus"
  5. )
  6. // CreateLayer creates a new, empty, read-only layer on the filesystem based on
  7. // the parent layer provided.
  8. func CreateLayer(path, parent string) (err error) {
  9. title := "hcsshim::CreateLayer"
  10. fields := logrus.Fields{
  11. "parent": parent,
  12. "path": path,
  13. }
  14. logrus.WithFields(fields).Debug(title)
  15. defer func() {
  16. if err != nil {
  17. fields[logrus.ErrorKey] = err
  18. logrus.WithFields(fields).Error(err)
  19. } else {
  20. logrus.WithFields(fields).Debug(title + " - succeeded")
  21. }
  22. }()
  23. err = createLayer(&stdDriverInfo, path, parent)
  24. if err != nil {
  25. return hcserror.New(err, title+" - failed", "")
  26. }
  27. return nil
  28. }