[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.