2
2
mirror of https://github.com/octoleo/restic.git synced 2024-12-12 06:07:55 +00:00

cmd/restic: Do not require exclusive lock for listing keys

This commit is contained in:
Alexander Neumann 2015-06-27 15:06:41 +02:00
parent 13e9a35f96
commit 47212dde8c

View File

@ -121,18 +121,30 @@ func (cmd CmdKey) Execute(args []string) error {
return err return err
} }
switch args[0] {
case "list":
lock, err := lockRepo(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
return cmd.listKeys(repo)
case "add":
lock, err := lockRepo(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
return cmd.addKey(repo)
case "rm":
lock, err := lockRepoExclusive(repo) lock, err := lockRepoExclusive(repo)
defer unlockRepo(lock) defer unlockRepo(lock)
if err != nil { if err != nil {
return err return err
} }
switch args[0] {
case "list":
return cmd.listKeys(repo)
case "add":
return cmd.addKey(repo)
case "rm":
id, err := backend.Find(repo.Backend(), backend.Key, args[1]) id, err := backend.Find(repo.Backend(), backend.Key, args[1])
if err != nil { if err != nil {
return err return err
@ -140,6 +152,12 @@ func (cmd CmdKey) Execute(args []string) error {
return cmd.deleteKey(repo, id) return cmd.deleteKey(repo, id)
case "passwd": case "passwd":
lock, err := lockRepoExclusive(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
return cmd.changePassword(repo) return cmd.changePassword(repo)
} }