storage: add a lease-checker-and-expirer crawler, plus web status page.
authorBrian Warner <warner@allmydata.com>
Sat, 7 Mar 2009 05:45:17 +0000 (22:45 -0700)
committerBrian Warner <warner@allmydata.com>
Sat, 7 Mar 2009 05:45:17 +0000 (22:45 -0700)
commit0dee2a6036652bcaf4021bcc2811de3983c69384
tree0359d2ba3b888e853d2db581a27e53c124735c9f
parent908a460665af0742f30d7ef2d10126c6e4301fe2
storage: add a lease-checker-and-expirer crawler, plus web status page.

This walks slowly through all shares, examining their leases, deciding which
are still valid and which have expired. Once enabled, it will then remove the
expired leases, and delete shares which no longer have any valid leases. Note
that there is not yet a tahoe.cfg option to enable lease-deletion: the
current code is read-only. A subsequent patch will add a tahoe.cfg knob to
control this, as well as docs. Some other minor items included in this patch:

 tahoe debug dump-share has a new --leases-only flag
 storage sharefile/leaseinfo code is cleaned up
 storage web status page (/storage) has more info, more tests coverage
 space-left measurement on OS-X should be more accurate (it was off by 2048x)
  (use stat .f_frsize instead of f_bsize)
13 files changed:
src/allmydata/scripts/debug.py
src/allmydata/storage/crawler.py
src/allmydata/storage/expirer.py [new file with mode: 0644]
src/allmydata/storage/immutable.py
src/allmydata/storage/lease.py
src/allmydata/storage/mutable.py
src/allmydata/storage/server.py
src/allmydata/storage/shares.py [new file with mode: 0644]
src/allmydata/test/test_storage.py
src/allmydata/test/test_web.py
src/allmydata/web/common.py
src/allmydata/web/storage.py
src/allmydata/web/storage_status.xhtml