]> git.michaelhowe.org Git - packages/o/openafs.git/commit
Windows: refactor cm_CheckCBExpiration multihomed
authorJeffrey Altman <jaltman@your-file-system.com>
Sun, 16 Jan 2011 20:49:02 +0000 (15:49 -0500)
committerDerrick Brashear <shadow@dementia.org>
Fri, 4 Feb 2011 18:13:52 +0000 (10:13 -0800)
commit1382795ebdcde0fea91d923714270edf4b560ded
treeb4e2c7c388f5d48f47f6689e5046c52d8a4d990b
parent25a77d00e204e082c1b5dd736cef5076bf719f02
Windows: refactor cm_CheckCBExpiration multihomed

cm_CheckCBExpiration() is refactored to make it easier
to read the decision process.  cm_CheckCBExpiration()
determines when a callback is no longer usable and as a
result the object status info should be discarded.

The windows cache manager preserves status info past
callback expiration if all of the sources of a volume
became inaccessible prior to the callback expiration
time.  The cache manager was improperly preserving the
status info for objects when the callback was issued by
a multi-homed file server when only the interface that
issued the callback is down.

A separate cm_server_t object is used to represent
each file server interface.  When one interface goes
down and others are left up, the cache manager will
now replace the down cm_server_t reference for one that
is up.  This substitution is performed as a side effect
of computing the effective downTime in cm_CBServersDownTime().

Reviewed-on: http://gerrit.openafs.org/3674
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit 8895fe0fab04d49f8c2b279d915c5f292b55c2be)

Change-Id: I43e05dde3d2f12d2130b34125a6103b22f0259e9
Reviewed-on: http://gerrit.openafs.org/3837
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/WINNT/afsd/cm_callback.c