]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Fix arcstats for FreeBSD after zfetch support
authorAmeer Hamza <ahamza@ixsystems.com>
Mon, 29 Apr 2024 20:28:50 +0000 (01:28 +0500)
committerGitHub <noreply@github.com>
Mon, 29 Apr 2024 20:28:50 +0000 (13:28 -0700)
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #16141

cmd/arcstat.in

index 220f343b5b62ac80c81ad565fd19161b7e668703..c4f10a1d6d3b28eabf38aeef72d3ced351e3604f 100755 (executable)
@@ -200,6 +200,8 @@ if sys.platform.startswith('freebsd'):
 
         k = [ctl for ctl in sysctl.filter('kstat.zfs.misc.arcstats')
              if ctl.type != sysctl.CTLTYPE_NODE]
+        k += [ctl for ctl in sysctl.filter('kstat.zfs.misc.zfetchstats')
+             if ctl.type != sysctl.CTLTYPE_NODE]
 
         if not k:
             sys.exit(1)
@@ -211,8 +213,12 @@ if sys.platform.startswith('freebsd'):
                 continue
 
             name, value = s.name, s.value
-            # Trims 'kstat.zfs.misc.arcstats' from the name
-            kstat[name[24:]] = int(value)
+
+            if "arcstats" in name:
+                # Trims 'kstat.zfs.misc.arcstats' from the name
+                kstat[name[24:]] = int(value)
+            else:
+                kstat["zfetch_" + name[27:]] = int(value)
 
 elif sys.platform.startswith('linux'):
     def kstat_update():