Use custom structure for /need calls (fixes #1001)

Also, remove trimming by number of blocks as this no longer affects the size
of the response.
This commit is contained in:
Audrius Butkevicius 2014-11-23 00:52:48 +00:00
parent ddc56c8a0d
commit 3af96e50bd
1 changed files with 8 additions and 5 deletions

View File

@ -81,16 +81,19 @@ func (f FileInfoTruncated) String() string {
f.Name, f.Flags, f.Modified, f.Version, f.Size(), f.NumBlocks) f.Name, f.Flags, f.Modified, f.Version, f.Size(), f.NumBlocks)
} }
func BlocksToSize(num uint32) int64 {
if num < 2 {
return BlockSize / 2
}
return int64(num-1)*BlockSize + BlockSize/2
}
// Returns a statistical guess on the size, not the exact figure // Returns a statistical guess on the size, not the exact figure
func (f FileInfoTruncated) Size() int64 { func (f FileInfoTruncated) Size() int64 {
if f.IsDeleted() || f.IsDirectory() { if f.IsDeleted() || f.IsDirectory() {
return 128 return 128
} }
if f.NumBlocks < 2 { return BlocksToSize(f.NumBlocks)
return BlockSize / 2
} else {
return int64(f.NumBlocks-1)*BlockSize + BlockSize/2
}
} }
func (f FileInfoTruncated) IsDeleted() bool { func (f FileInfoTruncated) IsDeleted() bool {