Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751436AbdGMMau (ORCPT ); Thu, 13 Jul 2017 08:30:50 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:35221 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751157AbdGMMat (ORCPT ); Thu, 13 Jul 2017 08:30:49 -0400 Subject: Re: [PATCH] nvmet: preserve controller serial number between reboots To: Johannes Thumshirn , Christoph Hellwig , Keith Busch Cc: mwilck@suse.de, Linux Kernel Mailinglist , Linux NVMe Mailinglist References: <20170713104806.12353-1-jthumshirn@suse.de> From: Sagi Grimberg Message-ID: Date: Thu, 13 Jul 2017 15:30:39 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170713104806.12353-1-jthumshirn@suse.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 900 Lines: 29 > +static ssize_t nvmet_subsys_attr_serial_show(struct config_item *item, > + char *page) > +{ > + struct nvmet_subsys *subsys = to_subsys(item); > + > + return snprintf(page, PAGE_SIZE, "%llx\n", subsys->serial); > +} > + > +static ssize_t nvmet_subsys_attr_serial_store(struct config_item *item, > + const char *page, size_t count) > +{ > + struct nvmet_subsys *subsys = to_subsys(item); > + > + down_write(&nvmet_config_sem); > + sscanf(page, "%llx\n", &subsys->serial); > + up_write(&nvmet_config_sem); > + > + return count; > +} > +CONFIGFS_ATTR(nvmet_subsys_, attr_serial); It seems weird that a subsystem has a serial. I'm not sure that a dynamic controller should maintain a serial. Dynamic controllers by definition are allocated on demand with no state of prior associations. But not sure if a serial is a state (it probably isn't). The area is a little fuzzy for me.