[PATCH] missing put in AFS client

David Howells (dhowells@redhat.com)
Fri, 18 Oct 2002 09:06:19 +0100


Hi Linus,

This patch fixes a bug in my AFS client in which a put of an outstanding call
was missing in the unmount cleanup code. This occasionally resulted in the AFS
module becoming unremovable.

David

diff -ur -x '*.o' -x '*.cmd' -x '*~' linux-2.5.43/fs/afs/cmservice.c afs-devel/fs/afs/cmservice.c
--- linux-2.5.43/fs/afs/cmservice.c 2002-10-16 09:25:59.000000000 +0100
+++ afs-devel/fs/afs/cmservice.c 2002-10-18 08:57:44.000000000 +0100
@@ -129,11 +129,7 @@
/* only certain signals are of interest */
spin_lock_irq(&current->sig->siglock);
siginitsetinv(&current->blocked,0);
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,3)
recalc_sigpending();
-#else
- recalc_sigpending(current);
-#endif
spin_unlock_irq(&current->sig->siglock);

/* loop around looking for things to attend to */
@@ -360,6 +356,9 @@

rxrpc_call_abort(call,-ESRCH); /* abort, dequeue and put */

+ _debug("nuking active call %08x.%d",
+ ntohl(call->conn->conn_id),ntohl(call->call_id));
+ rxrpc_put_call(call);
rxrpc_put_call(call);

spin_lock(&afscm_calls_lock);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/