Re: kernel.bkbits.net off the air

From: Andrea Arcangeli
Date: Mon Nov 10 2003 - 14:33:55 EST


On Mon, Nov 10, 2003 at 11:08:27AM -0800, H. Peter Anvin wrote:
> Andrea Arcangeli wrote:
> >
> > you must pick file2 before file1:
> >
> > you:
> >
> > do
> > get file2
> > get repo-file1-j
> > get file1
> > while file2 != file1 && sleep 10
> >
>
> Okay... I'm starting to think the sequencing requirements on these files
> may be hard to maintain across multiple levels of rsync... but perhaps
> I'm wrong, in particular if 'file2' sorts hierachially-lexically last
> and 'file1' first...

we've to start rsync three times to get them in order, 3 tcp
connections, there's no way to specify the order in the rsync command
line, infact those two sequence files can be as well outside the tree
and we can fetch temporarily in a /tmp/ directory or similar. However we
can probably hack the rsync client to be able to specify the two
sequence numbers on the command line.

It maybe also cleaner to use a slightly more complicated but more
compact algorithm, this would make a potential new rsync command line
option cleaner since only 1 sequence file would need to be specified:

do {
seq = fetch(sequence-file);
if (seq & 1)
break;
rsync
if (seq != fetch(sequence-file))
seq = 1;
} while (seq & 1 && sleep 10 /* ideally exponential backoff */)

this way only 1 sequence-file is needed for each repository that we want
to checkout. the server side only has to increase twice the same file
before and after each update of the repository, so the server side is
even simpler (with the only additional requirement that the sequence
number has to start "even"), only the client side is a bit more complicated.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/