mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-07 09:17:49 +08:00
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: Tommi Virtanen <tv@eagain.net>
This commit is contained in:
parent
fbd9cabd93
commit
6e126ed79d
@ -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
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user