[OpenAFS] Read-only issues
Sergio Gelato
Sergio.Gelato@astro.su.se
Mon, 1 Nov 2004 18:36:00 +0100
* Derek Harkness [2004-11-01 11:53:40 -0500]:
> I'm a little confused. Why does my home volume keep switching to
> read-only, whenever I create a read-only replica of my root.cell?
My confusion mirrors yours. Unless your home volume is also replicated,
it shouldn't matter whether the root.cell volume is read-write or
read-only. So tell us: does your home volume have .readonly replicas?
(Not counting .backup, which is a special case.) If yes, why? Are you
willing to grant "vos release" privileges to ordinary users? (I wouldn't:
it's possible to get the VLDB into an interesting state just by interrupting
a "vos release". That's definitely not for the average user.)
> Don't I need a replica of my root.cell? What happens if I don't have a
> replica and my the server hosting the root.cell goes down? Do I loose
> access to my entire AFS cell?
It's generally a good idea to replicate root.cell (and other backbone
volumes in your AFS tree), for the reasons you point out.
> I thought the whole idea was that the
> AFS client would automagically pick which volume to use based on how
> the file was being accessed. In other words it would automatically
> switch from the read-only to the read-write volume when I open a file
> with write access.
A definite misunderstanding. If the volume _and all its parents along
the access path_ have read-only replicas, then (barring explicit -rw
flags at "fs mkmount" time) the read-only copy will be accessed.
Conventionally, /afs/.cell.name (where cell.name is the name of your cell)
is a -rw mount point for the root.cell volume. According to the rules,
all paths that begin in /afs/.cell.name will then involve read-write
volumes exclusively.
I'm guessing that your home volume already had a read-only replica, and
that by replicating root.cell you've simply made the read-only replica
reachable by the pathname you're using.
What you describe may superficially appear to be convenient, but in
reality it's hard to reconcile with the fact that the read-only replicas
usually lag behind the read-write one: you need "vos release" to bring
the read-only replicas back in sync after a change.