1
0
Fork 0
mirror of https://github.com/restic/restic.git synced 2024-12-23 16:26:11 +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
} }
lock, err := lockRepoExclusive(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
switch args[0] { switch args[0] {
case "list": case "list":
lock, err := lockRepo(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
return cmd.listKeys(repo) return cmd.listKeys(repo)
case "add": case "add":
lock, err := lockRepo(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
return cmd.addKey(repo) return cmd.addKey(repo)
case "rm": case "rm":
lock, err := lockRepoExclusive(repo)
defer unlockRepo(lock)
if err != nil {
return err
}
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)
} }