]> 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)
committerJeffrey Altman <jaltman@openafs.org>
Tue, 18 Jan 2011 17:54:44 +0000 (09:54 -0800)
commit8895fe0fab04d49f8c2b279d915c5f292b55c2be
tree4239ac28c3d20504b0087b3a5f0ab3c2457cbb33
parentf25cbdf09ff890846a68f619ccb1d00ab2b3c7a8
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().

Change-Id: Ia6336a3bdd0219497fd47460accddd0cd2629f00
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>
src/WINNT/afsd/cm_callback.c