Merge pull request #4590 from renard/optimize-mount-failure
mount: detect mountpoint does not exist before opening the repository
This commit is contained in:
commit
433dd92959
2 changed files with 16 additions and 6 deletions
7
changelog/unreleased/pull-4590
Normal file
7
changelog/unreleased/pull-4590
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Enhancement: `mount` tests mountpoint existence before opening the repository
|
||||||
|
|
||||||
|
The restic `mount` command now checks for the existence of the
|
||||||
|
mountpoint before opening the repository, leading to quicker error
|
||||||
|
detection.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/4590
|
|
@ -113,6 +113,15 @@ func runMount(ctx context.Context, opts MountOptions, gopts GlobalOptions, args
|
||||||
return errors.Fatal("wrong number of parameters")
|
return errors.Fatal("wrong number of parameters")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mountpoint := args[0]
|
||||||
|
|
||||||
|
// Check the existence of the mount point at the earliest stage to
|
||||||
|
// prevent unnecessary computations while opening the repository.
|
||||||
|
if _, err := resticfs.Stat(mountpoint); errors.Is(err, os.ErrNotExist) {
|
||||||
|
Verbosef("Mountpoint %s doesn't exist\n", mountpoint)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
debug.Log("start mount")
|
debug.Log("start mount")
|
||||||
defer debug.Log("finish mount")
|
defer debug.Log("finish mount")
|
||||||
|
|
||||||
|
@ -136,12 +145,6 @@ func runMount(ctx context.Context, opts MountOptions, gopts GlobalOptions, args
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mountpoint := args[0]
|
|
||||||
|
|
||||||
if _, err := resticfs.Stat(mountpoint); errors.Is(err, os.ErrNotExist) {
|
|
||||||
Verbosef("Mountpoint %s doesn't exist\n", mountpoint)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
mountOptions := []systemFuse.MountOption{
|
mountOptions := []systemFuse.MountOption{
|
||||||
systemFuse.ReadOnly(),
|
systemFuse.ReadOnly(),
|
||||||
systemFuse.FSName("restic"),
|
systemFuse.FSName("restic"),
|
||||||
|
|
Loading…
Reference in a new issue