vfs: when renaming files in the cache, rename the cache item in memory too

s3-about
Nick Craig-Wood 2019-12-09 15:23:08 +00:00
parent 6e683b4359
commit 1ab4985046
1 changed files with 7 additions and 0 deletions

View File

@ -309,6 +309,13 @@ func (c *cache) rename(name string, newName string) (err error) {
if err = os.Rename(osOldPath, osNewPath); err != nil {
return errors.Wrapf(err, "Failed to rename in cache: %s to %s", osOldPath, osNewPath)
}
// Rename the cache item
c.itemMu.Lock()
if oldItem, ok := c.item[name]; ok {
c.item[newName] = oldItem
delete(c.item, name)
}
c.itemMu.Unlock()
fs.Infof(name, "Renamed in cache")
return nil
}