diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2010-01-14 12:23:19 -0500 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2010-01-15 14:55:51 -0500 |
commit | cbd3a131e5c02bbd7b92a72b3ac467d71cfee1c4 (patch) | |
tree | 026b19a8311b83c5bf9a16edd7299020ff528a07 /utils/statd/callback.c | |
parent | f0d3a4bedccca7cce48296757bc1c8bd59b80828 (diff) | |
download | nfs-utils-cbd3a131e5c02bbd7b92a72b3ac467d71cfee1c4.tar.gz nfs-utils-cbd3a131e5c02bbd7b92a72b3ac467d71cfee1c4.tar.xz nfs-utils-cbd3a131e5c02bbd7b92a72b3ac467d71cfee1c4.zip |
statd: Introduce statd version of matchhostname()
For the near future, statd will support IPv6 but exportfs will not.
Thus statd will need a version of matchhostname() that can deal
properly with IPv6 remotes. To reduce the risk of breaking exportfs,
introduce a separate version of matchhostname() for statd to use while
exportfs continues to use the existing AF_INET-only implementation.
Note that statd will never send matchhostname() a hostname string
containing export wildcards, so is_hostame() is not needed in the
statd version of matchhostname(). This saves some computational
expense when comparing hostnames.
A separate statd-specific implementation of matchhostname() allows
some flexibility in the long term, as well. We might want to enrich
the matching heuristics of our SM_NOTIFY, for example, or replace
them entirely with a heuristic that is not dependent upon DNS.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'utils/statd/callback.c')
-rw-r--r-- | utils/statd/callback.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/utils/statd/callback.c b/utils/statd/callback.c index 2f98aeb..b1acd15 100644 --- a/utils/statd/callback.c +++ b/utils/statd/callback.c @@ -13,7 +13,6 @@ #include <arpa/inet.h> #include "rpcmisc.h" -#include "misc.h" #include "statd.h" #include "notlist.h" @@ -52,8 +51,8 @@ sm_notify_1_svc(struct stat_chge *argp, struct svc_req *rqstp) */ for (lp = rtnl ; lp ; lp = lp->next) if (NL_STATE(lp) != argp->state && - (matchhostname(argp->mon_name, lp->dns_name) || - matchhostname(ip_addr, lp->dns_name))) { + (statd_matchhostname(argp->mon_name, lp->dns_name) || + statd_matchhostname(ip_addr, lp->dns_name))) { NL_STATE(lp) = argp->state; call = nlist_clone(lp); nlist_insert(¬ify, call); |