[PATCH 1/11] sunrpc-enosys-when-unavail

From: Andreas Gruenbacher
Date: Mon Apr 26 2004 - 05:57:44 EST


Differentiate between program/procedure not available and other errors

Andreas Gruenbacher <agruen@xxxxxxx>, SUSE Labs

Index: linux-2.6.6-rc2/net/sunrpc/clnt.c
===================================================================
--- linux-2.6.6-rc2.orig/net/sunrpc/clnt.c
+++ linux-2.6.6-rc2/net/sunrpc/clnt.c
@@ -1018,23 +1018,28 @@ call_verify(struct rpc_task *task)
case RPC_SUCCESS:
return p;
case RPC_PROG_UNAVAIL:
- printk(KERN_WARNING "RPC: call_verify: program %u is unsupported by server %s\n",
+ if (task->tk_client->cl_prog != 100227) {
+ printk(KERN_WARNING "RPC: call_verify: program %u is unsupported by server %s\n",
(unsigned int)task->tk_client->cl_prog,
task->tk_client->cl_server);
- goto out_eio;
+ }
+ rpc_exit(task, -ENOSYS);
+ return NULL;
case RPC_PROG_MISMATCH:
printk(KERN_WARNING "RPC: call_verify: program %u, version %u unsupported by server %s\n",
(unsigned int)task->tk_client->cl_prog,
(unsigned int)task->tk_client->cl_vers,
task->tk_client->cl_server);
- goto out_eio;
+ rpc_exit(task, -ENOSYS);
+ return NULL;
case RPC_PROC_UNAVAIL:
printk(KERN_WARNING "RPC: call_verify: proc %p unsupported by program %u, version %u on server %s\n",
task->tk_msg.rpc_proc,
task->tk_client->cl_prog,
task->tk_client->cl_vers,
task->tk_client->cl_server);
- goto out_eio;
+ rpc_exit(task, -ENOSYS);
+ return NULL;
case RPC_GARBAGE_ARGS:
break; /* retry */
default:

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