From a9b41900d87f4fbdb2d0f9a6745fc563daff03d6 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 28 Aug 2021 01:56:56 -0700 Subject: [PATCH] handle cases when mounted directory does not exist --- weed/command/filer_remote_sync.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/weed/command/filer_remote_sync.go b/weed/command/filer_remote_sync.go index e9286b705..db5ce8b90 100644 --- a/weed/command/filer_remote_sync.go +++ b/weed/command/filer_remote_sync.go @@ -116,11 +116,15 @@ func followUpdatesAndUploadToRemote(option *RemoteSyncOptions, filerSource *sour } lastOffsetTsNs, err := getOffset(option.grpcDialOption, *option.filerAddress, RemoteSyncKeyPrefix, int32(dirHash)) - if err == nil && mountedDirEntry.Attributes.Crtime < lastOffsetTsNs/1000000 { - lastOffsetTs = time.Unix(0, lastOffsetTsNs) - glog.V(0).Infof("resume from %v", lastOffsetTs) + if mountedDirEntry != nil { + if err == nil && mountedDirEntry.Attributes.Crtime < lastOffsetTsNs/1000000 { + lastOffsetTs = time.Unix(0, lastOffsetTsNs) + glog.V(0).Infof("resume from %v", lastOffsetTs) + } else { + lastOffsetTs = time.Unix(mountedDirEntry.Attributes.Crtime, 0) + } } else { - lastOffsetTs = time.Unix(mountedDirEntry.Attributes.Crtime, 0) + lastOffsetTs = time.Now() } } else { lastOffsetTs = time.Now().Add(-*option.timeAgo)