* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
authorErez Zadok <ezk@cs.sunysb.edu>
Tue, 26 Jul 2005 03:31:08 +0000 (03:31 +0000)
committerErez Zadok <ezk@cs.sunysb.edu>
Tue, 26 Jul 2005 03:31:08 +0000 (03:31 +0000)
commit8d5b03fe3c4a7cea709d5442dcc6c871bccad0aa
tree51fa82de14a82adcdd5a3aeff7ad0a420a985699
parent4dc3a694a6932fd1d6506a0d3b225ab908771e3a
* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
particular fserver may need forced/lazy unmounts when it's mntfs's
are unmounted.

* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
the user specified forced_unmounts=yes in amd.conf, and this
fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
forced/lazy unmounts, then try forced/lazy unmounts.  This should
allow a hung mount point to be removed.

* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
detection code to its own function.
(check_fs_addr_change): new function to detect if the IP address
of a downed host has changed, and do various cleanups and fixups
to try and recover as best from that situation (e.g., flushing
various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
fserver in question.
(flush_srvr_nfs_cache): pass fserver as argument, so we can
selectively flush the NFS cache for a single fserver (or all of
them, if you pass NULL).
ChangeLog
amd/amd.h
amd/amq_subr.c
amd/ops_nfs.c
amd/srvr_nfs.c