Commit Graph

354 Commits

Author SHA1 Message Date
Jeromy
9715cab58d set proper UID and GID on fuse filesystems 2015-03-30 14:56:42 -07:00
Jeromy
5440bb0e6d fix WriteAt race condition 2015-03-24 12:23:01 -07:00
Jeromy
13c489eca1 fix context respect through fuse reading 2015-03-24 12:23:01 -07:00
Jeromy
13de031b44 code cleanup and better naming of methods 2015-03-24 12:23:01 -07:00
Jeromy
b9658f0cb2 refactor ipns fuse to utilize ipnsfs 2015-03-24 12:23:01 -07:00
Konstantin Koroviev
b6c0ade276 FUSE: Stop treating "no errors" as an error 2015-03-22 17:50:20 +02:00
Juan Batiz-Benet
8a3db7cbc4 testing: nofuse testing (for osx travis) 2015-03-18 01:44:36 -07:00
Jeromy
63e15abd8f refactor dagmodifier to work with trickledag format 2015-03-11 19:38:01 -07:00
Jeromy
da47c218b7 take offset into account for computing read size 2015-03-06 11:07:09 -08:00
Tonis Tiigi
91ab1401ab Fix nofuse build tags syntax 2015-03-05 18:00:36 +02:00
Henry
293234ae63 InitializeKeyspace doesnt care about fuse 2015-03-05 01:24:17 +01:00
Henry
66f1035d93 simple nofuse build tag to allow freebsd compilation and maybe pave the way towards windows as well 2015-03-05 01:24:17 +01:00
Juan Batiz-Benet
38425b1a06 fuse: fix read problem in osx
@whyrusleeping's fix in c88340b broke reading fuse in osx.
i'm not sure why... anyway, i chose to revert back to
io.ReadFull, but use the min of req.Size and r.Size(), which
should not encounter the reading problem in linux that a77ea2f
fixed in the first place.

This commit also changes ipns, which had not been changed.
2015-03-04 07:34:05 -08:00
Juan Batiz-Benet
f77dbe0a57 fuse/ipns: implement NodeReadlinker 2015-03-04 07:34:04 -08:00
Henry
94f55f2d51 added implements check for root types and fixed remaining interfaces on nodes 2015-03-01 13:47:52 +01:00
Henry
335caf0bc7 implements check and fixed argument ordering 2015-03-01 13:47:52 +01:00
Henry
faef01a17e update to recent bazil.org/fuse (drop custom Error, Intr dropped in favor or context.Context) 2015-03-01 13:47:52 +01:00
Jeromy
36a21561f7 stress test for ipfs fuse 2015-02-26 19:12:05 -08:00
Jeromy
88b5a1a019 path.Join for cross platform goodness 2015-02-26 19:03:33 -08:00
Jeromy
856c87bdc0 add some fuse tests for readonly ipfs fs 2015-02-26 19:03:33 -08:00
Henry
92d08db7a5 rewrote import paths of go.net/context to use golang.org/x/context
- updated go-ctxgroup and goprocess
ctxgroup: AddChildGroup was changed to AddChild. Used in two files:
- p2p/net/mock/mock_net.go
- routing/dht/dht.go

- updated context from hg repo to git
prev. commit in hg was ad01a6fcc8a19d3a4478c836895ffe883bd2ceab. (context: make parentCancelCtx iterative)
represents commit 84f8955a887232b6308d79c68b8db44f64df455c in git repo

- updated context to master (b6fdb7d8a4ccefede406f8fe0f017fb58265054c)

Aaron Jacobs (2):
net/context: Don't accept a context in the DoSomethingSlow example.
context: Be clear that users must cancel the result of WithCancel.

Andrew Gerrand (1):
go.net: use golang.org/x/... import paths

Bryan C. Mills (1):
net/context: Don't leak goroutines in Done example.

Damien Neil (1):
context: fix removal of cancelled timer contexts from parent

David Symonds (2):
context: Fix WithValue example code.
net: add import comments.

Sameer Ajmani (1):
context: fix TestAllocs to account for ints in interfaces
2015-02-25 11:58:19 +01:00
Jeromy
c88340b5a4 move to use io.CopyN 2015-02-23 19:29:02 -08:00
Jeromy
a77ea2f0c8 fix fuse reading on linux 2015-02-23 15:51:16 -08:00
Juan Batiz-Benet
58f39687cf logs: removed all log.Errors unhelpful to users
Let's save log.Error for things the user can take action on.
Moved all our diagnostics to log.Debug. We can ideally reduce them
even further.
2015-02-03 01:06:07 -08:00
Mildred Ki'Lya
d221d55d85 HTTP: add handlers to allow object creation and modification 2015-01-31 20:47:34 +01:00
Juan Batiz-Benet
a8bfa947d8 fuse/ipns: use Read() not ReadAll() 2015-01-29 16:12:45 -08:00
Juan Batiz-Benet
c05b4f06f0 fuse/ipfs: remove ReadAll 2015-01-29 16:12:45 -08:00
Juan Batiz-Benet
fcf7f0e7c1 fuse/ipfs: seeking
This commit changed the "ReadAll" to do proper read requests.
Seeking in fuse mounted fs now works. Note: this is why opening a
mounted video didnt work... we just didnt look at this code in
months.
2015-01-29 16:12:45 -08:00
Jeromy
abb3c9c9c4 implement path type 2015-01-29 17:51:08 +00:00
Jeromy
f1267d0624 change ipns resolve/publish to store raw keys, not b58 encoded 2015-01-28 19:36:30 +00:00
Jeromy
26826bd55e implement seeking in the dagreader 2015-01-27 01:33:09 +00:00
Jeromy
1244fd251d update tests, and ensure 'default' blocks are pinned 2015-01-22 00:16:30 +00:00
Jeromy
a5233faeae some comments 2015-01-19 08:06:51 +00:00
Jeromy
feeada0d90 fix fuse mounting issues
this time, without loading the private key on every startup
2015-01-19 08:05:52 +00:00
Juan Batiz-Benet
0311c0518d testing/ci: all env var checks now use new pkgs
Good thing, i checked one wrong, too!
2015-01-14 16:01:03 -08:00
Jeromy
edd7062c56 mark ipns as readonly 2015-01-10 01:22:44 -08:00
Juan Batiz-Benet
919e9bebee ipns test: is fast republish a timing prob? 2015-01-05 05:48:35 -08:00
Juan Batiz-Benet
e21b1f662b fuse mount lifecycle fixes
This commit cleans up how mounting was being done.
It now successfully signals when it is properly mounted
and listen to close signals correctly.
2015-01-04 00:47:27 -08:00
Juan Batiz-Benet
cc0d7c9b57 crypto -> p2p/crypto
The crypto package moves into p2p. Nothing in it so far is ipfs
specific; everything is p2p-general.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
c84a714b16 peer change: peer.Peer -> peer.ID
this is a major refactor of the entire codebase
it changes the monolithic peer.Peer into using
a peer.ID and a peer.Peerstore.

Other changes:
- removed handshake3.
-	testutil vastly simplified peer
-	secio bugfix + debugging logs
-	testutil: RandKeyPair
-	backpressure bugfix: w.o.w.
-	peer: added hex enc/dec
-	peer: added a PeerInfo struct
  PeerInfo is a small struct used to pass around a peer with
 	a set of addresses and keys. This is not meant to be a
 	complete view of the system, but rather to model updates to
 	the peerstore. It is used by things like the routing system.
-	updated peer/queue + peerset
-	latency metrics
-	testutil: use crand for PeerID gen
 	RandPeerID generates random "valid" peer IDs. it does not
 	NEED to generate keys because it is as if we lost the key
 	right away. fine to read some randomness and hash it. to
 	generate proper keys and an ID, use:
 	  sk, pk, _ := testutil.RandKeyPair()
 	  id, _ := peer.IDFromPublicKey(pk)
 	Also added RandPeerIDFatal helper
- removed old spipe
- updated seccat
- core: cleanup initIdentity
- removed old getFromPeerList
2014-12-23 08:33:32 -08:00
Juan Batiz-Benet
41751b4938 Integrated new network into ipfs 2014-12-16 14:47:29 -08:00
Juan Batiz-Benet
6ff472be61 mount: move Mount func into mount obj 2014-11-16 01:56:34 -08:00
Juan Batiz-Benet
99f2378bac mount: fixed mount init + teardown
This commit adds a Mount abstraction (which is really just
a wrapped context closer). It makes sure to bind the mount
to the fate of the Node (i.e. close it if the node ends).
This fixes #350
2014-11-16 01:42:42 -08:00
Brian Tiger Chow
ed4a8eb782 chore(tests) add Short() -> SkipNow() to slowest tests
vanilla:
    21.57 real        45.14 user         8.51 sys

short:
    14.40 real        31.13 user         5.56 sys

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-15 02:10:53 -08:00
Jeromy
4f083d54d6 write a few package doc strings to improve look of godoc 2014-11-08 21:42:36 -08:00
Juan Batiz-Benet
387d0a935d ipns test: unused import + rmv old comment 2014-11-07 14:21:12 -08:00
Jeromy
bc0e31922b probably fix the cat bug 2014-11-07 14:13:11 -08:00
Jeromy
2e2d02a741 probably fix OSX ipns bug 2014-11-07 14:13:11 -08:00
Brian Tiger Chow
de61d663b5 fix(race condition)
https://github.com/jbenet/go-ipfs/issues/270
2014-11-05 10:01:22 -08:00
Brian Tiger Chow
cea398b8a7 fix(all) log.Debug -> log.Debugf 2014-10-30 06:35:29 -07:00
Juan Batiz-Benet
184c25430b go-vet friendly codebase
- distinguish log.Error and log.Errorf functions
- Initialize structs with field names
- A bit of unreachable code (defers)
2014-10-25 03:46:39 -07:00
Brian Tiger Chow
a1b61f399c refactor(unixfs/pb) mv proto PBData -> Data, etc. 2014-10-22 21:52:59 -07:00
Brian Tiger Chow
75a860ca2b refactor(unixfs) move proto to pb package
not internal since io needs it

fix(fuse/ipns) use pb package

fix(fuse) import protos from unixfs/pb package
2014-10-22 15:54:17 -07:00
Brian Tiger Chow
a817531653 fix(fuse) named/aliased imports 2014-10-22 15:54:16 -07:00
Juan Batiz-Benet
9ca87fbb93 peer.Peer is now an interface
![](http://m.memegen.com/77n7dk.jpg)
2014-10-20 03:26:46 -07:00
Juan Batiz-Benet
972c0f7b4b u.DOut -> log.Debug
and other logging switches. I kept the u.PErr and u.POut in cli
commands, as those do need to write raw output directly.
2014-10-09 04:50:22 -07:00
Juan Batiz-Benet
6ac1170209 Skip ipns_test.TestMultiWrite in darwin 2014-10-09 03:03:57 -07:00
Juan Batiz-Benet
c565309a21 skip ipns fuse tests in travis 2014-10-09 02:59:56 -07:00
Jeromy
093c8fb04d Rework package structure for unixfs and subpackage
cc @jbenet
2014-10-08 21:14:18 +00:00
Jeromy
15a4701003 update error handling in ipns 2014-10-08 17:29:46 +00:00
Juan Batiz-Benet
2944360f5c New NameSystem interface
type NameSystem interface {
      Resolver
      Publisher
    }

should say it all.

cc @whyrusleeping
2014-10-08 04:14:52 -07:00
Juan Batiz-Benet
459e0d5373 ipns TestFastRepublish 2014-10-08 02:52:16 -07:00
Jeromy
98cde1578d integrate dagmodifier into ipns 2014-10-07 07:23:30 +00:00
Jeromy
5592030ed3 working on dag modification structures, factored out the data format into an importer subpackage and added more ipns tests 2014-10-06 03:42:59 +00:00
Jeromy
a13baff33d fixed data size reporting 2014-10-05 01:22:01 +00:00
Jeromy
16e42f82b0 fixed ipns file persistence bug 2014-10-04 22:42:03 +00:00
Jeromy
faaaa2298b Merge branch 'ipns' of github.com:jbenet/go-ipfs into ipns 2014-10-04 19:26:58 +00:00
Jeromy
25b36d1000 moved mock core node to core package 2014-10-04 19:13:56 +00:00
Juan Batiz-Benet
0c8ae7674e loggers: set level 2014-10-04 03:53:21 -07:00
Juan Batiz-Benet
7e1cd59259 initialize loggers at ERROR 2014-10-04 03:36:30 -07:00
Jeromy
c64add1959 clean up ipns test and add more asserts 2014-10-04 08:30:24 +00:00
Jeromy
5423a00894 create test node and make first ipns test pass 2014-10-04 08:00:13 +00:00
Jeromy
0c7ff7b0a8 add skeleton for ipns test, to be finished when there is a mock core.IpfsNode 2014-10-04 07:24:57 +00:00
Jeromy
11332fc73b make the tests pass! 2014-10-04 06:34:06 +00:00
Jeromy
7bb2bd6d16 a little more progress... and some debugging code 2014-10-03 23:50:05 +00:00
Jeromy
e7aa1166bc add writerAt for fuse writes 2014-10-03 23:04:41 +00:00
Jeromy
dc66b699b0 fix writes zeroing files 2014-10-03 21:36:29 +00:00
Jeromy
4727535160 fixing mutability issues in ipns 2014-10-03 19:22:54 +00:00
Jeromy
80c64ffa6d break ipns into separate files 2014-10-02 17:25:08 +00:00
Juan Batiz-Benet
19b0a28d43 security TODO warning 2014-10-01 01:31:04 -07:00
Juan Batiz-Benet
41aab9f46f comment + import nits 2014-10-01 01:30:01 -07:00
Juan Batiz-Benet
f085d594aa vendoring ipns things 2014-10-01 00:44:22 -07:00
Jeromy
9652ada0d2 implement publisher for ipns to wait until moments of rapid churn die down 2014-10-01 00:42:17 -07:00
Jeromy
54142b2173 update logging in multiple packages 2014-10-01 00:41:30 -07:00
Jeromy
ed2fbd0512 new files and directories appear to work properly 2014-10-01 00:41:30 -07:00
Jeromy
3b8b9e6847 new file creation inside ipns dirs now works 2014-10-01 00:41:29 -07:00
Jeromy
6080944af9 writing files inside ipns works now! also implemented resolve cli command 2014-10-01 00:41:29 -07:00
Jeromy
006b68b558 WIP: getting closer to being able to write in ipns dirs 2014-10-01 00:41:29 -07:00
Jeromy
7f5e13716d writes to ipns work if the top object is the written file (no directories yet!) 2014-10-01 00:39:57 -07:00
Jeromy
e61c59758b implement initial ipns filesystem interface as well as plumbing command for publishing 2014-10-01 00:39:57 -07:00
Jeromy
a65e8600a3 catch ipns branch up to master and make all things compile 2014-10-01 00:37:53 -07:00
Jeromy
c41a9717fe make disconnects and reconnects work a little better 2014-10-01 00:26:59 -07:00
Jeromy
da1890e5ef add run command 2014-10-01 00:26:59 -07:00
Jeromy
b5fd9492d7 fixes to make interface more usable 2014-10-01 00:25:52 -07:00
Brian Tiger Chow
7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00
Jeromy
275b03f814 rework dagreader to have a dagservice for node resolution 2014-09-06 22:11:44 +00:00
Jeromy
dad9751754 implement a basic data format for data inside dag nodes 2014-09-05 20:47:55 +00:00
Jeromy
691d1b36bb integrate bitswap and blockservice into the core package 2014-08-29 11:34:50 -07:00
verokarhu
fef46e44f8 mount command on windows returns an error instead of nil and adjusted unix-only code 2014-08-01 00:51:43 +03:00
verokarhu
dcd0bac8e5 disable mount command on windows for now 2014-07-31 20:04:05 +03:00
Juan Batiz-Benet
f718bd6a92 go lint
link errors left:
- protocol buffers output is not lint-friendly
2014-07-22 02:20:08 -07:00
Juan Batiz-Benet
3588f5ad25 fuse works now 2014-07-06 03:49:31 -07:00
Juan Batiz-Benet
0831928c3d using bazil.org/fuse 2014-07-06 03:22:36 -07:00
Juan Batiz-Benet
e9bc92362b fuse using github.com/hanwen/go-fuse 2014-07-06 02:27:02 -07:00