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(¤t->sig->siglock);
siginitsetinv(¤t->blocked,0);
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,3)
recalc_sigpending();
-#else
- recalc_sigpending(current);
-#endif
spin_unlock_irq(¤t->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/