On May 2, 2008, at 5:40 PM, J. Bruce Fields wrote:
On Fri, May 02, 2008 at 05:35:47PM -0400, Chuck Lever wrote:
On May 2, 2008, at 5:26 PM, J. Bruce Fields wrote:
On Fri, May 02, 2008 at 04:58:58PM -0400, Chuck Lever wrote:
Hi Wendy-
Looking at your recent lockd-failover-by-IP changes... I'd like to
make
sure I understand this logic before I merge it into my NLM IPv6
patch
set.
In fs/lockd/svcsubs.c:
static int
nlmsvc_match_ip(void *datap, struct nlm_host *host)
{
__be32 *server_addr = datap;
return host->h_saddr.sin_addr.s_addr == *server_addr;
h_saddr is the local host's source address, not the server address,
and
is used only on multi-interface systems. Is that what you wanted
to
compare, or did you mean ->h_addr?
This is server-side code--h_saddr, last I checked, isn't even filled
in
on the client side. So the current host *is* the server.
So this API is requesting that the local host should drop locks?
It's requesting that the server-side lockd drop any locks that it's
holding on behalf of any clients that accessed the server through the
given ip address.
Okay,
that makes sense. It's not well documented in the code, though.
Could be; suggestions welcomed.
I'll add a patch to my IPv6 series, and we can look at it when we go
over 2.6.27 merge candidates.
--
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