Merge pull request #2383 from JoshPigott/fix/object-verson-mtime

fix: object verson mtime
This commit is contained in:
Ben McClelland
2026-09-15 14:28:59 -07:00
committed by GitHub
+11
View File
@@ -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)