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;