From nobody Wed Jul 21 17:42:39 2021 X-Original-To: bugs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2E2F812A903D for ; Wed, 21 Jul 2021 17:42:39 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GVNFq0bDBz3rdV for ; Wed, 21 Jul 2021 17:42:39 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F1DA3226D8 for ; Wed, 21 Jul 2021 17:42:38 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 16LHgcgC046081 for ; Wed, 21 Jul 2021 17:42:38 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 16LHgcS4046080 for bugs@FreeBSD.org; Wed, 21 Jul 2021 17:42:38 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 257316] kstat.zfs sysctl tree unreachable for pools with "." in the name Date: Wed, 21 Jul 2021 17:42:39 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 13.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: asomers@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-bugs@freebsd.org MIME-Version: 1.0 X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257316 Bug ID: 257316 Summary: kstat.zfs sysctl tree unreachable for pools with "." in the name Product: Base System Version: 13.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: asomers@FreeBSD.org FreeBSD exports statistics about pools and datasets via sysctl, in a tree rooted at "kstat.zfs.". One problem: "." is a legal character in pool names but it's the separator for sysctl trees. When a pool has "." in= the name its stats will still be exported and they can be viewed by iterating through all of "kstat.zfs". However, they won't be addressable by pool, and interpreting the output of "kstat.zfs" is difficult. For example: # I have a pool named "foo.bar" $ zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HE= ALTH ALTROOT foo.bar 9.50G 720K 9.50G - - 0% 0% 1.00x ON= LINE - testpool 9.50G 1.45M 9.50G - - 0% 0% 1.00x ON= LINE - # Its statistics are exported $ sysctl kstat.zfs | grep foo.bar.dataset kstat.zfs.foo.bar.dataset.objset-0x36.nunlinked: 0 kstat.zfs.foo.bar.dataset.objset-0x36.nunlinks: 0 kstat.zfs.foo.bar.dataset.objset-0x36.nread: 0 kstat.zfs.foo.bar.dataset.objset-0x36.reads: 0 kstat.zfs.foo.bar.dataset.objset-0x36.nwritten: 0 kstat.zfs.foo.bar.dataset.objset-0x36.writes: 0 kstat.zfs.foo.bar.dataset.objset-0x36.dataset_name: foo.bar # But they aren't individually addressable $ sysctl kstat.zfs.foo.bar sysctl: unknown oid 'kstat.zfs.foo.bar' $ sysctl kstat.zfs.foo sysctl: unknown oid 'kstat.zfs.foo' I think a proper solution would involve some kind of escaping of the "." character in the name. --=20 You are receiving this mail because: You are the assignee for the bug.=