You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
835 B

  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, &commandDisableVacuum{})
  9. }
  10. type commandDisableVacuum struct {
  11. }
  12. func (c *commandDisableVacuum) Name() string {
  13. return "volume.vacuum.disable"
  14. }
  15. func (c *commandDisableVacuum) Help() string {
  16. return `disable vacuuming request from Master, however volume.vacuum still works.
  17. volume.vacuum.disable
  18. `
  19. }
  20. func (c *commandDisableVacuum) 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.DisableVacuum(context.Background(), &master_pb.DisableVacuumRequest{})
  26. return err
  27. })
  28. return
  29. }