revelo

package
v0.0.0-...-3124197 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2017 License: BSD-3-Clause, BSD-3-Clause Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const Usage = "revelo <name> <access-type> <mnt-dir>\n" +
	"            access-type is one of:\n" +
	"                cp://<local-dir>\n" +
	"                scp://user::passwd@host:/path\n" +
	"                s3://bucket@region (credentials in ~/.aws/credentials)\n" +
	"                minio://host:port/bucket (credentials in ~/.minio/horcrux.json)\n"

Variables

This section is empty.

Functions

func Revelo

func Revelo(Name string, accType string, cacheDir string, mntDir string) error

Main function.

  • Exposes remote FS structure locally using FUSE (bazil-fuse)
  • Gets files from remote on-demand
  • TODO:
  • Check-in files to remote
  • Version control

func Unmount

func Unmount(mntDir string) error

Unmount local

Types

type DIR

type DIR struct {
	Acc   *accio.Access
	RData *ReveloData
	Entry horcrux.Entry
	// contains filtered or unexported fields
}

func (*DIR) Attr

func (d *DIR) Attr(ctx context.Context, attr *fuse.Attr) error

func (*DIR) Create

func (d *DIR) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (fs.Node, fs.Handle, error)

func (*DIR) Lookup

func (d *DIR) Lookup(ctx context.Context, req *fuse.LookupRequest, resp *fuse.LookupResponse) (fs.Node, error)

func (*DIR) Mkdir

func (d *DIR) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error)

func (*DIR) ReadDirAll

func (d *DIR) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)

func (*DIR) Remove

func (d *DIR) Remove(ctx context.Context, req *fuse.RemoveRequest) error

func (*DIR) Setattr

func (d *DIR) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error

type FILE

type FILE struct {
	Acc   *accio.Access
	RData *ReveloData
	Entry horcrux.Entry
	// contains filtered or unexported fields
}

func (*FILE) Attr

func (f *FILE) Attr(ctx context.Context, a *fuse.Attr) error

func (*FILE) Fsync

func (f *FILE) Fsync(ctx context.Context, req *fuse.FsyncRequest) error

Fsync handler XXX Sync the chunk files here??

func (*FILE) Open

func (f *FILE) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error)

func (*FILE) Setattr

func (f *FILE) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error

type FS

type FS struct {
	Acc   *accio.Access
	RData *ReveloData
	// contains filtered or unexported fields
}

FUSE implementation (check bazil-fuse for the usage) TODO: Make &FILE &DIR same across multiple access.

func (FS) Root

func (f FS) Root() (fs.Node, error)

type HANDLE

type HANDLE struct {
	Acc *accio.Access
	// contains filtered or unexported fields
}

func (*HANDLE) Flush

func (h *HANDLE) Flush(ctx context.Context, req *fuse.FlushRequest) error

Flush handler

func (*HANDLE) Read

func (h *HANDLE) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error

func (*HANDLE) Release

func (h *HANDLE) Release(ctx context.Context, req *fuse.ReleaseRequest) error

Release handler TODO: Need this when we have &FILE same across multiple access

func (*HANDLE) Write

func (h *HANDLE) Write(ctx context.Context, req *fuse.WriteRequest, resp *fuse.WriteResponse) error

Write handler

type ReveloData

type ReveloData struct {
	Config   horcrux.Config
	NumFiles int
	CurrVer  string

	Root *dirTree.Node // DirTree for FS ops
	// contains filtered or unexported fields
}
var GlobalData ReveloData

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL