change condition

change condition
This commit is contained in:
jiuker 2025-04-09 16:18:51 +08:00
parent 4424af9668
commit 7e72150297
1 changed files with 2 additions and 17 deletions

View File

@ -645,27 +645,12 @@ func (z *erasureServerPools) getPoolIdx(ctx context.Context, bucket, object stri
}
idx = pinfo.Index
if isErrObjectNotFound(err) {
if isErrObjectNotFound(err) || pinfo.Err == nil {
// will generate a temp object
idx = z.getAvailablePoolIdx(ctx, bucket, object, size)
if idx < 0 {
return -1, toObjectErr(errDiskFull)
}
} else if pinfo.Err == nil {
if pinfo.ObjInfo.VersionID != "" && pinfo.ObjInfo.VersionID != nullVersionID {
// versioned object
// will add new version for this.
idx = z.getAvailablePoolIdx(ctx, bucket, object, size)
if idx < 0 {
return -1, toObjectErr(errDiskFull)
}
} else if size > pinfo.ObjInfo.Size {
// unversioned object
// if the object is already present, we need to check the increased size
idx = z.getAvailablePoolIdx(ctx, bucket, object, size-pinfo.ObjInfo.Size)
if idx < 0 {
return -1, toObjectErr(errDiskFull)
}
}
}
return idx, nil