createlayer.go 757 B

123456789101112131415161718192021222324252627
  1. package hcsshim
  2. import "github.com/Sirupsen/logrus"
  3. // CreateLayer creates a new, empty, read-only layer on the filesystem based on
  4. // the parent layer provided.
  5. func CreateLayer(info DriverInfo, id, parent string) error {
  6. title := "hcsshim::CreateLayer "
  7. logrus.Debugf(title+"Flavour %d ID %s parent %s", info.Flavour, id, parent)
  8. // Convert info to API calling convention
  9. infop, err := convertDriverInfo(info)
  10. if err != nil {
  11. logrus.Error(err)
  12. return err
  13. }
  14. err = createLayer(&infop, id, parent)
  15. if err != nil {
  16. err = makeErrorf(err, title, "id=%s parent=%s flavour=%d", id, parent, info.Flavour)
  17. logrus.Error(err)
  18. return err
  19. }
  20. logrus.Debugf(title+" - succeeded id=%s parent=%s flavour=%d", id, parent, info.Flavour)
  21. return nil
  22. }