some fixes

This commit is contained in:
ston1th 2022-04-13 23:44:41 +02:00
commit 1075b3215c
4 changed files with 24 additions and 7 deletions

View file

@ -5,6 +5,7 @@ package fs
import (
"cachefs/pkg/chunk"
"cachefs/pkg/provider"
"cachefs/pkg/provider/sftp"
"context"
"encoding/json"
"errors"
@ -80,19 +81,20 @@ func MetadataGenerator(file string, dst provider.FS, fstat, encrypted bool) erro
return nil
}
size := fi.Size()
path = "/" + strings.TrimPrefix(path, dst.Root())
if fstat {
blocks, err := dst.Fstat(f.Fd())
if err != nil {
return nil
}
if size <= blocks*512 {
md[strings.TrimPrefix(path, dst.Root())] = &Metadata{
md[path] = &Metadata{
Size: size,
Chunks: chunk.Chunks{{0, size}},
}
}
} else {
md[strings.TrimPrefix(path, dst.Root())] = &Metadata{
md[path] = &Metadata{
Size: size,
Chunks: chunk.Chunks{{0, size}},
}
@ -332,7 +334,7 @@ func MapError(err error) error {
}
func IsIOErr(err error) bool {
return MapError(err) == IOErr
return MapError(err) == IOErr || errors.Is(err, sftp.ErrNotConnected)
}
type Metadata struct {