[fedfs-utils] [PATCH 2/3] libadmin: Fix "RPC: Can't encode arguments"

Chuck Lever chuck.lever at oracle.com
Thu Jul 2 14:38:34 PDT 2015


clnt_call(3) expects the address of the arguments, not a handle.

Fixes: 1bbee83fc7aa ('libadmin: Introduce admin_t objects')
Signed-off-by: Chuck Lever <chuck.lever at oracle.com>
---
 src/libadmin/junction.c |    4 ++--
 src/libadmin/nsdb.c     |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/libadmin/junction.c b/src/libadmin/junction.c
index 1bb8a06..085d601 100644
--- a/src/libadmin/junction.c
+++ b/src/libadmin/junction.c
@@ -376,7 +376,7 @@ admin_delete_rpc(admin_t host, rpcproc_t procedure, FedFsPath *arg)
 
 		memset((char *)&result, 0, sizeof(result));
 		host->ad_rpc_status = clnt_call(host->ad_client, procedure,
-				(xdrproc_t)xdr_FedFsPath, (caddr_t)&arg,
+				(xdrproc_t)xdr_FedFsPath, (caddr_t)arg,
 				(xdrproc_t)xdr_FedFsStatus, (caddr_t)&result,
 				host->ad_timeout);
 
@@ -458,7 +458,7 @@ admin_lookup_rpc(admin_t host, rpcproc_t procedure,
 		memset((char *)result, 0, sizeof(*result));
 		host->ad_rpc_status = clnt_call(host->ad_client,
 				procedure,
-				(xdrproc_t)xdr_FedFsLookupArgs, (caddr_t)&arg,
+				(xdrproc_t)xdr_FedFsLookupArgs, (caddr_t)arg,
 				(xdrproc_t)xdr_FedFsLookupRes, (caddr_t)result,
 				host->ad_timeout);
 
diff --git a/src/libadmin/nsdb.c b/src/libadmin/nsdb.c
index b038ce4..8901ab0 100644
--- a/src/libadmin/nsdb.c
+++ b/src/libadmin/nsdb.c
@@ -250,7 +250,7 @@ admin_get_nsdb_params_rpc(admin_t host, FedFsNsdbName *arg,
 		memset((char *)result, 0, sizeof(*result));
 		host->ad_rpc_status = clnt_call(host->ad_client,
 			FEDFS_GET_NSDB_PARAMS,
-			(xdrproc_t)xdr_FedFsNsdbName, (caddr_t)&arg,
+			(xdrproc_t)xdr_FedFsNsdbName, (caddr_t)arg,
 			(xdrproc_t)xdr_FedFsGetNsdbParamsRes, (caddr_t)&result,
 			host->ad_timeout);
 




More information about the fedfs-utils-devel mailing list