From nobody Fri Jun 6 00:42:12 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 4bD2Zs4ltYz5x8M3; Fri, 06 Jun 2025 00:42:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bD2Zs48zPz47p9; Fri, 06 Jun 2025 00:42:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749170533; 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: in-reply-to:in-reply-to:references:references; bh=hpKAP/7c6CosfwbeoKMJUX4r1USsfEf2sQDJyQlaNnI=; b=ke1am8CRKvVE4Tr5gWDRVNnxBjNHTxyDrvIqZT1JQvk1K4jZZi16gzAxumakRwgF3Tl+UM zJLdSyIBpDH/3J7W6JFqwzhXIL/3XbnL1QlaWl3QmJCMvKe9rF/It6bSzFSF3J6JG350QB 5FctrqaBz55//SJY2DlRuIVs67wzHGmpvxYRiKxqRwNVEYqcsKB5tS+zWrUJgiEfVmfFrK ebqyBI32UnNJrQyDk5uojY6quZwGcMT1pUviXnPwuPldNmJacW1yS5pkYmFiAuKfDa/z2w tNjVsdFZxli38IpooCp9Z8G6gmwy0I4eq+DeoMy2COmmDReVmiZqPq2ZdhR1hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749170533; 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: in-reply-to:in-reply-to:references:references; bh=hpKAP/7c6CosfwbeoKMJUX4r1USsfEf2sQDJyQlaNnI=; b=xKj45RaEV9qkbASanaOk2QX4n9r1AThb2cJrofux03IgjHNKOzPRZu4Zn7rArzsXJzBDcL AY0oK0e95QU8k9nL5CljErxA/ZMI9JEXWezu5pywYev+ZjBYKpP5oXvmtcJwcV+ajKHn37 wHmZlAyPYZwu9ieDHV8fUetvT2LKK/dR1Wc/ZVFUjigXUlmAXLbnbD1+IF0+UCarbrQsNm cG5cLv9HkHrzfFs5h+DaKWy0FJatgWa0e9r8Qx0sTzpY6JEkvOIBMGYqHn62nLfq4YN4jg Bz7BYpNlZU7M9FWdEEm1+EmuCExDdRIfWI0x8i2GE/gieKltnbM2Vps6koHdKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749170533; a=rsa-sha256; cv=none; b=uIxR+b//2a1mluHP4kpcjp7BUy5GBmlmWbJJd8xQ7W/dfKW2DWB+UVcidppEAzgUpkWfMk k8cEfoYOJ8H5cui0cSd3oEqPckRcL/MxMz+RJmlbVN/4hhBZSySb5+CoGWBpmSDqnbnqRc esKWVNSgDrhqbg3K+ea9s7R7mEuSXnJHt5WPbGAS1NJEldJcFzcGSF0UOkheERpVprfkxi n5GvLllseAD0NcLyUjMdbtVp+g/6gsOJXpDhedhGuNjo5iuk7i+Z8LSCtGTIY80TUw6IZh 5xUTNMh0Txv3a4Orp2clpLAGOSm9BsJ9rICBXBXMhbp6effVbzA5/zu4P1W8tw== Received: from [IPV6:2601:5c0:4200:b830:a1dc:a233:e9a8:3ed1] (unknown [IPv6:2601:5c0:4200:b830:a1dc:a233:e9a8:3ed1]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4bD2Zs2HY4z4ZH; Fri, 06 Jun 2025 00:42:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Thu, 5 Jun 2025 20:42:12 -0400 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 60159a98a837 - main - nvme: Move opcode and status code tables from base CAM to nvme_util.c Content-Language: en-US To: Charlie Li , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202506052106.555L6XBV089396@gitrepo.freebsd.org> <53d9ce10-191c-4edf-85d1-41b3162aefa4@freebsd.org> From: John Baldwin In-Reply-To: <53d9ce10-191c-4edf-85d1-41b3162aefa4@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/5/25 19:29, Charlie Li wrote: > John Baldwin wrote: >> The branch main has been updated by jhb: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=60159a98a83747e539eb14c6a0eaaa1875e2cacc >> >> commit 60159a98a83747e539eb14c6a0eaaa1875e2cacc >> Author: John Baldwin >> AuthorDate: 2025-06-05 21:03:01 +0000 >> Commit: John Baldwin >> CommitDate: 2025-06-05 21:03:01 +0000 >> >> nvme: Move opcode and status code tables from base CAM to nvme_util.c >> >> This makes it possible to share these tables with the nvme(4) driver >> in custom kernels that do not include any CAM support, only nvd(4). >> >> Reviewed by: imp >> Sponsored by: Chelsio Communications >> Differential Revision: https://reviews.freebsd.org/D50685 >> --- >> sys/cam/nvme/nvme_all.c | 224 --------------------------------------------- >> sys/cam/nvme/nvme_all.h | 2 - >> sys/conf/files | 2 +- >> sys/dev/nvme/nvme.h | 4 + >> sys/dev/nvme/nvme_util.c | 231 +++++++++++++++++++++++++++++++++++++++++++++++ >> 5 files changed, 236 insertions(+), 227 deletions(-) >> >> diff --git a/sys/cam/nvme/nvme_all.c b/sys/cam/nvme/nvme_all.c >> index 4145aa16ed49..2ab8ae5340c6 100644 >> --- a/sys/cam/nvme/nvme_all.c >> +++ b/sys/cam/nvme/nvme_all.c >> @@ -292,24 +130,6 @@ nvme_command_string(struct ccb_nvmeio *nvmeio, char *cmd_string, size_t len) >> return(sbuf_data(&sb)); >> } >> >> -void >> -nvme_opcode_sbuf(bool admin, uint8_t opc, struct sbuf *sb) >> -{ >> - const char *s, *type; >> - >> - if (admin) { >> - s = admin_opcode[opc]; >> - type = "ADMIN"; >> - } else { >> - s = nvm_opcode[opc]; >> - type = "NVM"; >> - } >> - if (s == NULL) >> - sbuf_printf(sb, "%s:0x%02x", type, opc); >> - else >> - sbuf_printf(sb, "%s", s); >> -} >> - >> diff --git a/sys/cam/nvme/nvme_all.h b/sys/cam/nvme/nvme_all.h >> index 17c068b825be..2bc1953e79be 100644 >> --- a/sys/cam/nvme/nvme_all.h >> +++ b/sys/cam/nvme/nvme_all.h >> @@ -42,11 +42,9 @@ struct sbuf; >> void nvme_print_ident(const struct nvme_controller_data *, const struct nvme_namespace_data *, struct sbuf *); >> void nvme_print_ident_short(const struct nvme_controller_data *, >> const struct nvme_namespace_data *, struct sbuf *); >> -void nvme_opcode_sbuf(bool admin, uint8_t opc, struct sbuf *sb); >> void nvme_cmd_sbuf(const struct nvme_command *, struct sbuf *sb); >> int nvme_command_sbuf(struct ccb_nvmeio *nvmeio, struct sbuf *sb); >> const char *nvme_command_string(struct ccb_nvmeio *nvmeio, char *, size_t); >> -void nvme_cpl_sbuf(const struct nvme_completion *cpl, struct sbuf *sbuf); >> int nvme_status_sbuf(struct ccb_nvmeio *nvmeio, struct sbuf *sb); >> const void *nvme_get_identify_cntrl(struct cam_periph *); >> const void *nvme_get_identify_ns(struct cam_periph *); >> >> > doesn't appear to be making it in nvme_all.h as the > build complains about missing nvme_opcode_sbuf() in nvme_all.c. Are you getting a link error or a compile error? I built this locally several times today to test various combinations (kernels with and without either CAM or nvme and loading nvme.ko in kernels without to make sure it worked). I also built GENERIC prior to pushing and it built fine. Sigh, so from ci.freebsd.org, it appears to be userland that is choking (libcam) rather than the kernel. I'll fix shortly (mostly it just means removing the #ifdef _KERNEL). -- John Baldwin