diff --git a/cmd/ipfs/ipfs.go b/cmd/ipfs/ipfs.go index 88dbacce5..d6fbac0bf 100644 --- a/cmd/ipfs/ipfs.go +++ b/cmd/ipfs/ipfs.go @@ -51,6 +51,7 @@ Use "ipfs help " for more information about a command. cmdIpfsMount, cmdIpfsInit, cmdIpfsServe, + cmdIpfsRun, }, Flag: *flag.NewFlagSet("ipfs", flag.ExitOnError), } diff --git a/cmd/ipfs/run.go b/cmd/ipfs/run.go new file mode 100644 index 000000000..94158ecd4 --- /dev/null +++ b/cmd/ipfs/run.go @@ -0,0 +1,34 @@ +package main + +import ( + "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/gonuts/flag" + "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/commander" + "github.com/jbenet/go-ipfs/daemon" + u "github.com/jbenet/go-ipfs/util" +) + +var cmdIpfsRun = &commander.Command{ + UsageLine: "run", + Short: "run local ifps node.", + Long: `run a local ipfs node with no other interface. +`, + Run: runCmd, + Flag: *flag.NewFlagSet("ipfs-run", flag.ExitOnError), +} + +func runCmd(c *commander.Command, inp []string) error { + u.Debug = true + + n, err := localNode(true) + if err != nil { + return err + } + + dl, err := daemon.NewDaemonListener(n, "localhost:12345") + if err != nil { + return err + } + dl.Listen() + dl.Close() + return nil +} diff --git a/fuse/readonly/readonly_unix.go b/fuse/readonly/readonly_unix.go index 03dba7810..aa62429a4 100644 --- a/fuse/readonly/readonly_unix.go +++ b/fuse/readonly/readonly_unix.go @@ -98,7 +98,11 @@ func (s *Node) Attr() fuse.Attr { case mdag.PBData_File, mdag.PBData_Raw: u.DOut("this is a file.\n") size, _ := s.Nd.Size() - return fuse.Attr{Mode: 0444, Size: uint64(size)} + return fuse.Attr{ + Mode: 0444, + Size: uint64(size), + Blocks: uint64(len(s.Nd.Links)), + } default: u.PErr("Invalid data type.") return fuse.Attr{}