Windows: failover and retry for VBUSY
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 18 Jan 2012 00:46:30 +0000 (19:46 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 20 Jan 2012 17:33:51 +0000 (09:33 -0800)
commit9056d09887c84a480e0a9ee3457a9469fbb97064
tree57f8f4f751e39aefd354393892eb21784128c89e
parentf768fb95f3eb3815d6225e074c43341ed2ad5347
Windows: failover and retry for VBUSY

When a file server returns the VBUSY error for an RPC the
cache manager records the 'srv_busy' state in the cm_serverRef_t
structure binding that file server to the active cm_volume_t
object.  The 'srv_busy' was never cleared which prevents the
volume from being accessed.

Clear the 'srv_busy' flag whenever cm_Analyze() receives a
CM_ERROR_ALLBUSY error which means that all replicas have
been tried or whenever the error is not VBUSY or VRESTARTING.

FIXES 130537

Change-Id: I5020198e4f0ded1df0f64e228e699852f9de7c4d
Reviewed-on: http://gerrit.openafs.org/6563
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsd/cm_conn.c