Print this page
nfssrv: nfsstat reports zeroed data in zone

*** 1607,1627 **** if (sarg->op == NFS4ATTR_SETIT || sarg->op == NFS4ATTR_VERIT) error = EINVAL; break; /* this attr is supported */ case NFS4ATTR_GETIT: fsl = fetch_referral(sarg->cs->vp, sarg->cs->cr); if (fsl == NULL) (void) memset(&(na->fs_locations), 0, sizeof (fs_locations4)); else { na->fs_locations = *fsl; kmem_free(fsl, sizeof (fs_locations4)); } ! global_svstat_ptr[4][NFS_REFERRALS].value.ui64++; break; ! case NFS4ATTR_FREEIT: if (sarg->op == NFS4ATTR_SETIT || sarg->op == NFS4ATTR_VERIT) error = EINVAL; rfs4_free_fs_locations4(&na->fs_locations); break; --- 1607,1631 ---- if (sarg->op == NFS4ATTR_SETIT || sarg->op == NFS4ATTR_VERIT) error = EINVAL; break; /* this attr is supported */ case NFS4ATTR_GETIT: + { + kstat_named_t *stat = + sarg->cs->exi->exi_ne->ne_globals->svstat[NFS_V4]; + fsl = fetch_referral(sarg->cs->vp, sarg->cs->cr); if (fsl == NULL) (void) memset(&(na->fs_locations), 0, sizeof (fs_locations4)); else { na->fs_locations = *fsl; kmem_free(fsl, sizeof (fs_locations4)); } ! stat[NFS_REFERRALS].value.ui64++; break; ! } case NFS4ATTR_FREEIT: if (sarg->op == NFS4ATTR_SETIT || sarg->op == NFS4ATTR_VERIT) error = EINVAL; rfs4_free_fs_locations4(&na->fs_locations); break;