[OpenAFS] file corruption after restoring large readonly volumes, cntd

Stefaan Stefaan <stefaan.deroeck@gmail.com>
Tue, 5 Jul 2005 14:36:01 +0200


I'd like to create readonly sites of large volumes that change rarely,
and are connected through a low-bandwidth link.  I found a thread
started by someone with the exact same problem. The approach was to
dump the volume on a portable medium, and restore it on the remote
location.  If I understand correctly there was a problem with setting
the parent ID when doing the restore.  Derrick J Brashear mentioned
he'd take a look at it if it was easy to solve.

Does anyone know what the status on this is now?

Many thanks,

Thread starts at:

--On Wednesday, August 25, 2004 12:18:06 -0400 Jeffrey Hutzelman
<jhutz@cmu.edu> wrote:

> nor does it set the parent volume ID's on vnodes in the new volume.
> The second problem will be completely fatal on namei platforms (such as
> Linux) if you ever try to move the RW volume to the site where you did
> the manual restore.  If you don't plan on ever doing that, I believe
> doing the restore is safe,=20

Doing a restore followed by a release is not safe on namei platforms. This
is because the release operation does an (unneeded, I think)
AFSVolSetIdsTypes operation at the end of the release, and configures the
volume to use the read-write ID as the parent ID. This is correct if the
volume was created by cloning the read-write or by vos release itself, but
not if it was created by vos restore -readonly, which sets the parent ID to
the same value as the volume ID.=20

There are currently no tools that can be used to do this operation the
right way. However, if you use '-overwrite incremental' instead of
'-overwrite full' when doing the restore, then the procedure you used
should produce a usable volume. (but it's too late now if you've deleted
the RO volume at the remote site. if you have done that, then you will have
to do a single full release over the slow link or wait for someone (I am
not volunteering) to write the necessary code to make 'vos restore
-readonly' create the volume with the right parent ID)