NFS: Clean up address comparison in __nfs_find_client()
authorChuck Lever <chuck.lever@oracle.com>
Fri, 26 Oct 2007 17:32:45 +0000 (13:32 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 30 Jan 2008 07:05:46 +0000 (02:05 -0500)
commitd45273ed6f4613e81701c3e896d9db200c288fff
tree5108c42f43de3098fe6192e192b872899c8060c1
parent6a0ed1de8ecee0cde21ea667891a03f6c84ecd66
NFS: Clean up address comparison in __nfs_find_client()

The address comparison in the __nfs_find_client() function is deceptive.
It uses a memcmp() to check a pair of u32 fields for equality.  Not only is
this inefficient, but usually memcmp() is used for comparing two *whole*
sockaddr_in's (which includes comparisons of the address family and port
number), so it's easy to mistake the comparison here for a whole sockaddr
comparison, which it isn't.

So for clarity and efficiency, we replace the memcmp() with a simple test
for equality between the two s_addr fields.  This should have no
behavioral effect.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/client.c