Print this page
195 Need replacement for nfs/lockd+klm
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Jeremy Jones <jeremy@delphix.com>
Reviewed by: Jeff Biseda <jbiseda@delphix.com>
*** 18,27 ****
--- 18,28 ----
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
*** 33,42 ****
--- 34,47 ----
* University Acknowledgment- Portions of this document are derived from
* software developed by the University of California, Berkeley, and its
* contributors.
*/
+ /*
+ * Copyright (c) 2012 by Delphix. All rights reserved.
+ */
+
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
#include <ftw.h>
#include <signal.h>
*** 217,270 ****
xdr_argument = xdr_reg1args;
xdr_result = xdr_reg1res;
local = (char *(*)()) nsmaddrproc1_reg;
break;
default:
svcerr_noproc(transp);
return;
}
} else {
switch (rqstp->rq_proc) {
case NULLPROC:
svc_sendreply(transp, xdr_void, (caddr_t)NULL);
return;
case SM_STAT:
xdr_argument = xdr_sm_name;
xdr_result = xdr_sm_stat_res;
! local = (char *(*)()) sm_status;
break;
case SM_MON:
xdr_argument = xdr_mon;
xdr_result = xdr_sm_stat_res;
! local = (char *(*)()) sm_mon;
break;
case SM_UNMON:
xdr_argument = xdr_mon_id;
xdr_result = xdr_sm_stat;
! local = (char *(*)()) sm_unmon;
break;
case SM_UNMON_ALL:
xdr_argument = xdr_my_id;
xdr_result = xdr_sm_stat;
! local = (char *(*)()) sm_unmon_all;
break;
case SM_SIMU_CRASH:
xdr_argument = xdr_void;
xdr_result = xdr_void;
! local = (char *(*)()) sm_simu_crash;
break;
case SM_NOTIFY:
xdr_argument = xdr_stat_chge;
xdr_result = xdr_void;
! local = (char *(*)()) sm_notify;
break;
default:
svcerr_noproc(transp);
return;
--- 222,277 ----
xdr_argument = xdr_reg1args;
xdr_result = xdr_reg1res;
local = (char *(*)()) nsmaddrproc1_reg;
break;
+ case NSMADDRPROC1_UNREG: /* Not impl. */
default:
svcerr_noproc(transp);
return;
}
} else {
+ /* Must be SM_PROG */
switch (rqstp->rq_proc) {
case NULLPROC:
svc_sendreply(transp, xdr_void, (caddr_t)NULL);
return;
case SM_STAT:
xdr_argument = xdr_sm_name;
xdr_result = xdr_sm_stat_res;
! local = (char *(*)()) sm_stat_svc;
break;
case SM_MON:
xdr_argument = xdr_mon;
xdr_result = xdr_sm_stat_res;
! local = (char *(*)()) sm_mon_svc;
break;
case SM_UNMON:
xdr_argument = xdr_mon_id;
xdr_result = xdr_sm_stat;
! local = (char *(*)()) sm_unmon_svc;
break;
case SM_UNMON_ALL:
xdr_argument = xdr_my_id;
xdr_result = xdr_sm_stat;
! local = (char *(*)()) sm_unmon_all_svc;
break;
case SM_SIMU_CRASH:
xdr_argument = xdr_void;
xdr_result = xdr_void;
! local = (char *(*)()) sm_simu_crash_svc;
break;
case SM_NOTIFY:
xdr_argument = xdr_stat_chge;
xdr_result = xdr_void;
! local = (char *(*)()) sm_notify_svc;
break;
default:
svcerr_noproc(transp);
return;
*** 582,591 ****
--- 589,601 ----
}
/* Get other aliases from each interface. */
merge_hosts();
+ /* Get all of the configured IP addresses. */
+ merge_ips();
+
/*
* Set to automatic mode such that threads are automatically
* created
*/
mode = RPC_SVC_MT_AUTO;