[OpenAFS-devel] Proposed change for handling backup volumes

Harald Barth haba@pdc.kth.se
Mon, 07 Jul 2003 23:50:36 +0200 (CEST)


> I've implemented a change that makes it possible to request (under control of
> a kernel module variable (on Linux under control of /proc/sys/afs/bkVolPref))
> EvalMountPoint to give preference to a backup volume (if one exists) rather
> than the RO volume (if that exists), if you are crossing a mountpoint from a
> backup volume.

As this is a change in the behaviour of the kernel, I suppose this
changes this behaviour for all users? If so, this is not something
I would use more than once at startup to change the default behaviour.

I suppose for most of us, the behaviour when traversing mountpoints from
backup volumes is of limited significance. So what would break with the
following behaviour:

In ro volume -#foo-> in ro volume foo (if available, otherwise rw)
In rw volume -#foo-> in rw volume foo
In ba volume -#foo-> in ba volume foo (if available, otherwise rw)
                        ^^

In ro volume -%foo-> in rw volume foo
In rw volume -%foo-> in rw volume foo
In ba volume -%foo-> in rw volume foo

The folks that want to "get back" to the rw side of the universe
can allways use rw (%) mountpoints, which in backup volumes have
the same behaviour as type preserving (#) mountpoints.

> Now, since this is something that can be enabled at runtime, I either need to
> add code to force re-evaluation of all mountpoints (since the result from the
> evaluation would be cached), or people who use this would need to issue any
> 'fs flushv' commands to accomplish the same on request of the user.

I don't think enabling on runtime is a good idea. The client should be
one or the other. In addition, /proc is very OS speciffic.


Warning: I'm still dreaming of several generations of backup volumes.
I do not know how that would fit into the above scheme. Multi
generations of backup volumes should probably be discussed in another
thread. 

vos backup foo -generations 

would do the same thing as vos backup foo but the created volume will
get another name. For example foo.ba<some-number> the first time and
foo.ba<some-number+1> the next time and so on. As I am painfully aware
that I do not know enough about vldb and volser stuff (but it is
probably time to change that ASAP) I do not know how much implications
such a change would have to the rest of the AFS universe.

Ok, this was not quite conforming to "Subject:" ;-)

Harald.