mirror of
https://github.com/versity/versitygw.git
synced 2026-09-22 16:04:15 +00:00
Merge pull request #2383 from JoshPigott/fix/object-verson-mtime
fix: object verson mtime
This commit is contained in:
@@ -1271,12 +1271,23 @@ func (p *Posix) createObjVersion(bucket, key string, size int64, acc auth.Accoun
|
||||
}
|
||||
defer f.cleanup()
|
||||
|
||||
originalMTime := time.Now()
|
||||
if srcInfo, err := sf.Stat(); err == nil {
|
||||
originalMTime = srcInfo.ModTime()
|
||||
}
|
||||
|
||||
// Prioritize copy_file_range for internal file-to-file version copies.
|
||||
_, err = io.Copy(f.File(), sf)
|
||||
if err != nil {
|
||||
return versionPath, err
|
||||
}
|
||||
|
||||
// Restore original mtime after copy
|
||||
err = os.Chtimes(f.File().Name(), time.Now(), originalMTime)
|
||||
if err != nil {
|
||||
return versionPath, err
|
||||
}
|
||||
|
||||
versionPath = filepath.Join(versionBucketPath, versioningKey)
|
||||
|
||||
err = os.MkdirAll(filepath.Join(versionBucketPath, genObjVersionKey(key)), p.newDirPerm)
|
||||
|
||||
Reference in New Issue
Block a user