Philip Martin wrote on Fri, Nov 12, 2010 at 11:02:14 +0000:
> Daniel Shahaf <d.s_at_daniel.shahaf.name> writes:
>
> > 3. What's a reasonable strategy to hotcopy the locks?
> >
> > I've started on a patch that uses walk_digest_files() (I modified
> > that function today), but currently that patch simply does a walk
> > starting at the digest file md5("/"), and consequently it misses
> > copying the unreferenced digest file md5("/trunk").
>
> It appears you have to read/copy md5("/") and get a list of locks, then
> read/copy each lock file that still exists, then reconstruct the
> intermediate files for the locks that were copied.
>
So, for example:
- read md5("/")
* read md5("/trunk/A/mu")
+ compute md5("/trunk/A")
+ compute md5("/trunk")
* read md5("/trunk/iota")
+ compute md5("/trunk")
where the 'compute()' steps follow those of normal lock creation: read
the digest file, update list of children, write it back.
> --
> Philip
Received on 2010-11-13 13:11:16 CET