// mount attempts to mount at the provided FUSE mount point func internalMount(ipfs *core.IpfsNode, fpath string, ipfspath string) error { c, err := fuse.Mount(fpath) if err != nil { return err } defer c.Close() fsys, err := NewIpns(ipfs, ipfspath) if err != nil { return err } log.Infof("Mounted ipns at %s.", fpath) if err := fs.Serve(c, fsys); 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 }
func main() { flag.Usage = Usage flag.Parse() if flag.NArg() != 1 { Usage() os.Exit(2) } mountpoint := flag.Arg(0) c, err := fuse.Mount(mountpoint) 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) } }
// mount attempts to mount the provided FUSE mount point func internalMount(ipfs *core.IpfsNode, m mount.Mount) error { c, err := fuse.Mount(m.MountPoint()) if err != nil { return err } defer c.Close() fsys := FileSystem{Ipfs: ipfs} log.Infof("Mounted ipfs at %s.", m.MountPoint()) if err := fs.Serve(c, fsys); err != nil { return err } // check if the mount process has an error to report <-c.Ready if err := c.MountError; err != nil { m.Unmount() return err } return nil }