fix(pools): do not list or move free versions as delete markers

Signed-off-by: Denis Babchuk <babchukdenis@icloud.com>
This commit is contained in:
Denis Babchuk
2026-10-29 22:09:03 +03:00
parent fb1a619ee1
commit 7ce7fc8d1e
8 changed files with 288 additions and 7 deletions
+3 -1
View File
@@ -32,7 +32,9 @@ import (
// Otherwise IsLatest, SuccessorModTime and LatestModTime are those of the
// non-free versions.
//
// Note: Only the scanner requires fivs.Versions to have exclusively non-free versions. This is used while enforcing NewerNoncurrentVersions lifecycle element.
// Only healing needs the free versions among the versions. Free versions are
// not versions of the object, and lifecycle evaluation, listings and data
// movement must not count them.
func getFileInfoVersions(xlMetaBuf []byte, volume, path string, inclFreeVersions bool) (FileInfoVersions, error) {
fivs, err := getAllFileInfoVersions(xlMetaBuf, volume, path, true)
if err != nil {