"context"
"io"
- "bazil.org/fuse"
- "bazil.org/fuse/fs"
- "github.com/anacrolix/missinggo"
+ "github.com/anacrolix/fuse"
+ "github.com/anacrolix/fuse/fs"
+ "github.com/anacrolix/missinggo/v2"
"github.com/anacrolix/torrent"
)
type fileHandle struct {
fn fileNode
- r torrent.Reader
+ tf *torrent.File
}
var _ interface {
if req.Dir {
panic("read on directory")
}
- r := me.r
+ r := me.tf.NewReader()
+ defer r.Close()
pos, err := r.Seek(req.Offset, io.SeekStart)
if err != nil {
panic(err)
me.fn.FS.mu.Unlock()
var n int
r := missinggo.ContextedReader{r, ctx}
- //log.Printf("reading %v bytes at %v", len(resp.Data), req.Offset)
+ // log.Printf("reading %v bytes at %v", len(resp.Data), req.Offset)
if true {
// A user reported on that on freebsd 12.2, the system requires that reads are
// completely filled. Their system only asks for 64KiB at a time. I've seen systems that
}
func (me fileHandle) Release(context.Context, *fuse.ReleaseRequest) error {
- return me.r.Close()
+ return nil
}