Perkeep (née Camlistore) is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.
Go to file
Brad Fitzpatrick 8297d9614c localdisk: change hashing structure
Before the files were stored in directories like
sha1/012/345/sha-012345xxxxx.dat, meaning there were 4096 (16^3)
top-level directories, each with up to 4096 child directories.  We
never really did the math, and the result millions (up to 16.7
million) directories with 1 file each.

Now the hashing structure is only 256 wide (two hex digits). If we
considered 4096 files in a directory acceptable before, that means the
new scheme can go up to 256*256*4096 files (268 million), which is
about 512 times bigger than my personal Camlistore instance
now. Larger users should probably be using the diskpacked storage
backend, anyway.

On start-up, the code now migrates the old format to the new format.

Change-Id: I17f7e830c50a5b770c57ee92d51f122340a0afbb
2013-11-28 16:33:01 -08:00
.hackfests Add hackfest. 2013-01-20 12:08:58 -08:00
bin New build tool. Should even work on Windows, if Go 1.1 is available, without MinGW/msys/etc. 2013-06-11 00:55:17 +02:00
clients Merge "More work on OS X launcher." 2013-09-07 00:58:43 +00:00
cmd gofmt 2013-11-28 11:58:47 -08:00
config dev-server-config: no longer need to replicate to a sync. the sync subscribes to its source. 2013-11-24 17:11:40 -08:00
dev devcam: print out temp dir on start-up 2013-11-24 17:11:06 -08:00
doc Add func test.BrokenTest and RUN_BROKEN_TESTS to doc/environment-vars.txt 2013-11-24 15:00:16 -08:00
lib/python Send auth header with GET requests too. 2013-08-02 21:13:53 -07:00
misc buildbot/master: add Basic Auth support. 2013-11-21 21:22:12 -08:00
old all: delete pkg/blobref; convert all from *blobref.BlobRef to new blob.Ref 2013-08-03 19:54:30 -07:00
pkg localdisk: change hashing structure 2013-11-28 16:33:01 -08:00
server camlistored: log more version info at start 2013-11-28 08:55:53 -08:00
third_party Import github.com/golang/glog into third_party. 2013-11-25 13:15:15 -08:00
website Strawman web ui style guide. 2013-11-23 09:05:17 -08:00
.gitignore Add devcam to gitignore 2013-09-08 18:08:16 -07:00
.header Update header's copyright holder. 2013-09-22 19:42:41 +01:00
AUTHORS C+A: add Robert Obryk 2013-11-14 13:52:59 -08:00
BUILDING Add a BUILDING file, update HACKING, clean some stuff 2013-06-11 13:14:05 +02:00
CONTRIBUTORS C+A: add Robert Obryk 2013-11-14 13:52:59 -08:00
COPYING Add Apache license. 2011-01-27 23:00:13 -08:00
HACKING Merge "HACKING: commit message tips" 2013-10-23 18:43:38 +00:00
Makefile Add ./dev/... to multiple build targets. 2013-09-11 19:36:49 -07:00
README README: mention contributing page on here too. 2013-06-13 14:34:28 +02:00
TESTS Add a test TODO. 2013-11-24 18:28:59 -08:00
TODO more TODO 2013-11-26 19:27:03 -08:00
dev-db update dev-* scripts to use misc/devlib.pl and install binaries in gopath/bin/OS_ARCH 2012-03-27 10:37:21 -07:00
make.go verifyGoVersion: log.Fatalf was missing 'version' var 2013-10-08 11:47:45 -07:00

README

Camlistore is your personal storage system for life.

It's a way to store, sync, share, model and back up content.

It stands for "Content-Addressable Multi-Layer Indexed Storage", for
lack of a better name.  For more, see:

     http://camlistore.org/
     http://camlistore.org/docs/

Other useful files:

     BUILDING  how to compile it ("go run make.go")
     HACKING   how to do development and contribute

Mailing lists:

     http://camlistore.org/lists

Bugs and contributing:

     https://code.google.com/p/camlistore/issues/list
     http://camlistore.org/docs/contributing