コード例 #1
0
ファイル: hello.go プロジェクト: kildevaeld/vault
func main() {
	flag.Usage = Usage
	flag.Parse()

	if flag.NArg() != 1 {
		Usage()
		os.Exit(2)
	}
	mountpoint := flag.Arg(0)

	c, err := fuse.Mount(
		mountpoint,
		fuse.FSName("helloworld"),
		fuse.Subtype("hellofs"),
		fuse.LocalVolume(),
		fuse.VolumeName("Hello world!"),
	)
	if err != nil {
		log.Fatal(err)
	}
	defer c.Close()

	err = fs.Serve(c, FS{})
	if err != nil {
		log.Fatal(err)
	}

	// check if the mount process has an error to report
	<-c.Ready
	if err := c.MountError; err != nil {
		log.Fatal(err)
	}
}
コード例 #2
0
ファイル: mount.go プロジェクト: kildevaeld/vault
func (self *Mount) Serve() error {

	c, err := fuse.Mount(self.mount, fuse.FSName("vault-mount"), fuse.VolumeName("vault"))
	if err != nil {
		return err
	}

	self.conn = c

	filesys := &FS{
		client: self.client,
	}
	if err := fs.Serve(c, filesys); err != nil {
		return err
	}

	// check if the mount process has an error to report
	<-c.Ready
	if err := c.MountError; err != nil {
		return err
	}
	return nil
}