[Sugar-devel] Restoring journals on newer versions of Sugar

Bernie Innocenti bernie at sugarlabs.org
Thu Jun 2 01:45:43 EDT 2011

On Wed, 2011-06-01 at 17:07 +0200, Christoph Derndorfer wrote:

> Just for the record, the process would be
> (1) to tar the Journal on every XO
> (2) copy it over to a USB drive
> (3) reflash the XOs
> (4) untar the Journal backup from the USB drive back
> to ~/.sugar/default/datastore
> Right?

> The main reason why I'm asking is that I seem to remember Martin
> Langhoff at some point mentioning that restoring the Journal while
> Sugar was running could prove to be an issue. (Unfortunately I can't
> find the thread in question at the moment.)

Indeed, on restore, the datastore could mess up the index while you're
still unpacking the tarball. You need to insert these extra steps:

 (3b) killall datastore
 (5) restart Sugar (ctrl-alt-backspace saves time)

Another clever possibility is deleting the index_clean flag from the
datastore directory just before step (5)... This will force the
datastore to reindex everything the next time, which helps recover files
lost due to bugs in older versions of the datastore.

In Dextrose we also added a "Repair Journal" function which lets the
user force an index rebuild. It's crude, but we couldn't be 100% sure
that we had caught all the odd ways in which journal objects could go
lost when the filesystem fills up or due to crashes.

Bernie Innocenti
Sugar Labs Infrastructure Team

More information about the Sugar-devel mailing list