Lee Melvin writes:
> 
>       1) an AFS command which returns all the mount points for a given volume

There is no way to do this.  Mount points are just "special" file names in
directories, and are not recorded anywhere else.  The only way to
find all the mount points for a given volume in a given cell would
be to traverse *every* directory in the cell, looking for mount
points.  This still wouldn't discover foreign mount points in *other cells*.

>       2) a mechanism for constraining file ops like 'find' or 'rdist' to
>          a single volume

Most versions of find (and almost certainly rdist) are not AFS-aware,
and cannot be made to do this easily.

Your best bet may be to think of this as a "per-volume" issue,
instead of a "per-file" issue.  Instead of having a notion of
a directory tree you replicate, you might instead think of having
a list of volumes you replicate.

To do this, you could do a "vos dump" and "vos restore" to copy
volumes over.  You can check the volume modification timestamp
to see when it's needed.  It's also possible to do incremental
vos dumps, which might save on transportation costs.

If you had some information in the volumes that you did NOT
want to copy over (perhaps different mount points underneath?),
then you could perhaps use a tool like
        /afs/umich.edu/group/itd/ftp/sysadm/perfmon/xd.c
to filter the dump file.  xd, as it stands, can change file
ownership and acl's in a vos dump.  It could probably be taught
to change other things in the dump, if you're willing to put
some work into it.  (I recently found a minor bug in xd, and I
installed a fixed version in ~ftp today.  AFS Acl's behave very
oddly if they are not sorted.)

As an alternative, there are plenty of other tools like rdist
to handle software distribution.  Depot (CMU) and synctree (UM CAEN)
spring to mind, but I'm sure there are plenty of others.

                                        -Marcus Watts
                                        UM ITD PD&D Umich Systems Group

Reply via email to