diff options
Diffstat (limited to 'cmd/dbufstat/dbufstat.in')
-rwxr-xr-x | cmd/dbufstat/dbufstat.in | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/cmd/dbufstat/dbufstat.in b/cmd/dbufstat/dbufstat.in index 98eb79057..1d4eb39d7 100755 --- a/cmd/dbufstat/dbufstat.in +++ b/cmd/dbufstat/dbufstat.in @@ -113,6 +113,21 @@ cmd = ("Usage: dbufstat [-bdhnrtvx] [-i file] [-f fields] [-o file] " raw = 0 +if sys.platform.startswith("freebsd"): + import io + # Requires py-sysctl on FreeBSD + import sysctl + + def default_ifile(): + dbufs = sysctl.filter("kstat.zfs.misc.dbufs")[0].value + sys.stdin = io.StringIO(dbufs) + return "-" + +elif sys.platform.startswith("linux"): + def default_ifile(): + return "/proc/spl/kstat/zfs/dbufs" + + def print_incompat_helper(incompat): cnt = 0 for key in sorted(incompat): @@ -645,7 +660,7 @@ def main(): sys.exit(1) if not ifile: - ifile = '/proc/spl/kstat/zfs/dbufs' + ifile = default_ifile() if ifile is not "-": try: |