]> git.michaelhowe.org Git - packages/o/openafs.git/commit
Windows: Permit cm_scache rwlock to be dropped when "Stablized"
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 3 Sep 2010 01:05:15 +0000 (21:05 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Wed, 8 Sep 2010 03:46:53 +0000 (20:46 -0700)
commita7e9c8316765b3b7a8933aafba3681e2e4d106ef
tree5499e56722c6c18d7487f10924765f36c481cc34
parentda0a17c9fc0bb54f081355ace48f0ea988dce7bc
Windows: Permit cm_scache rwlock to be dropped when "Stablized"

The cm_buf_opts_t cm_BufStabilize() function was implemented
such that holding the cm_scache_t.rw lock had to be exclusively
held until cm_BufUnstablize() was called.  Unfortunately, this
prevents using Stabilize/Unstabilize to protect the cm_scache_t
during Flush operations as the cm_scache_t.rw lock must be
acquired after the cm_buf_t mutex and not before it.

This patchset reimplements the synchronization logic using
the new CM_SCACHEFLAG_SIZESETTING flag and cm_SyncOp().

LICENSE MIT

Change-Id: Iaada83f7f3b75bb3b213b33b2399e900e48a2fbc
Reviewed-on: http://gerrit.openafs.org/2661
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit fa961c02fbb7dc54fa4c02c38dfd07c44eb696d3)
Reviewed-on: http://gerrit.openafs.org/2707
src/WINNT/afsd/cm_dcache.c
src/WINNT/afsd/cm_scache.c
src/WINNT/afsd/cm_scache.h