On 11/17/2010 03:38 AM, Christoph Hellwig wrote:
On Tue, Nov 16, 2010 at 09:05:11AM -0600, wkendall@xxxxxxx wrote:
When resuming a restore or doing a cumulative restore, xfsrestore
reads state information left around by the previous invocation.
This patch adds logic to determine whether or not restore is
able to make sense of the sense information.
The xfsrestore man page has also been updated to make the user
aware of the requirement to use a compatible restore and
system when resuming restores.
Shouldn't you use the opportunity to switch everything in the on-disk
layout to explicitly sized types? Seeing things like the bool types
in the persistant structures really scares me.
Just to be clear, the state information is used only for the life of
a series of restores. You restore your level 0 dump, then run restore
again on your level 1, and so on. After that the state information is not
used and would be deleted.
Given how unlikely it is for someone to start a restore on one system
and continue it on another (incompatible) system, and since your suggested
change would ripple out into all the code that touches any of the on-disk
structures, I'd prefer to simply detect a change in the size of types. I
would think that recording/checking the size of a pointer would be
sufficient, assuming your main concern is type size differences between
32-bit and 64-bit systems.