]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-viced-threadquota-release-holds-20080106
authorDerrick Brashear <shadow@dementia.org>
Sun, 6 Jan 2008 15:57:40 +0000 (15:57 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sun, 6 Jan 2008 15:57:40 +0000 (15:57 +0000)
LICENSE IPL10

release a hold when we decline to service a host

(cherry picked from commit 342595b2aa712ca7c0f2c160f9cba304dd27d574)

src/viced/host.c

index ef1dca14003340df6b672ad3bc7d8603642512ca..811fd92164b33226840aba3184dc4e5da14363c2 100644 (file)
@@ -1440,8 +1440,11 @@ h_GetHost_r(struct rx_connection *tcon)
         * of the caller matches the identity in the host structure.
         */
        if ((host->hostFlags & HWHO_INPROGRESS) && 
-           h_threadquota(host->lock.num_waiting))
+           h_threadquota(host->lock.num_waiting)) {
+           if (!held)
+               h_Release_r(host);
            return 0;
+       }
        h_Lock_r(host);
        if (!(host->hostFlags & ALTADDR)) {
            host->hostFlags &= ~HWHO_INPROGRESS;