Prototype Plan Ideas

Warren Togami wtogami at redhat.com
Thu May 21 23:55:52 UTC 2009


(We agreed in IRC to go with simple cp -al based hardlinked trees for 
snapshots.  This requires that files are NOT modified if snapshotted, 
which is generally true for repositories meant to be mirrored.  This is 
simple, very fast and space efficient.)

Server
* Do not bother to write a server at first.
* Shell script to generate snapshots using cp -al, hardlink entire tree.
* Make .torrent out of the snapshot.
* Run non-modified torrent server with that .torrent.

Client (HTTP Server)
* Prototype simple HTTP server frontend glued to a torrent client
* .torrent file input
* /path/to/snapshotbase/$SNAPSHOTID/
* HTTP server must implement a fake index to show file listings from the 
.torrent.
* HTTP GET requests serve a file only when it is fully downloaded into 
the local cache.
* If not yet downloaded, put the requested file on top of a request 
queue.  This means "download first" in the torrent.

This does not handle transitioning to the next snapshot version 
transparently.  This is only a proof of concept.

Warren Togami
wtogami at redhat.com




More information about the instantmirror-list mailing list