return nil, fuse.ENOENT } func (benchDir) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) { l := []fuse.Dirent{ {Inode: 2, Name: "bench", Type: fuse.DT_File}, } return l, nil } type benchFile struct { conf *benchConfig } var _ = fs.Node(benchFile{}) var _ = fs.NodeOpener(benchFile{}) var _ = fs.NodeFsyncer(benchFile{}) var _ = fs.Handle(benchFile{}) var _ = fs.HandleReader(benchFile{}) var _ = fs.HandleWriter(benchFile{}) func (benchFile) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 2 a.Mode = 0644 a.Size = 9999999999999999 return nil } func (f benchFile) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error) { if f.conf.directIO { resp.Flags |= fuse.OpenDirectIO
// RecordedMknod returns information about the Mknod request. // If no request was seen, returns a zero value. func (r *Mknods) RecordedMknod() fuse.MknodRequest { val := r.rec.Recorded() if val == nil { return fuse.MknodRequest{} } return *(val.(*fuse.MknodRequest)) } // Opens records a Open request and its fields. type Opens struct { rec RequestRecorder } var _ = fs.NodeOpener(&Opens{}) // Open records the request and returns an error. Most callers should // wrap this call in a function that returns a more useful result. func (r *Opens) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error) { tmp := *req r.rec.RecordRequest(&tmp) return nil, fuse.EIO } // RecordedOpen returns information about the Open request. // If no request was seen, returns a zero value. func (r *Opens) RecordedOpen() fuse.OpenRequest { val := r.rec.Recorded() if val == nil { return fuse.OpenRequest{}