From nobody Wed Sep 06 21:49:20 2023 X-Original-To: dev-commits-src-branches@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 4Rgwxr6Rxxz4sDrD; Wed, 6 Sep 2023 21:49:20 +0000 (UTC) (envelope-from git@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 4Rgwxr5xHlz3Xhl; Wed, 6 Sep 2023 21:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694036960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=daHs/kaQDayRC6/HahZxdD33BTh765vo44L5XoEad0w=; b=nQLbPHwKhF5s0zjCFrDZ3vHKvgI5ZevwP24YD2SsqSsGk+dadcUFQYnGZ5wy5QSLppQgR8 0WK6H7D04muDsrB5ctXqeHypQA0aC+xigz7ZL2ouI0x5TrAPPDOqG4NcyB+5aQJk6nE8ov X0MZujq6ohZXMPVo4OFAWDI7Kz1Mf/e8uig635BkifVV79H25Je1ECUC0V9o1Lm9L9wgQc ud1OhSZIm5HkVkH+mZEkbGjxBHGIplrhEPJoW4KLbXIxvYsibNJoFfHbXuYPdokXotOo9+ 7WXT7bKsnfM5HTqYtnrzi6GwrN/Yg+CsYqCh3UFgdvQU+CX5ZI/oxZJQcwDDIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694036960; a=rsa-sha256; cv=none; b=JyG/NHCFxAY2D2fN8hJXSrdLxy4OB5sRpWhmuLQ4kfHpPr6nIA2BPZ1zrOA91I2m6WWRbU uYuP4MnnJ+Dj1md0K1gDImZD1xT5JChTKVxRthnbIiwGJnPv7pJXDnlX95ZwaguHyO3A9l A3ntYLkXbt/mAPPDeBde7Rk3PeajABDQu8UpC4nvhYdMRchrgE/Q9w3XO0yN2D+k6XTfcL qeMj0qXzlQxwed1rlWXjklRK6IjxUP73/PBRBpN+unQVCUxlW+Fo2oMT14nF9MVd209AkF gnmJvI608KL0UXCwReNTPfm08f8dyjVLjQGs4+gQERwZCazWeXTHW6BdPOFaKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694036960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=daHs/kaQDayRC6/HahZxdD33BTh765vo44L5XoEad0w=; b=GfbiFzSUMLrt4zAfKgcSFVaWjlQpq6/+rP5IqX2+QbTU5DhnCuUjIxDPo1SXDKU4/zw/2t F7MQdiOarn9v/VXtFVg5fYJ1qgBk6VqABhNj+t+koq6GY5EVeHGAUhkNlGx+Fb7qmWFRp0 yg6mU/+BMvydIfK+LOyI15LKBd70oG/fgauK2wgby6yHq0O0h9yCcii92I857uIANewThe A3dQEmlDMlF7BNOXVgKWoz/IWM8nkrtE04ooqbvFz0voeBH1KE27YSn8Blnfr1MhqbOfQV 4uZp7qW98hk4xRTf4agUBcl72XvTQFSSEyCnxrWpBwL4StpdM2Psx0A8lgN0Eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 4Rgwxr50VqzYld; Wed, 6 Sep 2023 21:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 386LnKIC005647; Wed, 6 Sep 2023 21:49:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 386LnK8l005644; Wed, 6 Sep 2023 21:49:20 GMT (envelope-from git) Date: Wed, 6 Sep 2023 21:49:20 GMT Message-Id: <202309062149.386LnK8l005644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: b969a40cdf17 - stable/13 - zfsd: listen for sysevent.fs.zfs instead of misc.fs.zfs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b969a40cdf17c0242740748ec66433b7bd84f503 Auto-Submitted: auto-generated The branch stable/13 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=b969a40cdf17c0242740748ec66433b7bd84f503 commit b969a40cdf17c0242740748ec66433b7bd84f503 Author: Alan Somers AuthorDate: 2023-04-03 21:45:55 +0000 Commit: Alan Somers CommitDate: 2023-09-06 21:48:55 +0000 zfsd: listen for sysevent.fs.zfs instead of misc.fs.zfs At some point the names of these devd events changed. Probably it happened when importing OpenZFS. Before that, FreeBSD's sysevent_alloc method didn't create a "class" nvpair in the event, which led to log_sysevent using the event's ev_subclass field as its type. Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D39437 (cherry picked from commit 92642bba4db4bf1719758ac7233468bc09a0bd59) Fix zfsd unittests after 92642bba4db At the time we ensured that the more important functional tests were working, but neglected to update the unit tests. Sponsored by: Axcient (cherry picked from commit 2a0c0aea42092f89c2a5345991e6e3ce4cbef99a) --- cddl/usr.sbin/zfsd/case_file.cc | 6 +++--- cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc | 6 +++--- cddl/usr.sbin/zfsd/zfsd.cc | 2 +- cddl/usr.sbin/zfsd/zfsd_event.cc | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cddl/usr.sbin/zfsd/case_file.cc b/cddl/usr.sbin/zfsd/case_file.cc index e04dc4e6928d..ad3bb0ffc538 100644 --- a/cddl/usr.sbin/zfsd/case_file.cc +++ b/cddl/usr.sbin/zfsd/case_file.cc @@ -357,7 +357,7 @@ CaseFile::ReEvaluate(const ZfsEvent &event) { bool consumed(false); - if (event.Value("type") == "misc.fs.zfs.vdev_remove") { + if (event.Value("type") == "sysevent.fs.zfs.vdev_remove") { /* * The Vdev we represent has been removed from the * configuration. This case is no longer of value. @@ -365,12 +365,12 @@ CaseFile::ReEvaluate(const ZfsEvent &event) Close(); return (/*consumed*/true); - } else if (event.Value("type") == "misc.fs.zfs.pool_destroy") { + } else if (event.Value("type") == "sysevent.fs.zfs.pool_destroy") { /* This Pool has been destroyed. Discard the case */ Close(); return (/*consumed*/true); - } else if (event.Value("type") == "misc.fs.zfs.config_sync") { + } else if (event.Value("type") == "sysevent.fs.zfs.config_sync") { RefreshVdevState(); if (VdevState() < VDEV_STATE_HEALTHY) consumed = ActivateSpare(); diff --git a/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc b/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc index 496be07aece9..f3fea2ca83f4 100644 --- a/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc +++ b/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc @@ -397,7 +397,7 @@ TEST_F(ZfsEventTest, ProcessPoolEventGetsCalled) { string evString("!system=ZFS " "subsystem=ZFS " - "type=misc.fs.zfs.vdev_remove " + "type=sysevent.fs.zfs.vdev_remove " "pool_name=foo " "pool_guid=9756779504028057996 " "vdev_guid=1631193447431603339 " @@ -512,7 +512,7 @@ TEST_F(CaseFileTest, PoolDestroy) "pool_guid=456 " "subsystem=ZFS " "timestamp=1348867914 " - "type=misc.fs.zfs.pool_destroy "); + "type=sysevent.fs.zfs.pool_destroy "); m_event = Event::CreateEvent(*m_eventFactory, evString); ZfsEvent *zfs_event = static_cast(m_event); EXPECT_CALL(*m_caseFile, Close()); @@ -682,7 +682,7 @@ string ReEvaluateByGuidTest::s_evString( "pool_name=foo " "subsystem=ZFS " "timestamp=1360620391 " - "type=misc.fs.zfs.config_sync"); + "type=sysevent.fs.zfs.config_sync"); /* diff --git a/cddl/usr.sbin/zfsd/zfsd.cc b/cddl/usr.sbin/zfsd/zfsd.cc index 4d9e82008148..210cc4b85a44 100644 --- a/cddl/usr.sbin/zfsd/zfsd.cc +++ b/cddl/usr.sbin/zfsd/zfsd.cc @@ -245,7 +245,7 @@ ZfsDaemon::BuildCaseFiles() snprintf(evString, 160, "!system=ZFS subsystem=ZFS " - "type=misc.fs.zfs.config_sync sub_type=synthesized " + "type=sysevent.fs.zfs.config_sync sub_type=synthesized " "pool_name=%s pool_guid=%" PRIu64 "\n", poolname, poolGUID); event = Event::CreateEvent(GetFactory(), string(evString)); if (event != NULL) { diff --git a/cddl/usr.sbin/zfsd/zfsd_event.cc b/cddl/usr.sbin/zfsd/zfsd_event.cc index c333f57f9a18..5cb17192d8e5 100644 --- a/cddl/usr.sbin/zfsd/zfsd_event.cc +++ b/cddl/usr.sbin/zfsd/zfsd_event.cc @@ -279,7 +279,7 @@ ZfsEvent::Process() const } /* On config syncs, replay any queued events first. */ - if (Value("type").find("misc.fs.zfs.config_sync") == 0) { + if (Value("type").find("sysevent.fs.zfs.config_sync") == 0) { /* * Even if saved events are unconsumed the second time * around, drop them. Any events that still can't be @@ -290,7 +290,7 @@ ZfsEvent::Process() const CaseFile::ReEvaluateByGuid(PoolGUID(), *this); } - if (Value("type").find("misc.fs.zfs.") == 0) { + if (Value("type").find("sysevent.fs.zfs.") == 0) { /* Configuration changes, resilver events, etc. */ ProcessPoolEvent(); return (false); @@ -403,7 +403,7 @@ ZfsEvent::ProcessPoolEvent() const bool degradedDevice(false); /* The pool is destroyed. Discard any open cases */ - if (Value("type") == "misc.fs.zfs.pool_destroy") { + if (Value("type") == "sysevent.fs.zfs.pool_destroy") { Log(LOG_INFO); CaseFile::ReEvaluateByGuid(PoolGUID(), *this); return; @@ -418,7 +418,7 @@ ZfsEvent::ProcessPoolEvent() const Log(LOG_INFO); caseFile->ReEvaluate(*this); } - else if (Value("type") == "misc.fs.zfs.resilver_finish") + else if (Value("type") == "sysevent.fs.zfs.resilver_finish") { /* * It's possible to get a resilver_finish event with no @@ -429,7 +429,7 @@ ZfsEvent::ProcessPoolEvent() const CleanupSpares(); } - if (Value("type") == "misc.fs.zfs.vdev_remove" + if (Value("type") == "sysevent.fs.zfs.vdev_remove" && degradedDevice == false) { /* See if any other cases can make use of this device. */