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>

*** 22,31 **** --- 22,36 ---- /* * Copyright (c) 1991, 1998, 2001 by Sun Microsystems, Inc. * All rights reserved. */ + /* + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + #include <sys/types.h> #include <setjmp.h> #include <string.h> #ifdef notdef
*** 816,888 **** (void) sprintf(line, "NLM C %s", procnames_short_4[proc]); line += strlen(line); switch (proc) { ! case NLMPROC4_TEST: ! case NLMPROC4_GRANTED: ! case NLMPROC4_TEST_MSG: ! case NLMPROC4_GRANTED_MSG: /* testargs */ (void) strcat(line, sum_netobj("OH")); (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); break; ! case NLMPROC4_LOCK: ! case NLMPROC4_LOCK_MSG: /* lockargs */ (void) strcat(line, sum_netobj("OH")); (void) getxdr_bool(); /* Block */ (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); /* ignore reclaim, state fields */ break; ! case NLMPROC4_CANCEL: ! case NLMPROC4_CANCEL_MSG: /* cancargs */ (void) strcat(line, sum_netobj("OH")); (void) getxdr_bool(); /* Block */ (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); break; ! case NLMPROC4_UNLOCK: ! case NLMPROC4_UNLOCK_MSG: /* unlockargs */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, sum_lock4()); break; ! case NLMPROC4_TEST_RES: /* testres */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLMPROC4_LOCK_RES: ! case NLMPROC4_CANCEL_RES: ! case NLMPROC4_UNLOCK_RES: ! case NLMPROC4_GRANTED_RES: /* res */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLMPROC4_SHARE: ! case NLMPROC4_UNSHARE: (void) strcat(line, sum_netobj("OH")); (void) strcat(line, sum_share()); break; ! case NLMPROC4_NM_LOCK: /* lockargs */ skip_netobj(); /* Cookie */ (void) getxdr_bool(); /* Block */ (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); /* skip reclaim & state fields */ break; ! case NLMPROC4_FREE_ALL: (void) sprintf(line, " %s", sum_notify()); break; } check_retransmit(line, (ulong_t)xid); --- 821,893 ---- (void) sprintf(line, "NLM C %s", procnames_short_4[proc]); line += strlen(line); switch (proc) { ! case NLM4_TEST: ! case NLM4_GRANTED: ! case NLM4_TEST_MSG: ! case NLM4_GRANTED_MSG: /* testargs */ (void) strcat(line, sum_netobj("OH")); (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); break; ! case NLM4_LOCK: ! case NLM4_LOCK_MSG: /* lockargs */ (void) strcat(line, sum_netobj("OH")); (void) getxdr_bool(); /* Block */ (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); /* ignore reclaim, state fields */ break; ! case NLM4_CANCEL: ! case NLM4_CANCEL_MSG: /* cancargs */ (void) strcat(line, sum_netobj("OH")); (void) getxdr_bool(); /* Block */ (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); break; ! case NLM4_UNLOCK: ! case NLM4_UNLOCK_MSG: /* unlockargs */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, sum_lock4()); break; ! case NLM4_TEST_RES: /* testres */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLM4_LOCK_RES: ! case NLM4_CANCEL_RES: ! case NLM4_UNLOCK_RES: ! case NLM4_GRANTED_RES: /* res */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLM4_SHARE: ! case NLM4_UNSHARE: (void) strcat(line, sum_netobj("OH")); (void) strcat(line, sum_share()); break; ! case NLM4_NM_LOCK: /* lockargs */ skip_netobj(); /* Cookie */ (void) getxdr_bool(); /* Block */ (void) getxdr_bool(); /* Excl */ (void) strcat(line, sum_lock4()); /* skip reclaim & state fields */ break; ! case NLM4_FREE_ALL: (void) sprintf(line, " %s", sum_notify()); break; } check_retransmit(line, (ulong_t)xid);
*** 889,925 **** } else { (void) sprintf(line, "NLM R %s", procnames_short_4[proc]); line += strlen(line); switch (proc) { ! case NLMPROC4_TEST: /* testres */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLMPROC4_LOCK: ! case NLMPROC4_CANCEL: ! case NLMPROC4_UNLOCK: ! case NLMPROC4_GRANTED: ! case NLMPROC4_NM_LOCK: /* res */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLMPROC4_SHARE: ! case NLMPROC4_UNSHARE: /* shareres */ pl = sum_netobj("OH"); i = getxdr_u_long(); sprintf(line, "%s %s %ld", pl, nameof_stat4(i), getxdr_long()); break; ! case NLMPROC4_FREE_ALL: break; } } } --- 894,930 ---- } else { (void) sprintf(line, "NLM R %s", procnames_short_4[proc]); line += strlen(line); switch (proc) { ! case NLM4_TEST: /* testres */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLM4_LOCK: ! case NLM4_CANCEL: ! case NLM4_UNLOCK: ! case NLM4_GRANTED: ! case NLM4_NM_LOCK: /* res */ (void) strcat(line, sum_netobj("OH")); (void) strcat(line, " "); (void) strcat(line, nameof_stat4(getxdr_u_long())); break; ! case NLM4_SHARE: ! case NLM4_UNSHARE: /* shareres */ pl = sum_netobj("OH"); i = getxdr_u_long(); sprintf(line, "%s %s %ld", pl, nameof_stat4(i), getxdr_long()); break; ! case NLM4_FREE_ALL: break; } } }
*** 932,999 **** (void) sprintf(get_line(0, 0), "Proc = %d (%s)", proc, procnames_long_4[proc]); if (type == CALL) { switch (proc) { ! case NLMPROC4_TEST: ! case NLMPROC4_GRANTED: ! case NLMPROC4_TEST_MSG: ! case NLMPROC4_GRANTED_MSG: show_testargs4(); break; ! case NLMPROC4_LOCK: ! case NLMPROC4_LOCK_MSG: ! case NLMPROC4_NM_LOCK: show_lockargs4(); break; ! case NLMPROC4_CANCEL: ! case NLMPROC4_CANCEL_MSG: show_cancargs4(); break; ! case NLMPROC4_UNLOCK: ! case NLMPROC4_UNLOCK_MSG: show_unlockargs4(); break; ! case NLMPROC4_TEST_RES: show_testres4(); break; ! case NLMPROC4_LOCK_RES: ! case NLMPROC4_CANCEL_RES: ! case NLMPROC4_UNLOCK_RES: ! case NLMPROC4_GRANTED_RES: show_res4(); break; ! case NLMPROC4_SHARE: ! case NLMPROC4_UNSHARE: show_shareargs(); break; ! case NLMPROC4_FREE_ALL: show_notify(); break; } } else { switch (proc) { ! case NLMPROC4_TEST: show_testres4(); break; ! case NLMPROC4_LOCK: ! case NLMPROC4_CANCEL: ! case NLMPROC4_UNLOCK: ! case NLMPROC4_GRANTED: case NLM_NM_LOCK: show_res4(); break; ! case NLMPROC4_TEST_MSG: ! case NLMPROC4_LOCK_MSG: ! case NLMPROC4_CANCEL_MSG: ! case NLMPROC4_UNLOCK_MSG: ! case NLMPROC4_GRANTED_MSG: ! case NLMPROC4_TEST_RES: ! case NLMPROC4_LOCK_RES: ! case NLMPROC4_CANCEL_RES: ! case NLMPROC4_UNLOCK_RES: ! case NLMPROC4_GRANTED_RES: break; case NLM_SHARE: case NLM_UNSHARE: show_shareres4(); break; --- 937,1004 ---- (void) sprintf(get_line(0, 0), "Proc = %d (%s)", proc, procnames_long_4[proc]); if (type == CALL) { switch (proc) { ! case NLM4_TEST: ! case NLM4_GRANTED: ! case NLM4_TEST_MSG: ! case NLM4_GRANTED_MSG: show_testargs4(); break; ! case NLM4_LOCK: ! case NLM4_LOCK_MSG: ! case NLM4_NM_LOCK: show_lockargs4(); break; ! case NLM4_CANCEL: ! case NLM4_CANCEL_MSG: show_cancargs4(); break; ! case NLM4_UNLOCK: ! case NLM4_UNLOCK_MSG: show_unlockargs4(); break; ! case NLM4_TEST_RES: show_testres4(); break; ! case NLM4_LOCK_RES: ! case NLM4_CANCEL_RES: ! case NLM4_UNLOCK_RES: ! case NLM4_GRANTED_RES: show_res4(); break; ! case NLM4_SHARE: ! case NLM4_UNSHARE: show_shareargs(); break; ! case NLM4_FREE_ALL: show_notify(); break; } } else { switch (proc) { ! case NLM4_TEST: show_testres4(); break; ! case NLM4_LOCK: ! case NLM4_CANCEL: ! case NLM4_UNLOCK: ! case NLM4_GRANTED: case NLM_NM_LOCK: show_res4(); break; ! case NLM4_TEST_MSG: ! case NLM4_LOCK_MSG: ! case NLM4_CANCEL_MSG: ! case NLM4_UNLOCK_MSG: ! case NLM4_GRANTED_MSG: ! case NLM4_TEST_RES: ! case NLM4_LOCK_RES: ! case NLM4_CANCEL_RES: ! case NLM4_UNLOCK_RES: ! case NLM4_GRANTED_RES: break; case NLM_SHARE: case NLM_UNSHARE: show_shareres4(); break;
*** 1080,1099 **** static char * nameof_stat4(s) ulong_t s; { switch ((enum nlm4_stats) s) { ! case NLM4_GRANTED: return ("granted"); ! case NLM4_DENIED: return ("denied"); ! case NLM4_DENIED_NOLOCKS:return ("denied (no locks)"); ! case NLM4_BLOCKED: return ("blocked"); ! case NLM4_DENIED_GRACE_PERIOD: return ("denied (grace period)"); ! case NLM4_DEADLCK: return ("deadlock"); ! case NLM4_ROFS: return ("read-only fs"); ! case NLM4_STALE_FH: return ("stale fh"); ! case NLM4_FBIG: return ("file too big"); ! case NLM4_FAILED: return ("failed"); default: return ("?"); } } static enum nlm4_stats --- 1085,1104 ---- static char * nameof_stat4(s) ulong_t s; { switch ((enum nlm4_stats) s) { ! case nlm4_granted: return ("granted"); ! case nlm4_denied: return ("denied"); ! case nlm4_denied_nolocks:return ("denied (no locks)"); ! case nlm4_blocked: return ("blocked"); ! case nlm4_denied_grace_period: return ("denied (grace period)"); ! case nlm4_deadlck: return ("deadlock"); ! case nlm4_rofs: return ("read-only fs"); ! case nlm4_stale_fh: return ("stale fh"); ! case nlm4_fbig: return ("file too big"); ! case nlm4_failed: return ("failed"); default: return ("?"); } } static enum nlm4_stats