diff --git a/cmd/xl-storage.go b/cmd/xl-storage.go index a14ac283d..2f2b2a685 100644 --- a/cmd/xl-storage.go +++ b/cmd/xl-storage.go @@ -2224,10 +2224,7 @@ func (s *xlStorage) RenameData(ctx context.Context, srcVolume, srcPath, dataDir, return err } - if err = renameAll(srcFilePath, dstFilePath); err != nil { - return osErrToFileErr(err) - } - + // Commit data if srcDataPath != "" { removeAll(oldDstDataPath) removeAll(dstDataPath) @@ -2236,6 +2233,11 @@ func (s *xlStorage) RenameData(ctx context.Context, srcVolume, srcPath, dataDir, } } + // Commit meta-file + if err = renameAll(srcFilePath, dstFilePath); err != nil { + return osErrToFileErr(err) + } + // Remove parent dir of the source file if empty if parentDir := slashpath.Dir(srcFilePath); isDirEmpty(parentDir) { deleteFile(srcVolumeDir, parentDir, false)