The Tahoe-LAFS decentralized secure filesystem.
Go to file
Zooko O'Whielacronx 79c439d026 storage: make two levels of share directories so as not to exceed certain filesystems's limitations on directory size
The filesystem which gets my vote for most undeservedly popular is ext3, and it has a hard limit of 32,000 entries in a directory.  Many other filesystems (even ones that I like more than I like ext3) have either hard limits or bad performance consequences or weird edge cases when you get too many entries in a single directory.

This patch makes it so that there is a layer of intermediate directories between the "shares" directory and the actual storage-index directory (the one whose name contains the entire storage index (z-base-32 encoded) and which contains one or more share files named by their share number).

The intermediate directories are named by the first 14 bits of the storage index, which means there are at most 16384 of them.  (This also means that the intermediate directory names are not a leading prefix of the storage-index directory names -- to do that would have required us to have intermediate directories limited to either 1024 (2-char), which is too few, or 32768 (3-chars of a full 5 bits each), which would overrun ext3's funny hard limit of 32,000.))

This closes , and please see the "convertshares.py" script attached to  to convert your old tahoe-0.7.0 storage/shares directory into a new tahoe-0.8.0 storage/shares directory.
2008-01-31 16:26:28 -07:00
bin setup: fix bin/tahoe to include .egg's from the source tree root dir as well 2008-01-01 01:51:28 -07:00
contrib tahoe_fuse: cmdline args & system test: Allow nonstandard client basedirs to be specified and update the system tests to use this feature... 2008-01-20 20:56:27 -07:00
docs install-details.html: debian 3.1 is better known as 'sarge' 2008-01-30 17:03:42 -07:00
mac better mac .app icon 2008-01-24 20:23:47 -07:00
misc tarballs: stick with setup.py's sdist command, which gives us bz2/gz/zip but not rz/7z/lrz. Closes . 2008-01-31 13:52:48 -07:00
src/allmydata storage: make two levels of share directories so as not to exceed certain filesystems's limitations on directory size 2008-01-31 16:26:28 -07:00
twisted/plugins change #!/usr/bin/python to #!/usr/bin/env python 2007-03-29 14:01:28 -07:00
windows cleanup mac and windows build code 2008-01-23 21:06:41 -07:00
_auto_deps.py _auto_deps.py: update comment 2008-01-29 13:53:21 -07:00
.darcs-boringfile setup: src/allmydata/_auto_deps.py is boring 2008-01-22 17:37:22 -07:00
COPYING.GPL new licences, move details from README to doc/install-details.html 2008-01-04 12:27:42 -07:00
COPYING.TGPPL.html more introductory doc cleanup 2008-01-04 18:09:19 -07:00
CREDITS CREDITS for nejucomo 2008-01-08 10:54:17 -07:00
ez_setup.py setup: use a customized version of ez_setup.py which bootstraps from Python-version-agnostic setuptools bootstrap eggs 2008-01-22 11:00:56 -07:00
Makefile tarballs: stick with setup.py's sdist command, which gives us bz2/gz/zip but not rz/7z/lrz. Closes . 2008-01-31 13:52:48 -07:00
README docs: some documentation updates for 0.7.0 2008-01-08 10:32:41 -07:00
README.win32 short note about building cryptopp under cywin/native on win 2008-01-07 17:50:20 -07:00
relnotes.txt docs: relnotes for 0.7.0 2008-01-08 11:01:44 -07:00
roadmap.txt updated roadmap.txt to show things that are finished and add WebDAV 2008-01-03 17:57:06 -07:00
setup.cfg setup: remove the --always-copy option, because it causes setuptools to ignore system and development apps 2008-01-22 14:05:04 -07:00
setup.py setup: require specific versions of dependencies, both at run-time (if pkg_resources is available) and at build-time, and make there be only once place where we specify those versions 2008-01-22 17:24:33 -07:00
Tahoe.home rename bin/allmydata-tahoe to bin/tahoe. Closes . 2007-10-11 03:38:24 -07:00

Welcome to the Tahoe project, a secure, decentralized, fault-tolerant
filesystem.  All of the source code is available under a Free Software, Open
Source licence.

Please see docs/about.html for an introduction, docs/install.html for install
instructions, docs/running.html for usage instructions.