Commit Graph

27 Commits

Author SHA1 Message Date
Brad Fitzpatrick 51e88cac65 Support for "planned permanodes" in pkg/jsonsign, pkg/schema and cmd/camput.
A planned permanode involves setting the contents of the permanode
(instead of a random string) as well as the OpenPGP signing time so
the resultant bytes of the blob (and thus its blobref) is deterministic.

This allows multiple independent devices (my laptops) to create the
same permanodes for the same files (photos backed up from my phone)
when offline (airplane) and then when they sync later, still only have
one permanode per unique file.  This means that tagging and other
metadata applied to permanodes on one laptop merge cleanly with
metadata from the other.
2012-07-28 16:32:31 -07:00
Brad Fitzpatrick 2fa7812557 remove more debug 2012-05-08 14:54:15 +10:00
Brad Fitzpatrick 793237b2e8 fuse: remove debugging 2012-05-08 14:52:09 +10:00
Brad Fitzpatrick ad5df4d614 fuse: remove 1 second pause during testing.
Change-Id: I6a708907ae5881b5225c0ef944b7cda7aed0cfba
2012-03-18 18:29:41 -07:00
Brad Fitzpatrick 9b9b837148 fuse: add fsync support
Change-Id: Ia7351e70437df32b16648793dfc47d11ad8fdbea
2012-03-18 18:25:09 -07:00
Brad Fitzpatrick 1ea7c0c8c9 fuse: use os.FileMode everywhere instead of uint32
Change-Id: I227990c86172c7b28ad2823badaaa3a1ce852f9a
2012-03-18 17:38:51 -07:00
Brad Fitzpatrick b2d09ed669 fuse: mknod support
Change-Id: If52bba5b9d67ac68378c26068edf437b17986788
2012-03-18 17:30:45 -07:00
Brad Fitzpatrick 7423bd6d44 fuse: add Link support
Change-Id: I263fe6ec57fdf1bbbca4e1896d2485aa0f40fd56
2012-03-18 14:53:56 -07:00
Brad Fitzpatrick 3a36a0fff9 fuse: implement Rename
this is different from how Russ documented it, so we might change it yet.

Change-Id: I992b95c5087201b5c99f8ced5e5764834bd3f664
2012-03-18 13:20:43 -07:00
Brad Fitzpatrick 22495fb473 fuse: handle RemoveRequest in serve.
Change-Id: I9d4f89340b62a60f903e64b9be04a9da4b4f4de3
2012-03-18 11:43:59 -07:00
Brad Fitzpatrick 3b690b659d fuse: readlink support
Change-Id: I81e325057bf8e6cc38a0a499ab9a8ad91ad92bcb
2012-03-18 10:16:25 -07:00
Brad Fitzpatrick 3702e2b9b5 fuse: add symlink support.
Change-Id: I42f04e1962e37c6117431046762080e3fefef650
2012-03-18 09:46:31 -07:00
Brad Fitzpatrick 9acdff1cce fuse: fix BUG. Linux works. Only FreeBSD remains.
Change-Id: Ie76906188ec797a386a77c0d32318bb14299d66c
2012-03-17 16:34:47 -07:00
Brad Fitzpatrick d1aef52044 fuse: all tests pass on Linux and OS X now.
when truncating nodes without the Handle valid bit set, seek out
all open handles for that Node.

requires maintaining mapping info between nodes and handles.

Change-Id: I27955a60dda2ca354d66e87e34b31f3894615c41
2012-03-17 16:07:42 -07:00
Brad Fitzpatrick aa65743b58 fuse: remove dead code, implemented already elsewhere.
Change-Id: I177ac8338aba45a798abfd08964f8184b19224d5
2012-03-17 16:03:22 -07:00
Brad Fitzpatrick f70c2e12c0 fuse: import time on darwin
Change-Id: Ifd43921e6f26eb3e5959732a224afb05fff8517f
2012-03-14 11:30:39 -07:00
Brad Fitzpatrick 32dab2e9ea fix write test
Change-Id: I9a9c1947024518e551a8eba3b7b0d6c08deb3516
2012-03-14 10:58:05 -07:00
Brad Fitzpatrick 93ec5aa9a8 fuse: add fuse_kernel_linux.go, forgotten earlier.
Change-Id: If3e5333ee670b6a6fce2689649c68053974abe84
2012-03-14 10:50:28 -07:00
Brad Fitzpatrick 7f722b4cd9 fuse: flag to run specific tests.
Change-Id: I53f156619ef6381f70f0af741b63b85281c71239
2012-03-14 10:49:52 -07:00
Brad Fitzpatrick d20e0504f0 fuse: get further on linux, still fails in Write.
Change-Id: I83c9651808898e7b28823a15f7c29d1f07852c52
2012-03-14 09:13:47 -07:00
Brad Fitzpatrick f6791051cc fuse: start of per-OS struct separation
Change-Id: I6b247122d9cfc43acd3c0a4ee0a07f582745955b
2012-03-13 10:30:32 -07:00
Brad Fitzpatrick d5d24f19d6 Update from rsc fuse tree.
Change-Id: Id49849c024f63afaf1d16dc1d389f3c4dabd5c78
2012-03-12 13:38:06 -07:00
Brad Fitzpatrick 935cde8b82 fuse mount code for linux (now mounts, but doesn't work)
Change-Id: Ief67800306434a9892fa2820d363e898c95157ae
2012-03-09 09:56:42 -08:00
Brad Fitzpatrick c77f1d6aa5 add mount_linux.go stub file, so at least things will compile on Linux
Change-Id: I0c6ab098ed7c2657c69fd8a0b6f3fe5336a63e0b
2012-03-06 08:48:30 -08:00
Brad Fitzpatrick 0df1fe0434 third_party: add rsc fuse library
Change-Id: I1b0514c9ae4df149340713a55bc4c961e4ef3edb
2012-03-06 08:45:50 -08:00
Brad Fitzpatrick 38a62f2e7d import snappy-go and leveldb-go
Change-Id: I591cb8f818af0f9d8fc493075eeaba1ddc435ef6
2012-02-21 01:55:20 -08:00
Brad Fitzpatrick 0714a463c9 Update from r60 to [almost] Go 1.
A lot is still broken, but most stuff at least compiles now.

The directory tree has been rearranged now too.  Go libraries are now
under "pkg".  Fully qualified, they are e.g. "camlistore.org/pkg/jsonsign".

The go tool cannot yet fetch from arbitrary domains, but discussion is
happening now on which mechanism to use to allow that.

For now, put the camlistore root under $GOPATH/src.  Typically $GOPATH
is $HOME, so Camlistore should be at $HOME/src/camlistore.org.

Then you can:

$ go build ./server/camlistored

... etc

The build.pl script is currently disabled.  It'll be resurrected at
some point, but with a very different role (helping create a fake
GOPATH and running the go build command, if things are installed at
the wrong place, and/or running fileembed generators).

Many things are certainly broken.

Many things are disabled.  (MySQL, all indexing, etc).

Many things need to be moved into
camlistore.org/third_party/{code.google.com,github.com} and updated
from their r60 to Go 1 versions, where applicable.

The GoMySQL stuff should be updated to use database/sql and the ziutek
library implementing database/sql/driver.

Help wanted.

Change-Id: If71217dc5c8f0e70dbe46e9504ca5131c6eeacde
2012-02-18 21:53:06 -08:00