diff options
| author | chrislu <chris.lu@gmail.com> | 2022-04-06 09:58:48 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-04-06 09:58:48 -0700 |
| commit | 0a6703c7f7c0341f436b2d31745a85108127cec4 (patch) | |
| tree | 7cfe322e8b7e78a940ccfd2c401ba32c7b338bb5 | |
| parent | 3d229fe45c66d79ea95a82a0a57d53ffaf3cd5e1 (diff) | |
| download | seaweedfs-0a6703c7f7c0341f436b2d31745a85108127cec4.tar.xz seaweedfs-0a6703c7f7c0341f436b2d31745a85108127cec4.zip | |
avoid possible nil attributes
| -rw-r--r-- | weed/mount/weedfs_attr.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/weed/mount/weedfs_attr.go b/weed/mount/weedfs_attr.go index 55a29542a..caef34ac1 100644 --- a/weed/mount/weedfs_attr.go +++ b/weed/mount/weedfs_attr.go @@ -138,18 +138,20 @@ func (wfs *WFS) setAttrByPbEntry(out *fuse.Attr, inode uint64, entry *filer_pb.E out.Size = filer.FileSize(entry) out.Blocks = (out.Size + blockSize - 1) / blockSize setBlksize(out, blockSize) - out.Mtime = uint64(entry.Attributes.Mtime) - out.Ctime = uint64(entry.Attributes.Mtime) - out.Atime = uint64(entry.Attributes.Mtime) - out.Mode = toSyscallMode(os.FileMode(entry.Attributes.FileMode)) + if entry.Attributes != nil { + out.Mtime = uint64(entry.Attributes.Mtime) + out.Ctime = uint64(entry.Attributes.Mtime) + out.Atime = uint64(entry.Attributes.Mtime) + out.Mode = toSyscallMode(os.FileMode(entry.Attributes.FileMode)) + out.Uid = entry.Attributes.Uid + out.Gid = entry.Attributes.Gid + out.Rdev = entry.Attributes.Rdev + } if entry.HardLinkCounter > 0 { out.Nlink = uint32(entry.HardLinkCounter) } else { out.Nlink = 1 } - out.Uid = entry.Attributes.Uid - out.Gid = entry.Attributes.Gid - out.Rdev = entry.Attributes.Rdev } func (wfs *WFS) setAttrByFilerEntry(out *fuse.Attr, inode uint64, entry *filer.Entry) { |
