From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: linux-block@vger.kernel.org Subject: [PATCH v2 0/6] lightnvm: base 2.0 implementation Date: Thu, 15 Feb 2018 14:11:54 +0100 Message-Id: <20180215131200.3354-1-mb@lightnvm.io> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: javier@cnexlabs.com, =?UTF-8?q?Matias=20Bj=C3=B8rling?= , linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org Content-Type: text/plain; charset="utf-8" Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+axboe=kernel.dk@lists.infradead.org List-ID: QSBjb3VwbGUgb2YgcGF0Y2hlcyBmb3IgMi4wIHN1cHBvcnQgZm9yIHRoZSBsaWdodG52bSBzdWJz eXN0ZW0uIFRoZXkKZm9ybSB0aGUgZm91bmRhdGlvbiBmb3IgdGhlIGludGVncmF0aW9uLgoKVGhl IGZpcnN0IHR3byBwYXRjaGVzIGlzIHByZXBhcmF0aW9uIGZvciB0aGUgMi4wIHdvcmsuIFRoZSB0 aGlyZCBwYXRjaAppbXBsZW1lbnRzIHRoZSAyLjAgZGF0YSBzdHJ1Y3R1cmVzLCB0aGUgZ2VvbWV0 cnkgY29tbWFuZCwgYW5kIGV4cG9zZXMKdGhlIHN5c2ZzIGF0dHJpYnV0ZXMgdGhhdCBjb21lcyB3 aXRoIHRoZSAyLjAgc3BlY2lmaWNhdGlvbi4gTm90ZSB0aGF0CnRoZSBhdHRyaWJ1dGVzIGJldHdl ZW4gMS4yIGFuZCAyLjAgYXJlIGRpZmZlcmVudCwgYW5kIGl0IGlzIGV4cGVjdGVkCnRoYXQgdXNl ci1zcGFjZSBzaGFsbCB1c2UgdGhlIHZlcnNpb24gc3lzZnMgYXR0cmlidXRlIHRvIGtub3cgd2hp Y2gKYXR0cmlidXRlcyB3aWxsIGJlIGF2YWlsYWJsZS4KClRoZSBuZXh0IHR3byBwYXRjaGVzIHJl bW92ZXMgbWF4X3BoeXNfc2VjdCBhbmQgbWF4X3JxX3NpemUsIGFzIHRoZXkKbm90IHVzZWQuCgpU aGUgbGFzdCBwYXRjaCBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHVzaW5nIHRoZSBudm1lIG5hbWVz cGFjZSBsb2dpY2FsCmJsb2NrIGFuZCBtZXRhZGF0YSBmaWVsZHMgYW5kIHN5bmMgaXQgd2l0aCB0 aGUgaW50ZXJuYWwgbGlnaHRudm0KaWRlbnRpZnkgc3RydWN0dXJlcy4KCkNoYW5nZXMgc2luY2Ug djI6CgogLSBSZW1vdmVkIGJsa19xdWV1ZV9ibG9ja19zaXplKCkgc2V0dXAgaW4gbnZtX2luaXQg YW5kIG1hZGUgc3VyZQogICB0byBvbmx5IHVwZGF0ZSBjc2VjcyBhbmQgc29zIGluIG9uIHRoZSBs YXRlIHNldHVwIHBhdGguIE5vIHJlYXNvbgogICB0byBzZXQgaXQgdHdpY2UuIEZyb20gZGlzY3Vz c2lvbiB3aXRoIEphdmllci4KIC0gQWRkZWQgdHdvIGV4dHJhIHBhdGNoZXMsIHRoYXQgcmVtb3Zl cyBtYXhfcGh5c19zZWN0IGFuZAogICBtYXhfcnFfc2l6ZS4KCkNoYW5nZXMgc2luY2UgdjE6Cgog LSBwcl9lcnIgZml4IGZyb20gUmFuZHkuCiAtIEFkZHJlc3MgdHlwZSBmaXggZnJvbSBKYXZpZXIu CiAtIEFsc28gQ0MgdGhlIG52bWUgbWFpbGluZyBsaXN0LgoKTWF0aWFzIEJqw7hybGluZyAoNik6 CiAgbGlnaHRudm06IG1ha2UgMS4yIGRhdGEgc3RydWN0dXJlcyBleHBsaWNpdAogIGxpZ2h0bnZt OiBmbGF0dGVuIG52bV9pZF9ncm91cCBpbnRvIG52bV9pZAogIGxpZ2h0bnZtOiBhZGQgMi4wIGdl b21ldHJ5IGlkZW50aWZpY2F0aW9uCiAgbGlnaHRudm06IHJlbW92ZSBtYXhfcnFfc2l6ZQogIGxp Z2h0bnZtOiByZW1vdmUgbnZtX2Rldl9vcHMtPm1heF9waHlzX3NlY3QKICBudm1lOiBsaWdodG52 bTogYWRkIGxhdGUgc2V0dXAgb2YgYmxvY2sgc2l6ZSBhbmQgbWV0YWRhdGEKCiBkcml2ZXJzL2xp Z2h0bnZtL2NvcmUuYyAgICAgICAgICB8ICA2MSArKy0tLQogZHJpdmVycy9saWdodG52bS9wYmxr LWluaXQuYyAgICAgfCAgIDkgKy0KIGRyaXZlcnMvbGlnaHRudm0vcGJsay1yZWNvdmVyeS5jIHwg ICA4ICstCiBkcml2ZXJzL252bWUvaG9zdC9jb3JlLmMgICAgICAgICB8ICAgMiArCiBkcml2ZXJz L252bWUvaG9zdC9saWdodG52bS5jICAgICB8IDUxMyArKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvbnZtZS9ob3N0L252bWUuaCAgICAgICAgIHwgICAyICsK IGluY2x1ZGUvbGludXgvbGlnaHRudm0uaCAgICAgICAgIHwgIDcxICsrKy0tLQogNyBmaWxlcyBj aGFuZ2VkLCA0NDIgaW5zZXJ0aW9ucygrKSwgMjI0IGRlbGV0aW9ucygtKQoKLS0gCjIuMTEuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW52 bWUgbWFpbGluZyBsaXN0CkxpbnV4LW52bWVAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW52bWUK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031838AbeBONMU (ORCPT ); Thu, 15 Feb 2018 08:12:20 -0500 Received: from mail-lf0-f68.google.com ([209.85.215.68]:36511 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030561AbeBONMT (ORCPT ); Thu, 15 Feb 2018 08:12:19 -0500 X-Google-Smtp-Source: AH8x224a5tG6S+vtkAG21davFhge4TTfPpLl8jzQj+v8wLmXAEwZ8Y9thTvRISXKqTlC2RPSoInLSw== From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: linux-block@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, javier@cnexlabs.com, =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [PATCH v2 0/6] lightnvm: base 2.0 implementation Date: Thu, 15 Feb 2018 14:11:54 +0100 Message-Id: <20180215131200.3354-1-mb@lightnvm.io> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A couple of patches for 2.0 support for the lightnvm subsystem. They form the foundation for the integration. The first two patches is preparation for the 2.0 work. The third patch implements the 2.0 data structures, the geometry command, and exposes the sysfs attributes that comes with the 2.0 specification. Note that the attributes between 1.2 and 2.0 are different, and it is expected that user-space shall use the version sysfs attribute to know which attributes will be available. The next two patches removes max_phys_sect and max_rq_size, as they not used. The last patch implements support for using the nvme namespace logical block and metadata fields and sync it with the internal lightnvm identify structures. Changes since v2: - Removed blk_queue_block_size() setup in nvm_init and made sure to only update csecs and sos in on the late setup path. No reason to set it twice. From discussion with Javier. - Added two extra patches, that removes max_phys_sect and max_rq_size. Changes since v1: - pr_err fix from Randy. - Address type fix from Javier. - Also CC the nvme mailing list. Matias Bjørling (6): lightnvm: make 1.2 data structures explicit lightnvm: flatten nvm_id_group into nvm_id lightnvm: add 2.0 geometry identification lightnvm: remove max_rq_size lightnvm: remove nvm_dev_ops->max_phys_sect nvme: lightnvm: add late setup of block size and metadata drivers/lightnvm/core.c | 61 ++--- drivers/lightnvm/pblk-init.c | 9 +- drivers/lightnvm/pblk-recovery.c | 8 +- drivers/nvme/host/core.c | 2 + drivers/nvme/host/lightnvm.c | 513 ++++++++++++++++++++++++++++----------- drivers/nvme/host/nvme.h | 2 + include/linux/lightnvm.h | 71 +++--- 7 files changed, 442 insertions(+), 224 deletions(-) -- 2.11.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: mb@lightnvm.io (=?UTF-8?q?Matias=20Bj=C3=B8rling?=) Date: Thu, 15 Feb 2018 14:11:54 +0100 Subject: [PATCH v2 0/6] lightnvm: base 2.0 implementation Message-ID: <20180215131200.3354-1-mb@lightnvm.io> A couple of patches for 2.0 support for the lightnvm subsystem. They form the foundation for the integration. The first two patches is preparation for the 2.0 work. The third patch implements the 2.0 data structures, the geometry command, and exposes the sysfs attributes that comes with the 2.0 specification. Note that the attributes between 1.2 and 2.0 are different, and it is expected that user-space shall use the version sysfs attribute to know which attributes will be available. The next two patches removes max_phys_sect and max_rq_size, as they not used. The last patch implements support for using the nvme namespace logical block and metadata fields and sync it with the internal lightnvm identify structures. Changes since v2: - Removed blk_queue_block_size() setup in nvm_init and made sure to only update csecs and sos in on the late setup path. No reason to set it twice. From discussion with Javier. - Added two extra patches, that removes max_phys_sect and max_rq_size. Changes since v1: - pr_err fix from Randy. - Address type fix from Javier. - Also CC the nvme mailing list. Matias Bj?rling (6): lightnvm: make 1.2 data structures explicit lightnvm: flatten nvm_id_group into nvm_id lightnvm: add 2.0 geometry identification lightnvm: remove max_rq_size lightnvm: remove nvm_dev_ops->max_phys_sect nvme: lightnvm: add late setup of block size and metadata drivers/lightnvm/core.c | 61 ++--- drivers/lightnvm/pblk-init.c | 9 +- drivers/lightnvm/pblk-recovery.c | 8 +- drivers/nvme/host/core.c | 2 + drivers/nvme/host/lightnvm.c | 513 ++++++++++++++++++++++++++++----------- drivers/nvme/host/nvme.h | 2 + include/linux/lightnvm.h | 71 +++--- 7 files changed, 442 insertions(+), 224 deletions(-) -- 2.11.0