From 38224a4c1a8993a6c9e56ed512dec950bba2eec6 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Wed, 12 Jun 2019 16:42:04 -0700 Subject: [PATCH] Ignore errors reading fs.json (#7777) --- cmd/fs-v1.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cmd/fs-v1.go b/cmd/fs-v1.go index 60101b6f7..858da8a9f 100644 --- a/cmd/fs-v1.go +++ b/cmd/fs-v1.go @@ -431,8 +431,9 @@ func (fs *FSObjects) CopyObject(ctx context.Context, srcBucket, srcObject, dstBu // Save objects' metadata in `fs.json`. fsMeta := newFSMetaV1() - if _, err = fsMeta.ReadFrom(ctx, wlk); err != nil && err != io.EOF { - return oi, toObjectErr(err, srcBucket, srcObject) + if _, err = fsMeta.ReadFrom(ctx, wlk); err != nil { + // For any error to read fsMeta, set default ETag and proceed. + fsMeta = fs.defaultFsJSON(srcObject) } fsMeta.Meta = srcInfo.UserDefined @@ -710,10 +711,7 @@ func (fs *FSObjects) getObjectInfo(ctx context.Context, bucket, object string) ( _, rerr := fsMeta.ReadFrom(ctx, rlk.LockedFile) fs.rwPool.Close(fsMetaPath) if rerr != nil { - if rerr != io.EOF { - return oi, rerr - } - // Set Default ETag, if fs.json is empty + // For any error to read fsMeta, set default ETag and proceed. fsMeta = fs.defaultFsJSON(object) } }