From patchwork Sat Jul 23 00:23:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Smart X-Patchwork-Id: 9244433 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4540560459 for ; Sat, 23 Jul 2016 00:23:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 20640281C3 for ; Sat, 23 Jul 2016 00:23:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 14D28281DB; Sat, 23 Jul 2016 00:23:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2A445281C3 for ; Sat, 23 Jul 2016 00:23:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751008AbcGWAXz (ORCPT ); Fri, 22 Jul 2016 20:23:55 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:34366 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750728AbcGWAXx (ORCPT ); Fri, 22 Jul 2016 20:23:53 -0400 Received: by mail-pa0-f54.google.com with SMTP id fi15so43870006pac.1 for ; Fri, 22 Jul 2016 17:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=date:from:to:subject:message-id:user-agent:mime-version :content-transfer-encoding; bh=+PDhmFUd7cXRJmOCFfCL2S/bmF1tuUn7TFY9NJepcJU=; b=XtnrZYqT8mQ90EEqYqMMzStZwtqgx8ZF39VO4JhZji5yqcuIzBfXrQHeGmNdZxRh3g AtU2ozQNZ3c8nr5qLOzbHZFWy2xLIMoS4TPLzzJdA3N6lPVh5W7lNlyPmROR1SFs8vLI Zr6Kn2Vjibcd8dBxJpcIDfpQeu0e1bs+/ofOc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:user-agent :mime-version:content-transfer-encoding; bh=+PDhmFUd7cXRJmOCFfCL2S/bmF1tuUn7TFY9NJepcJU=; b=jMr3ibM5uKcHejWUVomfZL+qKhDsUBH0cdcVSf+pNc/wVykzjdc59O1qE/223QouZZ 2ZT+3jHAQXmIIZ08cYlaTYqJJJMl0NO/VwNOvi8G+Hg3wmzZJou5KGHVEhfEVTJAJ5fa oEzcr4ZY9LlGmWEhN6IbA5aDuWYDKZHc1W/4HylewhJ78cGdGDkAVeyAwJr5K/OpaPOH LKG3zFpQjQ3orx7hOl5RH/TAVHyzN+FETk4FO0N5GuOD6hcE6sEzs0fp+1doHER5EF1Y 5OY1FiIOxrroK01WtJOiGbnlyTZoaW/lkm1mb8HWUlatyHaEGdrFa4cvUcXOFV+zZJLB Gfaw== X-Gm-Message-State: AEkoousbgYyiScWqiFOt/ROfiAEjRgeNF13M0ZQDDlH46cQnYMVYpHKSiMsWCHzU/Eo4oKSJ X-Received: by 10.67.8.10 with SMTP id dg10mr10996529pad.54.1469233432872; Fri, 22 Jul 2016 17:23:52 -0700 (PDT) Received: from flash ([192.19.224.250]) by smtp.gmail.com with ESMTPSA id ya6sm22552134pab.22.2016.07.22.17.23.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Jul 2016 17:23:52 -0700 (PDT) Date: Fri, 22 Jul 2016 17:23:51 -0700 From: james.smart@broadcom.com (James Smart) To: linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org Subject: [PATCH] nvme-fabrics: patch target code in prep for FC transport support Message-ID: <5792b917.3oKKdzw3zzjpaClb%james.smart@broadcom.com> User-Agent: Heirloom mailx 12.5 6/20/10 MIME-Version: 1.0 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Patch nvme-fabrics target code in prep for FC transport support: - Add FC transport type decoding - Add FC address family decoding Patch is cut against the linux-nvme for-4.8/drivers branch Note: this patch had been posted to the prior nvme fabrics repository but not merged before being brought over to linux-nvme. Signed-off-by: James Smart Acked-by: Johannes Thumshirn Reviewed-by: Christoph Hellwig --- drivers/nvme/target/configfs.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c index af5e2dc..6ffd105 100644 --- a/drivers/nvme/target/configfs.c +++ b/drivers/nvme/target/configfs.c @@ -37,6 +37,8 @@ static ssize_t nvmet_addr_adrfam_show(struct config_item *item, return sprintf(page, "ipv6\n"); case NVMF_ADDR_FAMILY_IB: return sprintf(page, "ib\n"); + case NVMF_ADDR_FAMILY_FC: + return sprintf(page, "fc\n"); default: return sprintf(page, "\n"); } @@ -59,6 +61,8 @@ static ssize_t nvmet_addr_adrfam_store(struct config_item *item, port->disc_addr.adrfam = NVMF_ADDR_FAMILY_IP6; } else if (sysfs_streq(page, "ib")) { port->disc_addr.adrfam = NVMF_ADDR_FAMILY_IB; + } else if (sysfs_streq(page, "fc")) { + port->disc_addr.adrfam = NVMF_ADDR_FAMILY_FC; } else { pr_err("Invalid value '%s' for adrfam\n", page); return -EINVAL; @@ -209,6 +213,8 @@ static ssize_t nvmet_addr_trtype_show(struct config_item *item, return sprintf(page, "rdma\n"); case NVMF_TRTYPE_LOOP: return sprintf(page, "loop\n"); + case NVMF_TRTYPE_FC: + return sprintf(page, "fc\n"); default: return sprintf(page, "\n"); } @@ -229,6 +235,12 @@ static void nvmet_port_init_tsas_loop(struct nvmet_port *port) memset(&port->disc_addr.tsas, 0, NVMF_TSAS_SIZE); } +static void nvmet_port_init_tsas_fc(struct nvmet_port *port) +{ + port->disc_addr.trtype = NVMF_TRTYPE_FC; + memset(&port->disc_addr.tsas, 0, NVMF_TSAS_SIZE); +} + static ssize_t nvmet_addr_trtype_store(struct config_item *item, const char *page, size_t count) { @@ -244,6 +256,8 @@ static ssize_t nvmet_addr_trtype_store(struct config_item *item, nvmet_port_init_tsas_rdma(port); } else if (sysfs_streq(page, "loop")) { nvmet_port_init_tsas_loop(port); + } else if (sysfs_streq(page, "fc")) { + nvmet_port_init_tsas_fc(port); } else { pr_err("Invalid value '%s' for trtype\n", page); return -EINVAL;