volume/local: localVolume.mount() move errors.Wrap()
While the current code is correct (as errors.Wrap() returns nil if
err is nil), relying on this behavior has caused some confusion in
the past, resulting in regressions.
This patch makes the error-handling code slightly more idiomatic and
defensive against such regressions.
@@ -123,14 +123,14 @@ func (v *localVolume) mount() error {
mountOpts = strings.Replace(mountOpts, "addr="+addrValue, "addr="+ipAddr.String(), 1)
}
}
- err := mount.Mount(v.opts.MountDevice, v.path, v.opts.MountType, mountOpts)
- if err != nil {
+ if err := mount.Mount(v.opts.MountDevice, v.path, v.opts.MountType, mountOpts); err != nil {
if password := getPassword(v.opts.MountOpts); password != "" {
err = errors.New(strings.Replace(err.Error(), "password="+password, "password=********", 1))
}
- }
return errors.Wrap(err, "failed to mount local volume")
}
+ return nil
+}
func (v *localVolume) postMount() error {
if v.opts == nil {
