From nobody Wed Aug 20 14:53:40 2025 X-Original-To: dev-commits-src-main@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 4c6Twh5KSWz64Xkn; Wed, 20 Aug 2025 14:53:40 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c6Twh32T4z3mPW; Wed, 20 Aug 2025 14:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1755701620; 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=1Wywo0qOV9FqmULNkfZFkUbVwPpEj2CzPbC9P1Wk6ug=; b=W/H4cy6+Apd3O4mhrX3Uzd1/llcCy02X4dLotSC9HJiG3OBJWWiu2vPrB5gZv8K9Q2a8Td C+9dBiNj2YeJvk3gV3p/sPJMfwo4+WzKvAoD1nYpjm6htedMqPOJwEfEM283LquGLf4RSH fIPzaPaBKphDJaIYxii4w5glYtgA1ohMJKfkHtlx8b1ku7IPjkwM4y41lo3l+K80dNNp1J DHe8KiFNI9TH5PogRztsGNSOX8NOsn2tVj7Be0yUnkySVlGis8x9ygdK9U2do5cdYXnKzL 2Evoj6bYPxJdLYsdGtJ8OPbLT/taD35H4+4hxxZab5rc7zpBeIzLhaVTAnR+Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1755701620; 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=1Wywo0qOV9FqmULNkfZFkUbVwPpEj2CzPbC9P1Wk6ug=; b=Q3YkFyoI9L4t79DLVGKqL3uv6M+1Eq/HOsjVtOe0zKdWPu0ouiTRKRfuxT8lMjLvLEZwcl ihBHi6jxSbM8s7/FIvObYGijeV04obl9nkHAEWO92nQ0JcnySgPthgW9IPUEybGTv06s1g 9LpDujNfx+cforGUF1YeuKfY9rAVbcOejxWSGeiixFS5mn8LHlcnmWeyMUwYC+fCblRHDj cNeNMgMfEbnV/w5pAzuck4NPFABAffw9Xi+30NrMODv06RvZRB0mHLiIAN4uXcJvBL0vBl iY7wke4Ps7gqjobu2oz68hF+4Ftcro5IT5DzIIRLdIrCU+C7o0hMFOF7D/ceOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1755701620; a=rsa-sha256; cv=none; b=oWk55+BHPTwcKVDPdjaBXn9Tam+alaj3YNUEiaKF4HrE9rY1zqeyqBnHS7lS6xAqOs8hJa cKtcCZUG0y1WOXUg9KmvXVZ6oy42I3uFbEv1slH2aZctb7ckqbLa2DTYpxe+svLs3q/fF5 HbJa8Op9NLznaWm9Pjf2kpcHliFfYVSCOczdX5wFZ+wmdSK0Oq4vd2wsFXYTi/3KSc697J BiAuaHjDzAptsrYHKO1GUsRCoUxuLJBIMzXsjYr75sZZuMBFMR/O9HPviKGpUuPWlPBM1c OF9r5z1MiiEcB0COMRqNQOf6H4gpiB6eRUn+jFl0A+aLgNxbU0UILPcsBoU+KA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4c6Twh2ZZXz3TZ; Wed, 20 Aug 2025 14:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 57KEreqF028513; Wed, 20 Aug 2025 14:53:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 57KEreeA028510; Wed, 20 Aug 2025 14:53:40 GMT (envelope-from git) Date: Wed, 20 Aug 2025 14:53:40 GMT Message-Id: <202508201453.57KEreeA028510@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 8ef5016f73b9 - main - libsa/zfs: simplify vdev_find_previous() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ef5016f73b9a4db8ee7b268bd27bb7246c84960 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=8ef5016f73b9a4db8ee7b268bd27bb7246c84960 commit 8ef5016f73b9a4db8ee7b268bd27bb7246c84960 Author: Gleb Smirnoff AuthorDate: 2025-08-20 14:51:14 +0000 Commit: Gleb Smirnoff CommitDate: 2025-08-20 14:51:14 +0000 libsa/zfs: simplify vdev_find_previous() An empty list case is properly covered by the cycle. Don't pass pointer to vdev being looked up, pass just id. Reviewed by: mav, imp Differential Revision: https://reviews.freebsd.org/D51911 --- stand/libsa/zfs/zfsimpl.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/stand/libsa/zfs/zfsimpl.c b/stand/libsa/zfs/zfsimpl.c index 4bfb7d4179fb..d923abeee56e 100644 --- a/stand/libsa/zfs/zfsimpl.c +++ b/stand/libsa/zfs/zfsimpl.c @@ -1035,22 +1035,19 @@ vdev_init(uint64_t guid, const nvlist_t *nvlist, vdev_t **vdevp) * STAILQ_INSERT_AFTER. */ static vdev_t * -vdev_find_previous(vdev_t *top_vdev, vdev_t *vdev) +vdev_find_previous(vdev_t *top_vdev, uint64_t id) { vdev_t *v, *previous; - if (STAILQ_EMPTY(&top_vdev->v_children)) - return (NULL); - previous = NULL; STAILQ_FOREACH(v, &top_vdev->v_children, v_childlink) { - if (v->v_id > vdev->v_id) + if (v->v_id > id) return (previous); - if (v->v_id == vdev->v_id) + if (v->v_id == id) return (v); - if (v->v_id < vdev->v_id) + if (v->v_id < id) previous = v; } return (previous); @@ -1085,7 +1082,7 @@ vdev_insert(vdev_t *top_vdev, vdev_t *vdev) * so we can use either STAILQ_INSERT_HEAD or STAILQ_INSERT_AFTER * as STAILQ does not have insert before. */ - previous = vdev_find_previous(top_vdev, vdev); + previous = vdev_find_previous(top_vdev, vdev->v_id); if (previous == NULL) { STAILQ_INSERT_HEAD(&top_vdev->v_children, vdev, v_childlink);