command_volume_vacuum_enable.go 789 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package shell
  2. import (
  3. "context"
  4. "io"
  5. "github.com/seaweedfs/seaweedfs/weed/pb/master_pb"
  6. )
  7. func init() {
  8. Commands = append(Commands, &commandEnableVacuum{})
  9. }
  10. type commandEnableVacuum struct {
  11. }
  12. func (c *commandEnableVacuum) Name() string {
  13. return "volume.vacuum.enable"
  14. }
  15. func (c *commandEnableVacuum) Help() string {
  16. return `enable vacuuming request from Master
  17. volume.vacuum.enable
  18. `
  19. }
  20. func (c *commandEnableVacuum) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) {
  21. if err = commandEnv.confirmIsLocked(args); err != nil {
  22. return
  23. }
  24. err = commandEnv.MasterClient.WithClient(false, func(client master_pb.SeaweedClient) error {
  25. _, err = client.EnableVacuum(context.Background(), &master_pb.EnableVacuumRequest{})
  26. return err
  27. })
  28. return
  29. }