diff --git a/module/os/windows/spl/spl-kstat.c b/module/os/windows/spl/spl-kstat.c index b3e60d10e65e..b49c9e635a9a 100644 --- a/module/os/windows/spl/spl-kstat.c +++ b/module/os/windows/spl/spl-kstat.c @@ -2261,9 +2261,10 @@ int spl_kstat_write(PDEVICE_OBJECT DiskDevice, PIRP Irp, return (0); } -uint64_t -getL2ArcAllocSize(arc_stats_t* arc_ptr) { - return arc_ptr->arcstat_l2_psize.value.ui64; +void +getL2ArcAllocSize(uint64_t* l2arc,arc_stats_t* arc_ptr) +{ + *l2arc = arc_ptr->arcstat_l2_psize.value.ui64; } // Added comments inline referring to perl arcstat.pl diff --git a/module/os/windows/zfs/zfs_ioctl_os.c b/module/os/windows/zfs/zfs_ioctl_os.c index 714b7240ee2f..da292bd8b3be 100644 --- a/module/os/windows/zfs/zfs_ioctl_os.c +++ b/module/os/windows/zfs/zfs_ioctl_os.c @@ -143,10 +143,12 @@ NTSTATUS zpool_zfs_get_metrics(PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_ else perf->zfs_volSize = getZvolSize(perf->name); + uint64_t l2arc=0; KSTAT_ENTER(perf_arc_ksp); int error = KSTAT_UPDATE(perf_arc_ksp, KSTAT_READ); if (!error) - perf->l2arc_alloc_size = getL2ArcAllocSize(perf_arc_ksp->ks_data); + getL2ArcAllocSize(&l2arc, perf_arc_ksp->ks_data); + perf->l2arc_alloc_size = l2arc; KSTAT_EXIT(perf_arc_ksp); Irp->IoStatus.Information = sizeof(zpool_zfs_metrics);