Added FUSE support #55
@ -298,9 +298,6 @@ func (fh *bytesFileWriteHandle) Write(ctx context.Context, data []byte, off int6
|
|||||||
|
|
||||||
var _ fs.FileFlusher = (*bytesFileWriteHandle)(nil)
|
var _ fs.FileFlusher = (*bytesFileWriteHandle)(nil)
|
||||||
func (fh *bytesFileWriteHandle) Flush(ctx context.Context) (errno syscall.Errno) {
|
func (fh *bytesFileWriteHandle) Flush(ctx context.Context) (errno syscall.Errno) {
|
||||||
if len(fh.content) == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
yannickulrich marked this conversation as resolved
Outdated
|
|||||||
log.Debug("FUSE Attempting flush").Str("path", fh.path).Send()
|
log.Debug("FUSE Attempting flush").Str("path", fh.path).Send()
|
||||||
yannickulrich marked this conversation as resolved
Outdated
Elara6331
commented
This is not correct. If no content has been written, you should still create the file because the user might want to create an empty file using a command like This is not correct. If no content has been written, you should still create the file because the user might want to create an empty file using a command like `touch`.
yannickulrich
commented
Oh, good point, thank you. Should be fixed now. Oh, good point, thank you. Should be fixed now.
|
|||||||
fp, err := myfs.Create(fh.path, uint32(len(fh.content)))
|
fp, err := myfs.Create(fh.path, uint32(len(fh.content)))
|
||||||
@ -309,6 +306,16 @@ func (fh *bytesFileWriteHandle) Flush(ctx context.Context) (errno syscall.Errno)
|
|||||||
return syscallErr(err)
|
return syscallErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(fh.content) == 0 {
|
||||||
|
log.Debug("FUSE Flush no data to write").Str("path", fh.path).Send()
|
||||||
|
err = fp.Close()
|
||||||
|
if err != nil {
|
||||||
|
log.Error("FUSE Flush failed during close").Str("path", fh.path).Err(err).Send()
|
||||||
|
return syscallErr(err)
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
// For every progress event
|
// For every progress event
|
||||||
for sent := range fp.Progress() {
|
for sent := range fp.Progress() {
|
||||||
|
Loading…
Reference in New Issue
Block a user
Done in
b5328ec