func (cmd *WorkerCommand) naiveBaggageclaimRunner(logger lager.Logger) (ifrit.Runner, error) { volumesDir := filepath.Join(cmd.WorkDir, "volumes") err := os.MkdirAll(volumesDir, 0755) if err != nil { return nil, err } bc := &baggageclaimcmd.BaggageclaimCommand{ BindIP: baggageclaimcmd.IPFlag(cmd.Baggageclaim.BindIP), BindPort: cmd.Baggageclaim.BindPort, VolumesDir: baggageclaimcmd.DirFlag(volumesDir), Driver: "naive", ReapInterval: cmd.Baggageclaim.ReapInterval, Metrics: cmd.Metrics, } return bc.Runner(nil) }
func (cmd *WorkerCommand) baggageclaimRunner(logger lager.Logger) (ifrit.Runner, error) { volumesImage := filepath.Join(cmd.WorkDir, "volumes.img") volumesDir := filepath.Join(cmd.WorkDir, "volumes") err := os.MkdirAll(volumesDir, 0755) if err != nil { return nil, err } var fsStat syscall.Statfs_t err = syscall.Statfs(volumesDir, &fsStat) if err != nil { return nil, fmt.Errorf("failed to stat volumes filesystem: %s", err) } filesystem := fs.New(logger.Session("fs"), volumesImage, volumesDir) err = filesystem.Create(fsStat.Blocks * uint64(fsStat.Bsize)) if err != nil { return nil, fmt.Errorf("failed to set up volumes filesystem: %s", err) } bc := &baggageclaimcmd.BaggageclaimCommand{ BindIP: baggageclaimcmd.IPFlag(cmd.Baggageclaim.BindIP), BindPort: cmd.Baggageclaim.BindPort, VolumesDir: baggageclaimcmd.DirFlag(volumesDir), Driver: "btrfs", ReapInterval: cmd.Baggageclaim.ReapInterval, Metrics: cmd.Metrics, } return bc.Runner(nil) }