提交 6e126ed7 作者: Tommi Virtanen 提交者: Jeromy

fuse/ipns: Only change file size in Setattr if asked to

This used to cause files e.g. being edited with `vi` to become 0-size.

License: MIT
Signed-off-by: 's avatarTommi Virtanen <tv@eagain.net>
上级 fbd9cabd
......@@ -335,15 +335,17 @@ func (fi *File) Flush(ctx context.Context, req *fuse.FlushRequest) error {
}
func (fi *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error {
cursize, err := fi.fi.Size()
if err != nil {
return err
}
if cursize != int64(req.Size) {
err := fi.fi.Truncate(int64(req.Size))
if req.Valid.Size() {
cursize, err := fi.fi.Size()
if err != nil {
return err
}
if cursize != int64(req.Size) {
err := fi.fi.Truncate(int64(req.Size))
if err != nil {
return err
}
}
}
return nil
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论