[OpenAFS-devel] Defect in "backup dump" -- at least as recent as 1.2.11

Dexter 'Kim' Kimball dhk@ccre.com
Mon, 13 Jun 2005 15:59:24 -0600


Defect:       AFS backup system -- "backup dump" command erroneously dumps
every .backup volume in cell ...

Description:  A volume set refers to a fileserver that existed at one time
but has been shut down and removed from the cell.
	        The volume set tested refers to the removed fileserver,
partition .*, volumes .*.backup 
              The "backup dump" command refers to the volume set.
              
              Expected behavior: no volumes are dumped -- there is no such
fileserver
              
              Actual behavior:  all "*.backup" volumes in the entire cell
are dumped.
              
Reproducing:


I didn't want to create a bogus fileserver, so I added a bogus entry to
/etc/hosts on an existing fileserver.  

# echo "127.0.0.1 BogusFileserver" >> /etc/hosts


Still on the same fileserver, I created a volset to use to refer to the
bogus fileserver:

$ backup addvolset BOGUS

Then the volentry for the volset BOGUS -- which is where the actual
reference to the fileserver is stored:

$ backup addvole BOGUS -server BogusFileserver -partition ".*" -volu
".*\.backup"

MUST DO:  Now comment out or remove the /etc/hosts entry for
BogusFileserver.

Now the backup dump command.  "-n" means "no action" and you can use any
number for the port, it doesn't have to exist in the BUDB.

$ backup dump BOGUS /full -port 11 -n

The backup dump command returns a list of all volumes in the cell.  This
reproduces the behavior.


NOTES:

1.  The backup addvolentry command will not allow adding a volume set entry
that refers to a nonexistent fileserver.
2.  The defect exists only for a fileserver that exists in the backup
db/volset but is no longer listed in the VLDB.
3.  I reproduced the behavior for IBM AFS 3.6 2.45 and OpenAFS 1.2.11
4.  I have not tested the case where a fileserver is still running but
stores no volumes.
5.  If a specific volume is named in the volset, instead of .*\.backup, the
backup dump command attempts to dump that single volume.
6.  If a specific partition is named in the volset, instead of .*, the
backup dump command behaves identically as for partition .*

Kim Kimball




=================================
Kim (Dexter) Kimball
CCRE, Inc.
kim<dot>kimball<at>jpl.nasa.gov
dhk<at>ccre.com