vfs: fix error handling in openPending so it returns the correct error

This commit is contained in:
Nick Craig-Wood 2017-11-18 11:54:25 +00:00
parent eab55ce882
commit 1b22ee5b93

View file

@ -80,9 +80,9 @@ func (fh *RWFileHandle) openPending(truncate bool) (err error) {
notFound := cause == fs.ErrorObjectNotFound || cause == fs.ErrorDirNotFound
if notFound {
// Remove cached item if there is one
err = os.Remove(fh.osPath)
if err != nil && !os.IsNotExist(err) {
return errors.Wrap(err, "open RW handle failed to delete stale cache file")
rmErr := os.Remove(fh.osPath)
if rmErr != nil && !os.IsNotExist(rmErr) {
return errors.Wrap(rmErr, "open RW handle failed to delete stale cache file")
}
}
if notFound && fh.flags&os.O_CREATE != 0 {