]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-viced-threadquota-release-holds-20080106
authorDerrick Brashear <shadow@dementia.org>
Sun, 6 Jan 2008 15:57:52 +0000 (15:57 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sun, 6 Jan 2008 15:57:52 +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 a9841e9372bb1e348e30f48de79586f21f53da18..cc36eca21fc7b21b71d345cc9c9d78826f0f1895 100644 (file)
@@ -1418,8 +1418,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;