On Jul 29, 2004, at 12:12 PM, Monty wrote:
> On Thu, Jul 29, 2004 at 11:55:47AM -0700, Joshua Haberman wrote:
>> On Jul 27, 2004, at 10:47 PM, Monty wrote:
>>> I've decided the right thing to do in this case-- along with
>>> it to begin with-- is to bite the bullet and implement something I've
>>> wanted for a long time... a project file/data dir sanity checker and
>>> problem corrector. I'll start out with being able to check for
>>> orphaned blockfiles, and filling in silence for any completely
>>> blockfiles. That should be able to handle most cases of either
>>> completely correcting problems or at least being able to load and get
>>> to whatever's left of a damaged project.
>> I'm starting to get a little worried that the more you invest into
>> improving the current DirManager and project save/load, the more work
>> it will be to port your improvements to Mezzo.
> That has occurred to me as well. I'm not sure how different Mezzo is,
> but I'm still trying to keep things centralized to the DirManager, and
> to not affect the DirManager structure at all. Of course, if this is
> all radically different in Mezzo, that won't help at all.
It's not radically different. The most significant change is that I
tried to formalize the notion of what a DirManager is, and consequently
have a smaller set of better-defined operations. A couple examples:
1. DirManager::Ref(BlockFile*) and DirManager::CopyBlockFile() were
replaced with ManagedFileContext::GetRef().
2. All the code dealing with "locked" block files that previously lived
in Project.cpp has been moved to ManagedFileContext, with a smaller set
>> Also, the design of Mezzo::ManagedFileContext (the equivalent to the
>> current DirManager) could benefit from the scalability lessons you've
>> learned from your work on DirManager.
>> Would you consider taking a look at ManagedFileContext, and figuring
>> out what it would take to port your current work there? You will be
>> free of historical constraints like "the block file hash expects only
>> file names without slashes."
> Sure. This can't make it onto today's schedule, but it's the only
> sensible thing to do.
Cool. Let me know if you have any questions.