fuse mount: avoid lookup nil entry

fix https://github.com/chrislusf/seaweedfs/issues/1221
This commit is contained in:
Chris Lu
2020-03-07 16:51:46 -08:00
parent 936e7cdbfb
commit 8645283a7b
10 changed files with 47 additions and 35 deletions

View File

@@ -98,7 +98,7 @@ func (fs *FilerSink) CreateEntry(key string, entry *filer_pb.Entry) error {
Name: name,
}
glog.V(1).Infof("lookup: %v", lookupRequest)
if resp, err := client.LookupDirectoryEntry(context.Background(), lookupRequest); err == nil && resp.Entry != nil {
if resp, err := filer_pb.LookupEntry(client, lookupRequest); err == nil {
if filer2.ETag(resp.Entry.Chunks) == filer2.ETag(entry.Chunks) {
glog.V(0).Infof("already replicated %s", key)
return nil
@@ -148,14 +148,11 @@ func (fs *FilerSink) UpdateEntry(key string, oldEntry *filer_pb.Entry, newParent
}
glog.V(4).Infof("lookup entry: %v", request)
resp, err := client.LookupDirectoryEntry(context.Background(), request)
resp, err := filer_pb.LookupEntry(client, request)
if err != nil {
glog.V(0).Infof("lookup %s: %v", key, err)
return err
}
if resp.Entry == nil {
return filer2.ErrNotFound
}
existingEntry = resp.Entry