From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742310; cv=none; d=zohomail.com; s=zohoarc; b=X3B8PsO/FyUdwoDhs7zb7Wut/88649uIfWDd9oyokJPP8wnwO05tLsuWXRfT/o5/rB8j56TNHkvEhQ0lkKpPz1Yjm2QhrlpP6jGUZrV4JDBzNtim0/FHU5svRWaOGD/4TUxc6zJ3AJBC7Ctak1rpMOiOdUplpLVRsm6uxOFZ4CA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742310; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Nyr1FKlzBIy1/c0H4YJtakyzWIQGvyvtqYXrdVAUKHo=; b=asz/uHpIkcoKottBifW0BQYUFvYDUDX2l0ejUehOAaqvwnzGCUIwjSdEjTM0/C95iPACd/MllF6lqHV0oEqwIWsHqbVgd6THkNoDjgI9XM9rqZLQ8bY7VcWihr9P8ZFtMy9cX4JZlOf+pR7PmKSAbpESYzJGPXXyBBNC73C7A7w= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 161774231082129.229616617239344; Tue, 6 Apr 2021 13:51:50 -0700 (PDT) Received: from localhost ([::1]:36680 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTsft-000574-Hm for importer@patchew.org; Tue, 06 Apr 2021 16:51:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33978) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsau-0002BC-7n; Tue, 06 Apr 2021 16:46:40 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:37175) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsaq-0001X9-Kt; Tue, 06 Apr 2021 16:46:39 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.west.internal (Postfix) with ESMTP id 1EDAF13A0; Tue, 6 Apr 2021 16:46:34 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 06 Apr 2021 16:46:34 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 7079B24005B; Tue, 6 Apr 2021 16:46:31 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=Nyr1FKlzBIy1/ c0H4YJtakyzWIQGvyvtqYXrdVAUKHo=; b=aQW8OKACfUCjst9rtabpAZqIpsWih SoZKXceeKpbaYuzksMVw/MVaQsbAmo/nWo9PruSCGKc9d/XHy/EuXmm2Vs4yfFFz 7yHSb9c5K7fxnBX4CFXHzG2aztl9airrkrykEchVZKkh/Ns02j2ROVrEx7RHXK0D gHOWw2CQc6oRP31LD4U/+F298ZHa28cZXXJLJ4RGzIonBuuNWZhKZanPKA+9IPJC Y+RDv0hn7D69HC+g5M3axZ+1l7fyfAod6xeXca5HpAyNXmR9p+H39Nk7/NvktZ8D 4o0yRXAwqTm0uXBii0Ss0ZK5YgQsuPeGKUfCBnh66VaCCpBGIfGaDiyGw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=Nyr1FKlzBIy1/c0H4YJtakyzWIQGvyvtqYXrdVAUKHo=; b=CmVTCYgD mLUsarcT0kR63CLw/DlX+dMjOyBAYmsdVDk9eMTkZm6Oce9xygtuIMxHjvBSv6K1 3k16jWnsvZ3YgqjsmjhjNdO2C2RH5z/DUb2UiC7QHpGm1JUSAKXg5Qaov++uQ0Dd Xm/Sdoaky29woZV6rLVw0lYDR9dzrBeCaLhTaaJAw1XuLB/B0BKJ1vT/asshbiTm H2qSHAUql5/6jefI3ZHCX2fV+lfxAMh9he3pt+rxSaZ9iUkwT9Rd+btwgsHUAcQH MgKyJnepGdGSmhiOWqJK9Y3hpG0EQDEyziuCWEWP3vYg7ao34vA81u+NcCis18US k47YuEiGdSBXZw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 1/7] hw/block/nvme: fix pi constraint check Date: Tue, 6 Apr 2021 22:46:21 +0200 Message-Id: <20210406204627.140812-2-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.27; envelope-from=its@irrelevant.dk; helo=wnew2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Gollu Appalanaidu , Max Reitz , Klaus Jensen , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen Protection Information can only be enabled if there is at least 8 bytes of metadata. Signed-off-by: Klaus Jensen Reviewed-by: Gollu Appalanaidu Reviewed-by: Keith Busch --- hw/block/nvme-ns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.c index 7f8d139a8663..ca04ee1bacfb 100644 --- a/hw/block/nvme-ns.c +++ b/hw/block/nvme-ns.c @@ -394,7 +394,7 @@ static int nvme_ns_check_constraints(NvmeNamespace *ns,= Error **errp) return -1; } =20 - if (ns->params.pi && !ns->params.ms) { + if (ns->params.pi && ns->params.ms < 8) { error_setg(errp, "at least 8 bytes of metadata required to enable " "protection information"); return -1; --=20 2.31.1 From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742293; cv=none; d=zohomail.com; s=zohoarc; b=k09UYMMvQnMiA+jSlIMchJph7zL7k0ZWXNoUygdKbTJIyv0LP07ljIXqfqhHwkYMeU++yIQTG+sazwl8xE/lX17GEn1LOdGyhM5niRWUJ/J/YV4wBiHV+V0JEuaU9/4eNbmv9CDX88+u8N35J6oppf/Y6jUNEZjGIUwq4BRL9eg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742293; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ehl9uwxhCdQZ3X9GgRyTHcKkodPcs+CwbWNeqBnyNNU=; b=FAVCxY+0IxzoC1eTJJD8Gucxw14EBBFXd3A45YRTHtiGSyR0Sw+jAvLJRvNrenLTjLi+cL4U7E65aHqwcJal8H74Heo9JFH8tem6bUlIcsUF7pzPolMBn/a0XCk92j8y87BHEsxeWHKxT0TIF3YS4Lizj5jTE59iIFUUwx5Lq0I= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617742292723778.7300447978224; Tue, 6 Apr 2021 13:51:32 -0700 (PDT) Received: from localhost ([::1]:35998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTsfb-0004kK-6h for importer@patchew.org; Tue, 06 Apr 2021 16:51:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33970) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsat-0002Ag-LG; Tue, 06 Apr 2021 16:46:39 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:38651) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsar-0001XE-11; Tue, 06 Apr 2021 16:46:39 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.west.internal (Postfix) with ESMTP id DC7671400; Tue, 6 Apr 2021 16:46:34 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Tue, 06 Apr 2021 16:46:35 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 0BD8424005C; Tue, 6 Apr 2021 16:46:32 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=Ehl9uwxhCdQZ3 X9GgRyTHcKkodPcs+CwbWNeqBnyNNU=; b=tm8aKelECeNHhZxs/811RAi2xYoE3 uaQf7nUe/1M/1bO84OzqNTONIZAzUFBGgErfusbTWjqeHuzjmGPYYmbGXmq15qoW WgjKaOWX5eoFAtvIjKCOK9o5TpSrf9jkghBGZ9M6jbX6rOqTK8cItOJByN+/jwuV VmtQVF/QZIvM+qyh4XZ7bb6Yu9xzl6X4xGjRdUTHhuhkfZeOpK4mimt3XhY5CdYs FgGZL/ZAxjnpWlR0n1Pe1+NFU8JtUZbpJx3XTJ7s+OuOWApriLtPgUKeyst31bWW iFGEusNWRSA08dYdu3ah2YXDGPlPLo977paeK0kyOB6VlTfL3K96Hakcg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=Ehl9uwxhCdQZ3X9GgRyTHcKkodPcs+CwbWNeqBnyNNU=; b=XcgkRjdD 4a+/2W/xJeoU7ij0+E0gjYTUKmeAuaYqZpFsUm66BcaVbf1V65FT/q6ILBen8Ism vGeF00Y+PYr7xVNvrqG/Chn2QrB2a7mcbbj8kOlhMZs04Vq5ac1zir9BktogBWuU mQZd1wFShoIclUc4j0pkalbbg72DHXS4KZ0j7UV1mw8hswLUcF1aJ7CU8AZbfJaA q5Y/OFDu44tgHYSvxF/Qv4KQoeVagm8CPQ9X6yxPuYmz8rN4IW4E33Fv4ApcaMac bQON5qAjIw7RBqmn/R+5QWG1QhFfxYz2zRFDxTRdjQpvtCR0eb19wXSMEQ6gzIue Pa9QsOdr8WcLJA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 2/7] hw/block/nvme: fix missing string representation for ns attachment Date: Tue, 6 Apr 2021 22:46:22 +0200 Message-Id: <20210406204627.140812-3-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.27; envelope-from=its@irrelevant.dk; helo=wnew2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Gollu Appalanaidu , Max Reitz , Klaus Jensen , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen Add the missing nvme_adm_opc_str entry for the Namespace Attachment command. Signed-off-by: Klaus Jensen Reviewed-by: Gollu Appalanaidu Reviewed-by: Keith Busch --- hw/block/nvme.h | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/block/nvme.h b/hw/block/nvme.h index 5b0031b11db2..9edc86d79e98 100644 --- a/hw/block/nvme.h +++ b/hw/block/nvme.h @@ -86,6 +86,7 @@ static inline const char *nvme_adm_opc_str(uint8_t opc) case NVME_ADM_CMD_SET_FEATURES: return "NVME_ADM_CMD_SET_FEATURES"; case NVME_ADM_CMD_GET_FEATURES: return "NVME_ADM_CMD_GET_FEATURES"; case NVME_ADM_CMD_ASYNC_EV_REQ: return "NVME_ADM_CMD_ASYNC_EV_REQ"; + case NVME_ADM_CMD_NS_ATTACHMENT: return "NVME_ADM_CMD_NS_ATTACHMENT= "; case NVME_ADM_CMD_FORMAT_NVM: return "NVME_ADM_CMD_FORMAT_NVM"; default: return "NVME_ADM_CMD_UNKNOWN"; } --=20 2.31.1 From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742552; cv=none; d=zohomail.com; s=zohoarc; b=ajfCGHHu7WYbDtGXHOAW3X5QnAeU/YvlqmkfHq3Xk3jn5ERAVEUdCAfcDwsSlzl+AeNQwJaZAdZmfot3E729H65mqI8uCnqXjh9xVpyLesvU/riMfM6epj+QUSep86ibZgl/4izhgotnxjgLeQlAlrKyW7T72SJKd+TNYxGihPM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742552; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Crc5lY8+8kAgyfg0VFPjqfXIPSIUBFx9BFUoUUZKTVo=; b=H7NKN7mL3V+dVh+vK5FabBIUTwb5TJxY/XjCuYF7U4w3VBGzxrF4B3joXrHMi6yP6FHTpq/j0VVUebMlTmd8lOykbKwXLRo6Bz6+EIVd+7vYrueugoulsAmxvNizDKDT+a/YeYtYNQhk/0v6hJrSIqZOYRjcQcOXpDOUIFyGWfA= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617742552172544.0027599554238; Tue, 6 Apr 2021 13:55:52 -0700 (PDT) Received: from localhost ([::1]:44204 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTsjn-00089Q-3R for importer@patchew.org; Tue, 06 Apr 2021 16:55:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33980) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsau-0002Bd-Hc; Tue, 06 Apr 2021 16:46:40 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:51483) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsas-0001YO-RQ; Tue, 06 Apr 2021 16:46:40 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.west.internal (Postfix) with ESMTP id 69A7B1425; Tue, 6 Apr 2021 16:46:36 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 06 Apr 2021 16:46:37 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 9DAAB240057; Tue, 6 Apr 2021 16:46:34 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=Crc5lY8+8kAgy fg0VFPjqfXIPSIUBFx9BFUoUUZKTVo=; b=hjc0IefsIj9eMOx+YKpH+2aO9hEOi YN6mQEvCD0+6TKWt1KVahHQ1kgfwS7r2Wix9V60EAsVcxrzNa43eIEcfvSauXDrB ifEYFN7F+2/lAQScv/zi3i6Wp8H48Zhdwn3qIgrnED3yAGTLG/K/keWomj0DIUTt 8a+FeUhyV0Xu3AsKzBW8HmvpuD3sW6duPW6ptWnR0+iEOZP50zOPWMAaflZQp8Ew 01dkjhxhnFuaN6s/GqWSrxa1nXHjp8omfyFmgS1A6GpC6YSacRmE+JqoCbm3toVr YIsyhM//URhIMMcRlnXtXqe/yqDH4LL2m+swmLi5J7Z0uL7TuX7y62+kA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=Crc5lY8+8kAgyfg0VFPjqfXIPSIUBFx9BFUoUUZKTVo=; b=PydOXuOx DjULXqsxUeztUGzKb8aZsVPjvQwad3sbtB1aALmw/upf0hiaQhCAk24vHrWrQSWG 1UoC/u0/lVep8/0hQEC/e0ToMOZmwPeo8JU3vkEiCHeLVviIvdybKVgNVSKMn5AQ 1ElMiA2WPpoqeGwVFOM5huYs2NFLxoryectCSqpJ55FcrXVYpS/qL/reVkR4X8sz /mnjDQRfnvY5gjq6HpTuBVhU0x5+BFZbRjeebW7C3sedWakt2aNhEatpMJgkqNdJ MJjCARRWXOKXP1fgUCZZEdDU/BB4vkbIflUk+yazZwrpkbMtSszs2jetPEPU69J0 Yb7KIWGX0NR+Sw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgepud enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 3/7] hw/block/nvme: fix the nsid 'invalid' value Date: Tue, 6 Apr 2021 22:46:23 +0200 Message-Id: <20210406204627.140812-4-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.27; envelope-from=its@irrelevant.dk; helo=wnew2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Gollu Appalanaidu , Max Reitz , Klaus Jensen , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen The `nvme_nsid()` function returns '-1' (FFFFFFFFh) when the given namespace is NULL. Since FFFFFFFFh is actually a valid namespace identifier (the "broadcast" value), change this to be '0' since that actually *is* the invalid value. Signed-off-by: Klaus Jensen Reviewed-by: Gollu Appalanaidu Reviewed-by: Keith Busch --- hw/block/nvme-ns.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/block/nvme-ns.h b/hw/block/nvme-ns.h index 9ab7894fc83e..82340c4b2574 100644 --- a/hw/block/nvme-ns.h +++ b/hw/block/nvme-ns.h @@ -96,7 +96,7 @@ static inline uint32_t nvme_nsid(NvmeNamespace *ns) return ns->params.nsid; } =20 - return -1; + return 0; } =20 static inline bool nvme_ns_shared(NvmeNamespace *ns) --=20 2.31.1 From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742861; cv=none; d=zohomail.com; s=zohoarc; b=JP+RKt89h9tDco1vwJ5AAKD0SEEnsHtWjbHlKtr1wUI3fRPjfKEw2cAG1vVRe0+5kY3QKCjfykFbwM9SQFWa9MtkIUBBg63deA2VFW53Md8yZttIrgvWYu0pi9ZHO8aCGIQwNEhBRWsyPdUWSppvk8tPHYDBMV5v1lsJlAZZ13s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742861; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=weMSRVXTf60n3ESV7JtZnQQPeh6az/lUiqnAZxFrNPQ=; b=gYeMhQrISaQuYce9Xf9VGpvsSWEqGXBNw0ikvCm4wYGtEjb3iZ0jPpAve8bzOkHEHRKrz0T5mo4r52JMKS8J0x48v/kmPI3j9t9soS51gmmlFQCwfAeGRFfcshF+wNoMQvhOVeQAWfq1PONHxegGTJbocu31ns9M2uQ1dgspeUA= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617742861786625.8396781564352; Tue, 6 Apr 2021 14:01:01 -0700 (PDT) Received: from localhost ([::1]:54032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTsol-0003mw-UU for importer@patchew.org; Tue, 06 Apr 2021 17:01:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34000) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsaz-0002CQ-EZ; Tue, 06 Apr 2021 16:46:45 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:60679) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsau-0001Ym-K2; Tue, 06 Apr 2021 16:46:45 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.west.internal (Postfix) with ESMTP id 179461407; Tue, 6 Apr 2021 16:46:38 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 06 Apr 2021 16:46:38 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 39C1824005B; Tue, 6 Apr 2021 16:46:36 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=weMSRVXTf60n3 ESV7JtZnQQPeh6az/lUiqnAZxFrNPQ=; b=kx5iUaYeCjCFnInu5MZGmmx3Ij32F F99vnrNcaeb7zfKskruS+SY/utBoYOb8GxT4Hdl/DtF4ssFEvJlgtEDtYtv2N1Go 92tSSu4vmzFR3ntDiw+Fu4UOe1PsA/GvU5QJvLhYvfjrTj2AWEFppAtYNQRi6W1Q MirecKr+iepZNmYFQIOBV8K/yNpcmUn3KV5fmw7tJL5PYGdoibCP+gqILVPZ+AsV OlMCvJpH7FGBkk45kzJU184TNIznPyhHLWhqzIbYynLLRf9/CrpStPX5xwVZLl0I pHcmfV4JaoDbOzpTFfoCvec0jo4taQWXrvEeGGmg85BnPQU59xVc9lBxw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=weMSRVXTf60n3ESV7JtZnQQPeh6az/lUiqnAZxFrNPQ=; b=qHO45h07 7QkJl3UPhqUnJyAB4570C08uxli/9+WZRVfuJzSWAKloIpvL4WynjpF3PvjCkn8h //AnRZzHBbQDTrmhcRdlMURxEETSnmg0ye6LKHusFXoapWCOQrWlNY7k0cIwkhLl QIoKAUsRHBAfiJPkLwOqNvfqP1fvGchOhL9YGt7Wqn1W5PpP5Ms/8shThv2UL3AY S2mBTbmPzn1fS6C19+D9BjxfTJRnJamzGC/6AF1nK4KEgL1zuXDHN6J47nc0Rqo6 tlNdMzH2P+0wNtonODC9uQjXuD6jHzNUSVesMf5vqf+pNZLQTyqFjcv78Y+evuiX XxWfyVMq3Ni/ww== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgepud enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 4/7] hw/block/nvme: fix warning about legacy namespace configuration Date: Tue, 6 Apr 2021 22:46:24 +0200 Message-Id: <20210406204627.140812-5-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.27; envelope-from=its@irrelevant.dk; helo=wnew2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Gollu Appalanaidu , Max Reitz , Klaus Jensen , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen Remove the unused BlockConf from the controller structure and fix the constraint checking to actually check the right BlockConf and issue the warning. Signed-off-by: Klaus Jensen Reviewed-by: Gollu Appalanaidu Reviewed-by: Keith Busch --- hw/block/nvme.h | 1 - hw/block/nvme.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/block/nvme.h b/hw/block/nvme.h index 9edc86d79e98..8d1806cc942f 100644 --- a/hw/block/nvme.h +++ b/hw/block/nvme.h @@ -166,7 +166,6 @@ typedef struct NvmeCtrl { NvmeBar bar; NvmeParams params; NvmeBus bus; - BlockConf conf; =20 uint16_t cntlid; bool qs_created; diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 7244534a89e9..09c38fb35e0d 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -5805,7 +5805,7 @@ static void nvme_check_constraints(NvmeCtrl *n, Error= **errp) params->max_ioqpairs =3D params->num_queues - 1; } =20 - if (n->conf.blk) { + if (n->namespace.blkconf.blk) { warn_report("drive property is deprecated; " "please use an nvme-ns device instead"); } --=20 2.31.1 From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742957; cv=none; d=zohomail.com; s=zohoarc; b=mCw6G2h7jcvxjWBlVq+rWOizcuAH/nmXsGzvj5OgvgsApwdWnh8g5i2mqpNljh3UaRPesUKYbPM8hJoMBccsbK8VAIXQ6OL4jrtsjoAbq30RmQyrUg5ujXc7OZHDflema/mXhULCFKeQOYNxsU7m3mOMMPOcc4ON4gMnd9j8z2c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742957; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xDUhosuBbLDU0K1B3DBX8t/+krTqG5VpGGmDeVQV7Bg=; b=dnylKULmv9Eg+PtyvCnYBO1qDKPlQq+t0OKMrqFPD+JVzIk38txlFZKInCHYlAah1Avh9Nsv5uaWSJlR5KwR/HXXV/4wlffOFsi+UD8HezG+X8D4YHAzwiNRFRkfGzWGuGmr+v4vB2MDAITbVWL6kmluiWnMwsDb8uYJPk1qkf8= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617742957844440.21686214279293; Tue, 6 Apr 2021 14:02:37 -0700 (PDT) Received: from localhost ([::1]:55424 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTsqK-0004UB-JW for importer@patchew.org; Tue, 06 Apr 2021 17:02:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsb4-0002E3-Bi; Tue, 06 Apr 2021 16:46:51 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:55017) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsaz-0001aJ-F7; Tue, 06 Apr 2021 16:46:50 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailnew.west.internal (Postfix) with ESMTP id 3208B1429; Tue, 6 Apr 2021 16:46:40 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Tue, 06 Apr 2021 16:46:40 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id CDA5D240057; Tue, 6 Apr 2021 16:46:37 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=xDUhosuBbLDU0 K1B3DBX8t/+krTqG5VpGGmDeVQV7Bg=; b=pyj32/Fr26JAMtDLXAqTOjNpqC8g9 RCrWqaC0KBZ0avUYoEqAwugOe44VZm5v4onEDDf73of+dmSGSCIiB0XUfq49TEf6 1S4HShCPpXumIfxDf5IUL3RWIoABeDbJsllkbdDcYve4SxdTW6sLkvm+ZtBJCjBh nq6RhyOh1WoZtBSBuETNH5ITt0dtu6VReRfH90x7helGXkHdNyTTG3UQ0QMlyt7Y WQu4CzNbYfui3dtBsSb6N545kTM9VNBxu6sibDUWi/7aVUP8OHxseZ+MA+Yp4ki2 fo0mHyhoo7msppFuvu76pM/tfpAH5rkjri0MkC9BOgsRUsaR6X+F4p/Bw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=xDUhosuBbLDU0K1B3DBX8t/+krTqG5VpGGmDeVQV7Bg=; b=wxzfWl5K E/XDJtGwJPowdK5gdZrP/qDnGLeiv4yhsj3vZOIxK3KP7o3nJ/xXjpc6qfw1ISqF qzu3pA43k7Qzk6CwJsgZy/R0zP2nZN/E55TyKrzAEXDZ/vStnmpSKZTOtDtZ3FXM egwL83KZk2SeBXyFFepZmUdR8exIebFwQMIIeE7tWhx5YRvBSljcvUFPqsCPSyrm bsgihv2mUn13ZeTLTDimLIu+tqqpRCBihe7P3l1tL0AbHrDL+Bwuuym4WirN4o5b E3kcmVF36rmSZ3oHVQNuy22wC5p7IORz54fZKmXO+iL73BfnRdRb/w4EyYUajnqn nSTDGGTCS/T9jg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddttdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 5/7] hw/block/nvme: update dmsrl limit on namespace detachment Date: Tue, 6 Apr 2021 22:46:25 +0200 Message-Id: <20210406204627.140812-6-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.27; envelope-from=its@irrelevant.dk; helo=wnew2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Gollu Appalanaidu , Max Reitz , Klaus Jensen , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen The Non-MDTS DMSRL limit must be recomputed when namespaces are detached. Fixes: 645ce1a70cb6 ("hw/block/nvme: support namespace attachment command") Signed-off-by: Klaus Jensen Reviewed-by: Gollu Appalanaidu Reviewed-by: Keith Busch --- hw/block/nvme.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 09c38fb35e0d..0898ece2af31 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -4868,6 +4868,21 @@ static uint16_t nvme_aer(NvmeCtrl *n, NvmeRequest *r= eq) return NVME_NO_COMPLETE; } =20 +static void nvme_update_dmrsl(NvmeCtrl *n) +{ + int nsid; + + for (nsid =3D 1; nsid <=3D NVME_MAX_NAMESPACES; nsid++) { + NvmeNamespace *ns =3D nvme_ns(n, nsid); + if (!ns) { + continue; + } + + n->dmrsl =3D MIN_NON_ZERO(n->dmrsl, + BDRV_REQUEST_MAX_BYTES / nvme_l2b(ns, 1)); + } +} + static void __nvme_select_ns_iocs(NvmeCtrl *n, NvmeNamespace *ns); static uint16_t nvme_ns_attachment(NvmeCtrl *n, NvmeRequest *req) { @@ -4917,6 +4932,8 @@ static uint16_t nvme_ns_attachment(NvmeCtrl *n, NvmeR= equest *req) } =20 nvme_ns_detach(ctrl, ns); + + nvme_update_dmrsl(ctrl); } =20 /* --=20 2.31.1 From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742340; cv=none; d=zohomail.com; s=zohoarc; b=NaczAvEf+B7FjIMBhd6Un2ffbD14ZkdIq1JP56hj1k3hDO7e0KRZUtGlzdY2VzqdS9TVtwJopWGMNaHdgBlVEEynUSEgrbWiAgDu1KhLurNh5BMiWGSsnqRAck2h0p2qLHrSMM8v7Bwxez99N1D3WuzRpMNQpKCjh5ut7KQFOyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742340; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KaUL6/wAQacEczt570h05DZE6fvl4ueR+/YrAAujjqc=; b=c2GT6FIu/v4DL0LYXU4i6hmt+5ZHgant3XAKYEL5DB+qcSjN9Z9n2nBnfLrMS/y4VwUzfTWYhD2OrEe5uS1wuEhvdbqjY3rv9iEDbSb9YSdoqZHbQ5oG16b614F+Kc1AzaMLMjhT2cdxw9b7pavmdhFItr+uaB8a1CQxIipZX/I= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 161774234062651.47063187870776; Tue, 6 Apr 2021 13:52:20 -0700 (PDT) Received: from localhost ([::1]:37776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTsgN-0005ZT-CH for importer@patchew.org; Tue, 06 Apr 2021 16:52:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34052) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsb7-0002EX-6s; Tue, 06 Apr 2021 16:46:53 -0400 Received: from wnew2-smtp.messagingengine.com ([64.147.123.27]:39029) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsaz-0001aR-ID; Tue, 06 Apr 2021 16:46:52 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.west.internal (Postfix) with ESMTP id 60F871284; Tue, 6 Apr 2021 16:46:41 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 06 Apr 2021 16:46:42 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 6D79024005D; Tue, 6 Apr 2021 16:46:39 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=KaUL6/wAQacEc zt570h05DZE6fvl4ueR+/YrAAujjqc=; b=XPr26Z77auTLqxtgoVsm3MGoJqcn6 q2MWUuBlHlBD30yeTmN7+MS0+1pwVSHyqrcEnU4tT3IU42NKt1YpxopTe4w2NR8B TUPqWb4qrfxL9uWwLT5BveuUzTVBNQmaq8KV1NKxhnIaVp52yiDftCXKPTh3IZrF kVJe215XxnH74ctZSrgeIz+xE/8v1WDTkKl7CNPadFI/o062RxkfIGChgMqfEyBr zjs/rltn74DK5UPfcaiIOwg2WShf298RWL/FepSbIgts+xgQ+CART+BfQOOaffZM 9Y9ECrmguUBuFJjt0IthTNguzSyRTNQzQjyrMbMDkMhusz+QjX0hjPnFA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=KaUL6/wAQacEczt570h05DZE6fvl4ueR+/YrAAujjqc=; b=RRpqtcjB r9TGZj1nCt+1sE5k8uGlw3BbmE1Sy7G2pGaHhxNAruw1TNZV+SvPiWlNUrlKrNtv +nbixh2tgaqG2tFbx4MwkIBS5v6aBMtSgt/wYKNmucz1n1/MuOsP4uL45dwD+2lc aTIoh0BzZeeSOj5QjqRXPp/hpGfSpryjqt0tJiXURZXri6QrZmyQR4YBKrhlDOHA Rk+3JlCghkp7FfI+P6xMeET7A0CMxaraNFo5QjSBBMZ7+9tsM7F3+3HnOs3EYN1l Licxb9ZyHl4ifeM8B9hEfE8lKvt0azXTE+d1D0B4e+OVHVa+NNs+hsMxfBHLpDct 8FsajZWdsvK6kg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgepud enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 6/7] hw/block/nvme: fix handling of private namespaces Date: Tue, 6 Apr 2021 22:46:26 +0200 Message-Id: <20210406204627.140812-7-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.27; envelope-from=its@irrelevant.dk; helo=wnew2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Gollu Appalanaidu , Max Reitz , Klaus Jensen , Minwoo Im , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen Prior to this patch, if a private nvme-ns device (that is, a namespace that is not linked to a subsystem) is wired up to an nvme-subsys linked nvme controller device, the device fails to verify that the namespace id is unique within the subsystem. NVM Express v1.4b, Section 6.1.6 ("NSID and Namespace Usage") states that because the device supports Namespace Management, "NSIDs *shall* be unique within the NVM subsystem". Additionally, prior to this patch, private namespaces are not known to the subsystem and the namespace is considered exclusive to the controller with which it is initially wired up to. However, this is not the definition of a private namespace; per Section 1.6.33 ("private namespace"), a private namespace is just a namespace that does not support multipath I/O or namespace sharing, which means "that it is only able to be attached to one controller at a time". Fix this by always allocating namespaces in the subsystem (if one is linked to the controller), regardless of the shared/private status of the namespace. Whether or not the namespace is shareable is controlled by a new `shared` nvme-ns parameter. Finally, this fix allows the nvme-ns `subsys` parameter to be removed, since the `shared` parameter now serves the purpose of attaching the namespace to all controllers in the subsystem upon device realization. It is invalid to have an nvme-ns namespace device with a linked subsystem without the parent nvme controller device also being linked to one and since the nvme-ns devices will unconditionally be "attached" (in QEMU terms that is) to an nvme controller device through an NvmeBus, the nvme-ns namespace device can always get a reference to the subsystem of the controller it is explicitly (using 'bus=3D' parameter) or implicitly attaching to. Fixes: e570768566b3 ("hw/block/nvme: support for shared namespace in subsys= tem") Cc: Minwoo Im Signed-off-by: Klaus Jensen Reviewed-by: Gollu Appalanaidu Reviewed-by: Keith Busch Reviewed-by: Minwoo Im --- hw/block/nvme-ns.h | 10 +--- hw/block/nvme-subsys.h | 7 +-- hw/block/nvme.h | 39 +------------ include/block/nvme.h | 1 + hw/block/nvme-ns.c | 76 +++++++++++++++++++++---- hw/block/nvme-subsys.c | 28 ---------- hw/block/nvme.c | 123 ++++++++++++++--------------------------- hw/block/trace-events | 1 - 8 files changed, 115 insertions(+), 170 deletions(-) diff --git a/hw/block/nvme-ns.h b/hw/block/nvme-ns.h index 82340c4b2574..fb0a41f912e7 100644 --- a/hw/block/nvme-ns.h +++ b/hw/block/nvme-ns.h @@ -29,6 +29,7 @@ typedef struct NvmeZone { =20 typedef struct NvmeNamespaceParams { bool detached; + bool shared; uint32_t nsid; QemuUUID uuid; =20 @@ -60,8 +61,8 @@ typedef struct NvmeNamespace { const uint32_t *iocs; uint8_t csi; uint16_t status; + int attached; =20 - NvmeSubsystem *subsys; QTAILQ_ENTRY(NvmeNamespace) entry; =20 NvmeIdNsZoned *id_ns_zoned; @@ -99,11 +100,6 @@ static inline uint32_t nvme_nsid(NvmeNamespace *ns) return 0; } =20 -static inline bool nvme_ns_shared(NvmeNamespace *ns) -{ - return !!ns->subsys; -} - static inline NvmeLBAF *nvme_ns_lbaf(NvmeNamespace *ns) { NvmeIdNs *id_ns =3D &ns->id_ns; @@ -225,7 +221,7 @@ static inline void nvme_aor_dec_active(NvmeNamespace *n= s) } =20 void nvme_ns_init_format(NvmeNamespace *ns); -int nvme_ns_setup(NvmeNamespace *ns, Error **errp); +int nvme_ns_setup(NvmeCtrl *n, NvmeNamespace *ns, Error **errp); void nvme_ns_drain(NvmeNamespace *ns); void nvme_ns_shutdown(NvmeNamespace *ns); void nvme_ns_cleanup(NvmeNamespace *ns); diff --git a/hw/block/nvme-subsys.h b/hw/block/nvme-subsys.h index aafa04b84829..24132edd005c 100644 --- a/hw/block/nvme-subsys.h +++ b/hw/block/nvme-subsys.h @@ -14,7 +14,7 @@ OBJECT_CHECK(NvmeSubsystem, (obj), TYPE_NVME_SUBSYS) =20 #define NVME_SUBSYS_MAX_CTRLS 32 -#define NVME_SUBSYS_MAX_NAMESPACES 256 +#define NVME_MAX_NAMESPACES 256 =20 typedef struct NvmeCtrl NvmeCtrl; typedef struct NvmeNamespace NvmeNamespace; @@ -24,7 +24,7 @@ typedef struct NvmeSubsystem { =20 NvmeCtrl *ctrls[NVME_SUBSYS_MAX_CTRLS]; /* Allocated namespaces for this subsystem */ - NvmeNamespace *namespaces[NVME_SUBSYS_MAX_NAMESPACES + 1]; + NvmeNamespace *namespaces[NVME_MAX_NAMESPACES + 1]; =20 struct { char *nqn; @@ -32,7 +32,6 @@ typedef struct NvmeSubsystem { } NvmeSubsystem; =20 int nvme_subsys_register_ctrl(NvmeCtrl *n, Error **errp); -int nvme_subsys_register_ns(NvmeNamespace *ns, Error **errp); =20 static inline NvmeCtrl *nvme_subsys_ctrl(NvmeSubsystem *subsys, uint32_t cntlid) @@ -54,7 +53,7 @@ static inline NvmeNamespace *nvme_subsys_ns(NvmeSubsystem= *subsys, return NULL; } =20 - assert(nsid && nsid <=3D NVME_SUBSYS_MAX_NAMESPACES); + assert(nsid && nsid <=3D NVME_MAX_NAMESPACES); =20 return subsys->namespaces[nsid]; } diff --git a/hw/block/nvme.h b/hw/block/nvme.h index 8d1806cc942f..5d05ec368f7a 100644 --- a/hw/block/nvme.h +++ b/hw/block/nvme.h @@ -6,17 +6,9 @@ #include "nvme-subsys.h" #include "nvme-ns.h" =20 -#define NVME_MAX_NAMESPACES 256 - #define NVME_DEFAULT_ZONE_SIZE (128 * MiB) #define NVME_DEFAULT_MAX_ZA_SIZE (128 * KiB) =20 -/* - * Subsystem namespace list for allocated namespaces should be larger than - * attached namespace list in a controller. - */ -QEMU_BUILD_BUG_ON(NVME_MAX_NAMESPACES > NVME_SUBSYS_MAX_NAMESPACES); - typedef struct NvmeParams { char *serial; uint32_t num_queues; /* deprecated since 5.1 */ @@ -234,35 +226,6 @@ static inline NvmeNamespace *nvme_ns(NvmeCtrl *n, uint= 32_t nsid) return n->namespaces[nsid - 1]; } =20 -static inline bool nvme_ns_is_attached(NvmeCtrl *n, NvmeNamespace *ns) -{ - int nsid; - - for (nsid =3D 1; nsid <=3D n->num_namespaces; nsid++) { - if (nvme_ns(n, nsid) =3D=3D ns) { - return true; - } - } - - return false; -} - -static inline void nvme_ns_attach(NvmeCtrl *n, NvmeNamespace *ns) -{ - uint32_t nsid =3D nvme_nsid(ns); - assert(nsid && nsid <=3D NVME_MAX_NAMESPACES); - - n->namespaces[nsid - 1] =3D ns; -} - -static inline void nvme_ns_detach(NvmeCtrl *n, NvmeNamespace *ns) -{ - uint32_t nsid =3D nvme_nsid(ns); - assert(nsid && nsid <=3D NVME_MAX_NAMESPACES); - - n->namespaces[nsid - 1] =3D NULL; -} - static inline NvmeCQueue *nvme_cq(NvmeRequest *req) { NvmeSQueue *sq =3D req->sq; @@ -291,7 +254,7 @@ typedef enum NvmeTxDirection { NVME_TX_DIRECTION_FROM_DEVICE =3D 1, } NvmeTxDirection; =20 -int nvme_register_namespace(NvmeCtrl *n, NvmeNamespace *ns, Error **errp); +void nvme_attach_ns(NvmeCtrl *n, NvmeNamespace *ns); uint16_t nvme_bounce_data(NvmeCtrl *n, uint8_t *ptr, uint32_t len, NvmeTxDirection dir, NvmeRequest *req); uint16_t nvme_bounce_mdata(NvmeCtrl *n, uint8_t *ptr, uint32_t len, diff --git a/include/block/nvme.h b/include/block/nvme.h index b0a4e4291611..4ac926fbc687 100644 --- a/include/block/nvme.h +++ b/include/block/nvme.h @@ -847,6 +847,7 @@ enum NvmeStatusCodes { NVME_FEAT_NOT_NS_SPEC =3D 0x010f, NVME_FW_REQ_SUSYSTEM_RESET =3D 0x0110, NVME_NS_ALREADY_ATTACHED =3D 0x0118, + NVME_NS_PRIVATE =3D 0x0119, NVME_NS_NOT_ATTACHED =3D 0x011A, NVME_NS_CTRL_LIST_INVALID =3D 0x011C, NVME_CONFLICTING_ATTRS =3D 0x0180, diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.c index ca04ee1bacfb..7bb618f18209 100644 --- a/hw/block/nvme-ns.c +++ b/hw/block/nvme-ns.c @@ -73,7 +73,7 @@ static int nvme_ns_init(NvmeNamespace *ns, Error **errp) /* support DULBE and I/O optimization fields */ id_ns->nsfeat |=3D (0x4 | 0x10); =20 - if (nvme_ns_shared(ns)) { + if (ns->params.shared) { id_ns->nmic |=3D NVME_NMIC_NS_SHARED; } =20 @@ -387,7 +387,8 @@ static void nvme_zoned_ns_shutdown(NvmeNamespace *ns) assert(ns->nr_open_zones =3D=3D 0); } =20 -static int nvme_ns_check_constraints(NvmeNamespace *ns, Error **errp) +static int nvme_ns_check_constraints(NvmeCtrl *n, NvmeNamespace *ns, + Error **errp) { if (!ns->blkconf.blk) { error_setg(errp, "block backend not configured"); @@ -400,12 +401,32 @@ static int nvme_ns_check_constraints(NvmeNamespace *n= s, Error **errp) return -1; } =20 + if (ns->params.nsid > NVME_MAX_NAMESPACES) { + error_setg(errp, "invalid namespace id (must be between 0 and %d)", + NVME_MAX_NAMESPACES); + return -1; + } + + if (!n->subsys) { + if (ns->params.detached) { + error_setg(errp, "detached requires that the nvme device is " + "linked to an nvme-subsys device"); + return -1; + } + + if (ns->params.shared) { + error_setg(errp, "shared requires that the nvme device is " + "linked to an nvme-subsys device"); + return -1; + } + } + return 0; } =20 -int nvme_ns_setup(NvmeNamespace *ns, Error **errp) +int nvme_ns_setup(NvmeCtrl *n, NvmeNamespace *ns, Error **errp) { - if (nvme_ns_check_constraints(ns, errp)) { + if (nvme_ns_check_constraints(n, ns, errp)) { return -1; } =20 @@ -453,27 +474,62 @@ static void nvme_ns_realize(DeviceState *dev, Error *= *errp) NvmeNamespace *ns =3D NVME_NS(dev); BusState *s =3D qdev_get_parent_bus(dev); NvmeCtrl *n =3D NVME(s->parent); + NvmeSubsystem *subsys =3D n->subsys; + uint32_t nsid =3D ns->params.nsid; + int i; =20 - if (nvme_ns_setup(ns, errp)) { + if (nvme_ns_setup(n, ns, errp)) { return; } =20 - if (ns->subsys) { - if (nvme_subsys_register_ns(ns, errp)) { + if (!nsid) { + for (i =3D 1; i <=3D NVME_MAX_NAMESPACES; i++) { + if (nvme_ns(n, i) || nvme_subsys_ns(subsys, i)) { + continue; + } + + nsid =3D ns->params.nsid =3D i; + break; + } + + if (!nsid) { + error_setg(errp, "no free namespace id"); return; } } else { - if (nvme_register_namespace(n, ns, errp)) { + if (nvme_ns(n, nsid) || nvme_subsys_ns(subsys, nsid)) { + error_setg(errp, "namespace id '%d' already allocated", nsid); return; } } + + if (subsys) { + subsys->namespaces[nsid] =3D ns; + + if (ns->params.detached) { + return; + } + + if (ns->params.shared) { + for (i =3D 0; i < ARRAY_SIZE(subsys->ctrls); i++) { + NvmeCtrl *ctrl =3D subsys->ctrls[i]; + + if (ctrl) { + nvme_attach_ns(ctrl, ns); + } + } + + return; + } + } + + nvme_attach_ns(n, ns); } =20 static Property nvme_ns_props[] =3D { DEFINE_BLOCK_PROPERTIES(NvmeNamespace, blkconf), - DEFINE_PROP_LINK("subsys", NvmeNamespace, subsys, TYPE_NVME_SUBSYS, - NvmeSubsystem *), DEFINE_PROP_BOOL("detached", NvmeNamespace, params.detached, false), + DEFINE_PROP_BOOL("shared", NvmeNamespace, params.shared, false), DEFINE_PROP_UINT32("nsid", NvmeNamespace, params.nsid, 0), DEFINE_PROP_UUID("uuid", NvmeNamespace, params.uuid), DEFINE_PROP_UINT16("ms", NvmeNamespace, params.ms, 0), diff --git a/hw/block/nvme-subsys.c b/hw/block/nvme-subsys.c index 9fadef8cec99..283a97b79d57 100644 --- a/hw/block/nvme-subsys.c +++ b/hw/block/nvme-subsys.c @@ -43,34 +43,6 @@ int nvme_subsys_register_ctrl(NvmeCtrl *n, Error **errp) return cntlid; } =20 -int nvme_subsys_register_ns(NvmeNamespace *ns, Error **errp) -{ - NvmeSubsystem *subsys =3D ns->subsys; - NvmeCtrl *n; - uint32_t nsid =3D nvme_nsid(ns); - int i; - - assert(nsid && nsid <=3D NVME_SUBSYS_MAX_NAMESPACES); - - if (subsys->namespaces[nsid]) { - error_setg(errp, "namespace %d already registerd to subsy %s", - nvme_nsid(ns), subsys->parent_obj.id); - return -1; - } - - subsys->namespaces[nsid] =3D ns; - - for (i =3D 0; i < ARRAY_SIZE(subsys->ctrls); i++) { - n =3D subsys->ctrls[i]; - - if (n && nvme_register_namespace(n, ns, errp)) { - return -1; - } - } - - return 0; -} - static void nvme_subsys_setup(NvmeSubsystem *subsys) { const char *nqn =3D subsys->params.nqn ? diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 0898ece2af31..d2dd82496790 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -93,10 +93,13 @@ * * nvme namespace device parameters * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * - `subsys` - * If given, the namespace will be attached to all controllers in the - * subsystem. Otherwise, `bus` must be given to attach this namespace to= a - * specific controller as a non-shared namespace. + * - `shared` + * When the parent nvme device (as defined explicitly by the 'bus' param= eter + * or implicitly by the most recently defined NvmeBus) is linked to an + * nvme-subsys device, the namespace will be attached to all controllers= in + * the subsystem. If set to 'off' (the default), the namespace will rema= in a + * private namespace and may only be attached to a single controller at a + * time. * * - `detached` * This parameter is only valid together with the `subsys` parameter. If= left @@ -4242,7 +4245,7 @@ static uint16_t nvme_identify_ns_attached_list(NvmeCt= rl *n, NvmeRequest *req) continue; } =20 - if (!nvme_ns_is_attached(ctrl, ns)) { + if (!nvme_ns(ctrl, c->nsid)) { continue; } =20 @@ -4899,6 +4902,10 @@ static uint16_t nvme_ns_attachment(NvmeCtrl *n, Nvme= Request *req) =20 trace_pci_nvme_ns_attachment(nvme_cid(req), dw10 & 0xf); =20 + if (!nvme_nsid_valid(n, nsid)) { + return NVME_INVALID_NSID | NVME_DNR; + } + ns =3D nvme_subsys_ns(n->subsys, nsid); if (!ns) { return NVME_INVALID_FIELD | NVME_DNR; @@ -4920,18 +4927,23 @@ static uint16_t nvme_ns_attachment(NvmeCtrl *n, Nvm= eRequest *req) } =20 if (attach) { - if (nvme_ns_is_attached(ctrl, ns)) { + if (nvme_ns(ctrl, nsid)) { return NVME_NS_ALREADY_ATTACHED | NVME_DNR; } =20 - nvme_ns_attach(ctrl, ns); + if (ns->attached && !ns->params.shared) { + return NVME_NS_PRIVATE | NVME_DNR; + } + + nvme_attach_ns(ctrl, ns); __nvme_select_ns_iocs(ctrl, ns); } else { - if (!nvme_ns_is_attached(ctrl, ns)) { + if (!nvme_ns(ctrl, nsid)) { return NVME_NS_NOT_ATTACHED | NVME_DNR; } =20 - nvme_ns_detach(ctrl, ns); + ctrl->namespaces[nsid - 1] =3D NULL; + ns->attached--; =20 nvme_update_dmrsl(ctrl); } @@ -5825,6 +5837,12 @@ static void nvme_check_constraints(NvmeCtrl *n, Erro= r **errp) if (n->namespace.blkconf.blk) { warn_report("drive property is deprecated; " "please use an nvme-ns device instead"); + + if (n->subsys) { + error_setg(errp, "subsystem support is unavailable with legacy= " + "namespace ('drive' property)"); + return; + } } =20 if (params->max_ioqpairs < 1 || @@ -5887,75 +5905,6 @@ static void nvme_init_state(NvmeCtrl *n) n->aer_reqs =3D g_new0(NvmeRequest *, n->params.aerl + 1); } =20 -static int nvme_attach_namespace(NvmeCtrl *n, NvmeNamespace *ns, Error **e= rrp) -{ - if (nvme_ns_is_attached(n, ns)) { - error_setg(errp, - "namespace %d is already attached to controller %d", - nvme_nsid(ns), n->cntlid); - return -1; - } - - nvme_ns_attach(n, ns); - - return 0; -} - -int nvme_register_namespace(NvmeCtrl *n, NvmeNamespace *ns, Error **errp) -{ - uint32_t nsid =3D nvme_nsid(ns); - - if (nsid > NVME_MAX_NAMESPACES) { - error_setg(errp, "invalid namespace id (must be between 0 and %d)", - NVME_MAX_NAMESPACES); - return -1; - } - - if (!nsid) { - for (int i =3D 1; i <=3D n->num_namespaces; i++) { - if (!nvme_ns(n, i)) { - nsid =3D ns->params.nsid =3D i; - break; - } - } - - if (!nsid) { - error_setg(errp, "no free namespace id"); - return -1; - } - } else { - if (n->namespaces[nsid - 1]) { - error_setg(errp, "namespace id '%d' is already in use", nsid); - return -1; - } - } - - trace_pci_nvme_register_namespace(nsid); - - /* - * If subsys is not given, namespae is always attached to the controll= er - * because there's no subsystem to manage namespace allocation. - */ - if (!n->subsys) { - if (ns->params.detached) { - error_setg(errp, - "detached needs nvme-subsys specified nvme or nvme-= ns"); - return -1; - } - - return nvme_attach_namespace(n, ns, errp); - } else { - if (!ns->params.detached) { - return nvme_attach_namespace(n, ns, errp); - } - } - - n->dmrsl =3D MIN_NON_ZERO(n->dmrsl, - BDRV_REQUEST_MAX_BYTES / nvme_l2b(ns, 1)); - - return 0; -} - static void nvme_init_cmb(NvmeCtrl *n, PCIDevice *pci_dev) { uint64_t cmb_size =3D n->params.cmb_size_mb * MiB; @@ -6185,6 +6134,18 @@ static int nvme_init_subsys(NvmeCtrl *n, Error **err= p) return 0; } =20 +void nvme_attach_ns(NvmeCtrl *n, NvmeNamespace *ns) +{ + uint32_t nsid =3D ns->params.nsid; + assert(nsid && nsid <=3D NVME_MAX_NAMESPACES); + + n->namespaces[nsid - 1] =3D ns; + ns->attached++; + + n->dmrsl =3D MIN_NON_ZERO(n->dmrsl, + BDRV_REQUEST_MAX_BYTES / nvme_l2b(ns, 1)); +} + static void nvme_realize(PCIDevice *pci_dev, Error **errp) { NvmeCtrl *n =3D NVME(pci_dev); @@ -6216,13 +6177,11 @@ static void nvme_realize(PCIDevice *pci_dev, Error = **errp) ns =3D &n->namespace; ns->params.nsid =3D 1; =20 - if (nvme_ns_setup(ns, errp)) { + if (nvme_ns_setup(n, ns, errp)) { return; } =20 - if (nvme_register_namespace(n, ns, errp)) { - return; - } + nvme_attach_ns(n, ns); } } =20 diff --git a/hw/block/trace-events b/hw/block/trace-events index 22da06986d72..fa12e3a67a75 100644 --- a/hw/block/trace-events +++ b/hw/block/trace-events @@ -51,7 +51,6 @@ hd_geometry_guess(void *blk, uint32_t cyls, uint32_t head= s, uint32_t secs, int t =20 # nvme.c # nvme traces for successful events -pci_nvme_register_namespace(uint32_t nsid) "nsid %"PRIu32"" pci_nvme_irq_msix(uint32_t vector) "raising MSI-X IRQ vector %u" pci_nvme_irq_pin(void) "pulsing IRQ pin" pci_nvme_irq_masked(void) "IRQ is masked" --=20 2.31.1 From nobody Thu Apr 25 15:17:01 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1617742649; cv=none; d=zohomail.com; s=zohoarc; b=ALE9E+h4uYMrXneJ/9/J/SiFb/HpFMw/YRer0k1LwF3sL2gPZwRVGnMPvlJ09KGzhcT4t085e/vlyq3YQ2usEhX9XjFRpYsLX6ap5uBaUtWHtr3/QqnJ/8RxReI90X7beJi7JYa7E1S4q1b/j0frZDF6iVvaBXX0Nbh9m4h503s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617742649; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vTFPlL7TkOoOy4lt5fLjax8HOg2qO6MjMNotMBL4pf4=; b=IyIDtYiC97HHItNbQD9/E7u9+6391wi0/zAaIjrJdlnWlfrey/q/lhbyMw27e07iuTPVQU5lVuCfubbsQMk+2tZ4fQbP3DF2407qI0wzyS80E8LwSZbcj5yfZHSMzCGmKQJ9k8tjPAFRPP6m2kxe5XcujTXtkdyyA+1Veq/FPVE= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617742649710832.4144439071877; Tue, 6 Apr 2021 13:57:29 -0700 (PDT) Received: from localhost ([::1]:47274 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTslM-00012O-IC for importer@patchew.org; Tue, 06 Apr 2021 16:57:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsb2-0002Dk-U0; Tue, 06 Apr 2021 16:46:49 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:37177) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTsaz-0001aW-IC; Tue, 06 Apr 2021 16:46:48 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 1D72613FE; Tue, 6 Apr 2021 16:46:43 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 06 Apr 2021 16:46:43 -0400 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 2FF1924005C; Tue, 6 Apr 2021 16:46:41 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=vTFPlL7TkOoOy 4lt5fLjax8HOg2qO6MjMNotMBL4pf4=; b=bV4r7VdvX3/z4681wX/nnbayQYsjK M83ntB2GS+wpJGVpi1qehUxHyHezzzn/nyrSfyePI17SaI5FPeINrDaUflEPkYe7 wD63sv1mUYEXv/2O/psDRTJzBIAaS/xcjgr3FC90WkGMX5dA8fG9HMqgkhSrxQGD HDU6UxpVTN6rIpXB1nEhN7XbOniK+DHNZ/UFiNlAFC8i5J73cNC9hOEb/iB9rsLD 8EWqPAx5JiI1bYtQlWtKdcGdKXnQSgs8wd2G4p/cN3cb5tHw2ZLLfG/0eAnlEbYB QDxBoMdH3hAQBL7KaFdufEdkBh0/BI3Rta4KSnTTdHPY6tdezMqcz2XNw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=vTFPlL7TkOoOy4lt5fLjax8HOg2qO6MjMNotMBL4pf4=; b=P/CDj4cc /uFMTpEwcW8Quc2gVBj8pRU8txKSE7QQYssFfihw2hBHrvIvQJs7lffGR5kzVXyG zuSTU12PnIblkkFcyy41M6FMBlPwDwqeLRp8ER0lIQg8CP7+I9uLHoGr2yXoiZYB NMbeapTpKo30UISpkTVxJtgXlEzJdKys3v1pvzgQQkyUPo9UEVNg8SapY5s2kxQK od4zSJx32BQGt1/JUfIGIhowJ6ZZB7RrUGSiOHUdSvg00hO0s0Pem3iL26XdoKjE EK6yQx6bW4NwIo7XoHJY2usztS69mDvNquuGM4FkFYdp7NSzgnSLgZwn8dJjM6qL J/9yf+FWr3qc3Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudejhedguddtudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhlrghu shculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrdgukheqnecuggftrfgrth htvghrnhepueelteegieeuhffgkeefgfevjeeigfetkeeitdfgtdeifefhtdfhfeeuffev gfeknecukfhppeektddrudeijedrleekrdduledtnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukh X-ME-Proxy: From: Klaus Jensen To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL for-6.0 7/7] hw/block/nvme: add missing copyright headers Date: Tue, 6 Apr 2021 22:46:27 +0200 Message-Id: <20210406204627.140812-8-its@irrelevant.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210406204627.140812-1-its@irrelevant.dk> References: <20210406204627.140812-1-its@irrelevant.dk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.21; envelope-from=its@irrelevant.dk; helo=wout5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Klaus Jensen , Max Reitz , Klaus Jensen , Stefan Hajnoczi , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen Add missing license/copyright headers to the nvme-dif.{c,h} files. Signed-off-by: Klaus Jensen Reviewed-by: Keith Busch --- hw/block/nvme-dif.h | 10 ++++++++++ hw/block/nvme-dif.c | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/hw/block/nvme-dif.h b/hw/block/nvme-dif.h index 5a8e37c8525b..524faffbd7a0 100644 --- a/hw/block/nvme-dif.h +++ b/hw/block/nvme-dif.h @@ -1,3 +1,13 @@ +/* + * QEMU NVM Express End-to-End Data Protection support + * + * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * + * Authors: + * Klaus Jensen + * Gollu Appalanaidu + */ + #ifndef HW_NVME_DIF_H #define HW_NVME_DIF_H =20 diff --git a/hw/block/nvme-dif.c b/hw/block/nvme-dif.c index e6f04faafb5f..81b0a4cb1382 100644 --- a/hw/block/nvme-dif.c +++ b/hw/block/nvme-dif.c @@ -1,3 +1,13 @@ +/* + * QEMU NVM Express End-to-End Data Protection support + * + * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * + * Authors: + * Klaus Jensen + * Gollu Appalanaidu + */ + #include "qemu/osdep.h" #include "hw/block/block.h" #include "sysemu/dma.h" --=20 2.31.1