[tahoe-dev] [tahoe-lafs] #637: support "keep this much disk space free" on Windows as well as other platforms
tahoe-lafs
trac at allmydata.org
Fri Nov 20 13:28:40 PST 2009
#637: support "keep this much disk space free" on Windows as well as other
platforms
-------------------------------+--------------------------------------------
Reporter: zooko | Owner: kevan
Type: defect | Status: assigned
Priority: major | Milestone: 1.6.0
Component: code-storage | Version: 1.3.0
Keywords: win32 easy review | Launchpad_bug:
-------------------------------+--------------------------------------------
Comment(by kevan):
The tests work okay on my Mac.
I'm not sure how closely we adhere to PEP-8 (the
[http://allmydata.org/trac/tahoe/wiki/CodingStandards CodingStandards]
page mentions it, but lots of code in tahoe-lafs ignores it), but a number
of places in the patch violate it. In particular,
* The stuff in _auto_deps.py
* Line 45 of src/allmydata/storage/server.py
* The docstring starting on line 160 of src/allmydata/storage/server.py.
* The docstring starting on line 243 of src/allmydata/storage/server.py.
On lines 42 and 46 of src/allmydata/storage/server.py, you have Windows
line endings instead of unix line endings. I'm not sure how big a deal
this is, but most of the other code seems to use unix line endings.
I don't understand why we treat a failure in the win32api system call the
same way as not having an API to determine disk usage. In the former case,
we make the server read-only and report that it has no free space. In the
latter case, we make the server writable and report that it has an
arbitrary amount of free space. To me, these errors seem like two
different expressions of the same problem -- that the server can't figure
out how much free space there is. Why not treat them the same?
Or, put another way: If the user specifies a reserved space requirement,
and we can't honor it (for whatever reason), we should make the server
read only (or at least that seems more right to me).
(this isn't so much a critique of the patch -- indeed, this is existing
behavior -- as a question that the patch makes me want to ask. Perhaps I
should open another ticket for it?)
In any case, expressions of this issue are on lines 225 and 249 of
src/allmydata/storage/server.py.
I like the tests -- I don't see any problems with them.
--
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/637#comment:23>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid
More information about the tahoe-dev
mailing list