Windows: Do not remove scp from hash table on deletion
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 16 Aug 2013 16:01:55 +0000 (12:01 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 21 Aug 2013 03:27:25 +0000 (20:27 -0700)
commitacad253a357c2c97fcd8f59c489ac2c7cacba7b7
tree20a7018a6029a9447e57c7c92d7a661134e03668
parent0fb1e4762d2e5f04876726f487afeb224dd99140
Windows: Do not remove scp from hash table on deletion

If the CM_SCACHEFLAG_DELETED flag is going to have any benefit, the
cm_scache object must not be removed from the hash table in response
to a VNOVNODE error.  Otherwise, a new cm_scache object is allocated,
the CM_SCACHEFLAG_DELETED is not found, and a new callback request
is issued to the file server which in response returns VNOVNODE.

Do this enough times and the abort threshold is triggered and then
the application becomes very unhappy with performance.

Change-Id: I5c6e2495c149f52ca192d195897e2a1822cf0d14
Reviewed-on: http://gerrit.openafs.org/10141
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_vnodeops.c