1
0
Fork 0
mirror of https://github.com/chrislusf/seaweedfs synced 2024-06-25 20:09:30 +02:00
seaweedfs/weed/shell/command_fs_lock_unlock.go
2020-04-29 13:26:02 -07:00

55 lines
932 B
Go

package shell
import (
"io"
)
func init() {
Commands = append(Commands, &commandUnlock{})
Commands = append(Commands, &commandLock{})
}
// =========== Lock ==============
type commandLock struct {
}
func (c *commandLock) Name() string {
return "lock"
}
func (c *commandLock) Help() string {
return `lock in order to exclusively manage the cluster
This is a blocking operation if there is alread another lock.
`
}
func (c *commandLock) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) {
commandEnv.locker.RequestLock()
return nil
}
// =========== Unlock ==============
type commandUnlock struct {
}
func (c *commandUnlock) Name() string {
return "unlock"
}
func (c *commandUnlock) Help() string {
return `unlock the cluster-wide lock
`
}
func (c *commandUnlock) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) {
commandEnv.locker.ReleaseLock()
return nil
}