From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753563AbcBHPND (ORCPT ); Mon, 8 Feb 2016 10:13:03 -0500 Received: from mga11.intel.com ([192.55.52.93]:54738 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753016AbcBHPNA (ORCPT ); Mon, 8 Feb 2016 10:13:00 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,416,1449561600"; d="scan'208";a="910876483" Date: Mon, 8 Feb 2016 15:12:58 +0000 From: Keith Busch To: Christoph Hellwig Cc: Sagi Grimberg , Hannes Reinecke , James Bottomley , Jens Axboe , linux-block@vger.kernel.org, linux-scsi , "linux-nvme@lists.infradead.org" , linux-kernel Subject: Re: complete boot failure in 4.5-rc1 caused by nvme: make SG_IO support optional Message-ID: <20160208151258.GB25111@localhost.localdomain> References: <1454783624.2809.6.camel@HansenPartnership.com> <20160207092241.GA15331@lst.de> <1454861040.2329.4.camel@HansenPartnership.com> <56B7C527.6050300@kernel.dk> <1454886441.2329.27.camel@HansenPartnership.com> <56B8448A.3000106@suse.de> <56B8676C.20600@dev.mellanox.co.il> <20160208101350.GA32632@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160208101350.GA32632@lst.de> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 08, 2016 at 11:13:50AM +0100, Christoph Hellwig wrote: > On Mon, Feb 08, 2016 at 12:01:16PM +0200, Sagi Grimberg wrote: > > > >> Do we have defined sysfs attributes for NVMe devices nowadays? > > > > /sys/block/nvme0n1/uuid > > That's only supported for NVMe 1.1 and higher devices, and optional. > For older or stupid devices we need to support the algorithm based > on the serial attribute from nvme_fill_device_id_scsi_string() in > drivers/nvme/host/scsi.c. It's even worse. NGUID was defined for 1.2 devices and higher. 1.1 devices should have EUI-64 at: /sys/block/nvmeXnY/eui 1.2 devices will have either uuid or eui (or both). The majority of devices in circulation today are 1.0, and need to concat these three entries to make a unique identifier: /sys/block/nvmeXnY/device/serial /sys/block/nvmeXnY/device/model /sys/block/nvmeXnY/nsid