[tahoe-dev] Keeping local file system and Tahoe store in sync
Shawn Willden
shawn-tahoe at willden.org
Tue Feb 3 18:11:33 PST 2009
On Tuesday 03 February 2009 06:40:13 pm Brian Warner wrote:
> It's not fast, no.. in my experiments, hashing the whole disk is at least
> several hours, and sometimes most of the day. But I think we're both
> planning to use a cheap path+timestamp+size(+inode?) lookup table and give
> the user an option of skipping the hash when the timestamps are still the
> same.
Yes, except that I'd say the user has an option of forcing the use of the hash
even though the timestamps are the same, because by default if the metadata
matches, I don't hash.
If I could see a way to compress the hashing time further I would, but at
least on my machine, which I think is fairly typical, the scanning and
hashing is I/O bound, and there's obviously no way to avoid reading the data
from disk.
> So, given a file on disk, you have to do almost the entire Tahoe upload
> process to find out what the eventual Tahoe readcap is going to be. This
> sounds like it's at odds with your plan to upload the "backuplog" before
> you finish uploading some of the actual data files. I'm not sure how to
> rectify this.
Hmmm. I knew I should have read that code... it's been on my to-do list for a
while.
Yes, that does mess up the plan to upload the backuplog before the data. I
could still do it at the expense of increasing the size of the log, by
leaving the read caps out of the log entries and appending a table that maps
hashes to read caps, but that's unpleasant.
I suppose generating the full read cap early and doing the upload later could
still be a win for users whose machines have slow upstream connections.
Another option would be to put dircaps in the backuplog, but that would
require all those key pair generations, at least the first time.
This requires some thought.
Thanks for pointing that out though. I'm pretty sure that's the only
potentially-invalid assumption I'm making.
Shawn.
More information about the tahoe-dev
mailing list