Print this page
nfssrv: nfsstat reports zeroed data in zone

@@ -3811,14 +3811,16 @@
         data = kmem_alloc(MAXPATHLEN + 1, KM_SLEEP);
 
         if (is_referral) {
                 char *s;
                 size_t strsz;
+                kstat_named_t *stat =
+                    cs->exi->exi_ne->ne_globals->svstat[NFS_V4];
 
                 /* Get an artificial symlink based on a referral */
                 s = build_symlink(vp, cs->cr, &strsz);
-                global_svstat_ptr[4][NFS_REFERLINKS].value.ui64++;
+                stat[NFS_REFERLINKS].value.ui64++;
                 DTRACE_PROBE2(nfs4serv__func__referral__reflink,
                     vnode_t *, vp, char *, s);
                 if (s == NULL)
                         error = EINVAL;
                 else {

@@ -5890,10 +5892,11 @@
 
         for (i = 0; i < args->array_len && cs.cont; i++) {
                 nfs_argop4 *argop;
                 nfs_resop4 *resop;
                 uint_t op;
+                kstat_named_t *stat = ne->ne_globals->rfsproccnt[NFS_V4];
 
                 argop = &args->array[i];
                 resop = &resp->array[i];
                 resop->resop = argop->argop;
                 op = (uint_t)resop->resop;

@@ -5901,11 +5904,11 @@
                 if (op < rfsv4disp_cnt) {
                         /*
                          * Count the individual ops here; NULL and COMPOUND
                          * are counted in common_dispatch()
                          */
-                        rfsproccnt_v4_ptr[op].value.ui64++;
+                        stat[op].value.ui64++;
 
                         NFS4_DEBUG(rfs4_debug > 1,
                             (CE_NOTE, "Executing %s", rfs4_op_string[op]));
                         (*rfsv4disptab[op].dis_proc)(argop, resop, req, &cs);
                         NFS4_DEBUG(rfs4_debug > 1, (CE_NOTE, "%s returned %d",

@@ -5918,11 +5921,11 @@
                          * will have already returned BADXDR if op doesn't
                          * decode to legal value.  This only done for a
                          * day when XDR code doesn't verify v4 opcodes.
                          */
                         op = OP_ILLEGAL;
-                        rfsproccnt_v4_ptr[OP_ILLEGAL_IDX].value.ui64++;
+                        stat[OP_ILLEGAL_IDX].value.ui64++;
 
                         rfs4_op_illegal(argop, resop, req, &cs);
                         cs.cont = FALSE;
                 }