Re: [PATCH] Change prognum, versnum, minvers, and maxvers in progping to u_int32_t from u_long

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Apr 22, 2009, at 5:45 PM, Frank Filz wrote:
This fixes a problem where "rpcinfo -T transport host prognum" fails on a PPC64 because CLNT_CONTROL expects the version number to be a 32 bit quantity. u_long probably works fine on little endian machines, but won't work on big endian
machines.

Hrm. These variables are unsigned long pretty much everywhere in the legacy RPC code. And, isn't SPARC big endian? Is the real problem 32- v. 64- bit?

This might be fixed more generically by adding a type cast to CLNT_CONTROL.

Signed-off-by: Frank Filz <ffilzlnx@xxxxxxxxxx>
---
src/rpcinfo.c |    2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/rpcinfo.c b/src/rpcinfo.c
index 0170f65..698f4ca 100644
--- a/src/rpcinfo.c
+++ b/src/rpcinfo.c
@@ -1591,7 +1591,7 @@ progping (netid, argc, argv)
  CLIENT *client;
  struct timeval to;
  enum clnt_stat rpc_stat;
-  u_long prognum, versnum, minvers, maxvers;
+  u_int32_t prognum, versnum, minvers, maxvers;
  struct rpc_err rpcerr;
  int failure = 0;
  struct netconfig *nconf;

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux