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 |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	log.Debug("FUSE Attempting flush").Str("path", fh.path).Send() | 	log.Debug("FUSE Attempting flush").Str("path", fh.path).Send() | ||||||
| 	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() { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user