func addImagesub(imageSClient *srpc.Client, objectClient *objectclient.ObjectClient, name, subName, filterFilename, triggersFilename string) error { imageExists, err := client.CheckImage(imageSClient, name) if err != nil { return errors.New("error checking for image existance: " + err.Error()) } if imageExists { return errors.New("image exists") } newImage := new(image.Image) if err := loadImageFiles(newImage, objectClient, filterFilename, triggersFilename); err != nil { return err } fs, err := pollImage(subName) if err != nil { return err } if fs, err = applyDeleteFilter(fs); err != nil { return err } fs = fs.Filter(newImage.Filter) if err := spliceComputedFiles(fs); err != nil { return err } if err := copyMissingObjects(fs, imageSClient, objectClient, subName); err != nil { return err } newImage.FileSystem = fs return addImage(imageSClient, name, newImage) }