"bazil.org/fuse" "bazil.org/fuse/fs" "bazil.org/fuse/fs/fstestutil" ) type benchConfig struct { directIO bool } type benchFS struct { conf *benchConfig } var _ = fs.FS(benchFS{}) var _ = fs.FSIniter(benchFS{}) func (benchFS) Init(req *fuse.InitRequest, resp *fuse.InitResponse, intr fs.Intr) fuse.Error { resp.MaxReadahead = 64 * 1024 * 1024 resp.Flags |= fuse.InitAsyncRead return nil } func (f benchFS) Root() (fs.Node, fuse.Error) { return benchDir{conf: f.conf}, nil } type benchDir struct { conf *benchConfig }
"bazil.org/bazil/tokens" "bazil.org/fuse" "bazil.org/fuse/fs" "code.google.com/p/goprotobuf/proto" "github.com/boltdb/bolt" ) type Volume struct { mu sync.Mutex db *bolt.DB volID VolumeID chunkStore chunks.Store } var _ = fs.FS(&Volume{}) var _ = fs.FSIniter(&Volume{}) var bucketVolume = []byte(tokens.BucketVolume) var bucketVolName = []byte(tokens.BucketVolName) var bucketDir = []byte("dir") var bucketInode = []byte("inode") var bucketSnap = []byte("snap") func (v *Volume) bucket(tx *bolt.Tx) *bolt.Bucket { b := tx.Bucket(bucketVolume) b = b.Bucket(v.volID.Bytes()) return b } // Open returns a FUSE filesystem instance serving content from the // given volume. The result can be passed to bazil.org/fuse/fs#Serve