diff --git a/cmd/xl-storage.go b/cmd/xl-storage.go index 6e5391419..63bcc5448 100644 --- a/cmd/xl-storage.go +++ b/cmd/xl-storage.go @@ -2091,7 +2091,8 @@ func (s *xlStorage) RenameData(ctx context.Context, srcVolume, srcPath string, f return err } - dstBuf, err = xlMeta.AppendTo(nil) + dstBuf, err = xlMeta.AppendTo(metaDataPoolGet()) + defer metaDataPoolPut(dstBuf) if err != nil { logger.LogIf(ctx, err) if legacyPreserved { diff --git a/docs/bucket/versioning/xl-meta.go b/docs/bucket/versioning/xl-meta.go index 6ffca0434..425bb6780 100644 --- a/docs/bucket/versioning/xl-meta.go +++ b/docs/bucket/versioning/xl-meta.go @@ -135,7 +135,7 @@ GLOBAL FLAGS: } data = b default: - return errors.New("unknown metadata version") + return fmt.Errorf("unknown metadata version %d", minor) } if c.Bool("data") { diff --git a/internal/ioutil/read_file.go b/internal/ioutil/read_file.go index 5c745aa15..be4ed76cd 100644 --- a/internal/ioutil/read_file.go +++ b/internal/ioutil/read_file.go @@ -34,6 +34,11 @@ func ReadFile(name string) ([]byte, error) { return nil, err } defer f.Close() - - return io.ReadAll(f) + st, err := f.Stat() + if err != nil { + return io.ReadAll(f) + } + dst := make([]byte, st.Size()) + _, err = io.ReadFull(f, dst) + return dst, err }