public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/3] nvme: constify struct class usage
@ 2024-03-05 13:15 Ricardo B. Marliere
  2024-03-05 13:15 ` [PATCH 1/3] nvme: core: " Ricardo B. Marliere
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 13:15 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	James Smart, Chaitanya Kulkarni
  Cc: linux-nvme, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

This is a simple and straight forward cleanup series that aims to make the
class structures in nvme constant. This has been possible since 2023 [1].

[1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/

Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
Ricardo B. Marliere (3):
      nvme: core: constify struct class usage
      nvme: fabrics: make nvmf_class constant
      nvme: fcloop: make fcloop_class constant

 drivers/nvme/host/core.c     | 53 +++++++++++++++++++++++---------------------
 drivers/nvme/host/fabrics.c  | 20 +++++++++--------
 drivers/nvme/target/fcloop.c | 17 +++++++-------
 3 files changed, 48 insertions(+), 42 deletions(-)
---
base-commit: 7e90b5c295ec1e47c8ad865429f046970c549a66
change-id: 20240305-class_cleanup-nvme-c11fedbc3b82

Best regards,
-- 
Ricardo B. Marliere <ricardo@marliere.net>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/3] nvme: core: constify struct class usage
  2024-03-05 13:15 [PATCH 0/3] nvme: constify struct class usage Ricardo B. Marliere
@ 2024-03-05 13:15 ` Ricardo B. Marliere
  2024-03-06  5:23   ` Chaitanya Kulkarni
  2024-03-05 13:15 ` [PATCH 2/3] nvme: fabrics: make nvmf_class constant Ricardo B. Marliere
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 13:15 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	James Smart, Chaitanya Kulkarni
  Cc: linux-nvme, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the structures nvme_class, nvme_subsys_class and
nvme_ns_chr_class to be declared at build time placing them into read-only
memory, instead of having to be dynamically allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/nvme/host/core.c | 53 +++++++++++++++++++++++++-----------------------
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 60537c9224bf..fdddf2b17519 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -114,12 +114,21 @@ static DEFINE_MUTEX(nvme_subsystems_lock);
 
 static DEFINE_IDA(nvme_instance_ida);
 static dev_t nvme_ctrl_base_chr_devt;
-static struct class *nvme_class;
-static struct class *nvme_subsys_class;
+static int nvme_class_uevent(const struct device *dev, struct kobj_uevent_env *env);
+static const struct class nvme_class = {
+	.name = "nvme",
+	.dev_uevent = nvme_class_uevent,
+};
+
+static const struct class nvme_subsys_class = {
+	.name = "nvme-subsystem",
+};
 
 static DEFINE_IDA(nvme_ns_chr_minor_ida);
 static dev_t nvme_ns_chr_devt;
-static struct class *nvme_ns_chr_class;
+static const struct class nvme_ns_chr_class = {
+	.name = "nvme-generic",
+};
 
 static void nvme_put_subsystem(struct nvme_subsystem *subsys);
 static void nvme_remove_invalid_namespaces(struct nvme_ctrl *ctrl,
@@ -2873,7 +2882,7 @@ static int nvme_init_subsystem(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id)
 	subsys->awupf = le16_to_cpu(id->awupf);
 	nvme_mpath_default_iopolicy(subsys);
 
-	subsys->dev.class = nvme_subsys_class;
+	subsys->dev.class = &nvme_subsys_class;
 	subsys->dev.release = nvme_release_subsystem;
 	subsys->dev.groups = nvme_subsys_attrs_groups;
 	dev_set_name(&subsys->dev, "nvme-subsys%d", ctrl->instance);
@@ -3416,7 +3425,7 @@ int nvme_cdev_add(struct cdev *cdev, struct device *cdev_device,
 	if (minor < 0)
 		return minor;
 	cdev_device->devt = MKDEV(MAJOR(nvme_ns_chr_devt), minor);
-	cdev_device->class = nvme_ns_chr_class;
+	cdev_device->class = &nvme_ns_chr_class;
 	cdev_device->release = nvme_cdev_rel;
 	device_initialize(cdev_device);
 	cdev_init(cdev, fops);
@@ -4609,7 +4618,7 @@ int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct device *dev,
 	ctrl->device = &ctrl->ctrl_device;
 	ctrl->device->devt = MKDEV(MAJOR(nvme_ctrl_base_chr_devt),
 			ctrl->instance);
-	ctrl->device->class = nvme_class;
+	ctrl->device->class = &nvme_class;
 	ctrl->device->parent = ctrl->dev;
 	if (ops->dev_attr_groups)
 		ctrl->device->groups = ops->dev_attr_groups;
@@ -4842,42 +4851,36 @@ static int __init nvme_core_init(void)
 	if (result < 0)
 		goto destroy_delete_wq;
 
-	nvme_class = class_create("nvme");
-	if (IS_ERR(nvme_class)) {
-		result = PTR_ERR(nvme_class);
+	result = class_register(&nvme_class);
+	if (result)
 		goto unregister_chrdev;
-	}
-	nvme_class->dev_uevent = nvme_class_uevent;
 
-	nvme_subsys_class = class_create("nvme-subsystem");
-	if (IS_ERR(nvme_subsys_class)) {
-		result = PTR_ERR(nvme_subsys_class);
+	result = class_register(&nvme_subsys_class);
+	if (result)
 		goto destroy_class;
-	}
 
 	result = alloc_chrdev_region(&nvme_ns_chr_devt, 0, NVME_MINORS,
 				     "nvme-generic");
 	if (result < 0)
 		goto destroy_subsys_class;
 
-	nvme_ns_chr_class = class_create("nvme-generic");
-	if (IS_ERR(nvme_ns_chr_class)) {
-		result = PTR_ERR(nvme_ns_chr_class);
+	result = class_register(&nvme_ns_chr_class);
+	if (result)
 		goto unregister_generic_ns;
-	}
+
 	result = nvme_init_auth();
 	if (result)
 		goto destroy_ns_chr;
 	return 0;
 
 destroy_ns_chr:
-	class_destroy(nvme_ns_chr_class);
+	class_unregister(&nvme_ns_chr_class);
 unregister_generic_ns:
 	unregister_chrdev_region(nvme_ns_chr_devt, NVME_MINORS);
 destroy_subsys_class:
-	class_destroy(nvme_subsys_class);
+	class_unregister(&nvme_subsys_class);
 destroy_class:
-	class_destroy(nvme_class);
+	class_unregister(&nvme_class);
 unregister_chrdev:
 	unregister_chrdev_region(nvme_ctrl_base_chr_devt, NVME_MINORS);
 destroy_delete_wq:
@@ -4893,9 +4896,9 @@ static int __init nvme_core_init(void)
 static void __exit nvme_core_exit(void)
 {
 	nvme_exit_auth();
-	class_destroy(nvme_ns_chr_class);
-	class_destroy(nvme_subsys_class);
-	class_destroy(nvme_class);
+	class_unregister(&nvme_ns_chr_class);
+	class_unregister(&nvme_subsys_class);
+	class_unregister(&nvme_class);
 	unregister_chrdev_region(nvme_ns_chr_devt, NVME_MINORS);
 	unregister_chrdev_region(nvme_ctrl_base_chr_devt, NVME_MINORS);
 	destroy_workqueue(nvme_delete_wq);

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/3] nvme: fabrics: make nvmf_class constant
  2024-03-05 13:15 [PATCH 0/3] nvme: constify struct class usage Ricardo B. Marliere
  2024-03-05 13:15 ` [PATCH 1/3] nvme: core: " Ricardo B. Marliere
@ 2024-03-05 13:15 ` Ricardo B. Marliere
  2024-03-06  5:23   ` Chaitanya Kulkarni
  2024-03-05 13:15 ` [PATCH 3/3] nvme: fcloop: make fcloop_class constant Ricardo B. Marliere
  2024-03-05 13:51 ` [PATCH 0/3] nvme: constify struct class usage Christoph Hellwig
  3 siblings, 1 reply; 11+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 13:15 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	James Smart, Chaitanya Kulkarni
  Cc: linux-nvme, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the nvmf_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/nvme/host/fabrics.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c
index 3499acbf6a82..94e0911c43bc 100644
--- a/drivers/nvme/host/fabrics.c
+++ b/drivers/nvme/host/fabrics.c
@@ -1318,7 +1318,10 @@ nvmf_create_ctrl(struct device *dev, const char *buf)
 	return ERR_PTR(ret);
 }
 
-static struct class *nvmf_class;
+static const struct class nvmf_class = {
+	.name = "nvme-fabrics",
+};
+
 static struct device *nvmf_device;
 static DEFINE_MUTEX(nvmf_dev_mutex);
 
@@ -1438,15 +1441,14 @@ static int __init nvmf_init(void)
 	if (!nvmf_default_host)
 		return -ENOMEM;
 
-	nvmf_class = class_create("nvme-fabrics");
-	if (IS_ERR(nvmf_class)) {
+	ret = class_register(&nvmf_class);
+	if (ret) {
 		pr_err("couldn't register class nvme-fabrics\n");
-		ret = PTR_ERR(nvmf_class);
 		goto out_free_host;
 	}
 
 	nvmf_device =
-		device_create(nvmf_class, NULL, MKDEV(0, 0), NULL, "ctl");
+		device_create(&nvmf_class, NULL, MKDEV(0, 0), NULL, "ctl");
 	if (IS_ERR(nvmf_device)) {
 		pr_err("couldn't create nvme-fabrics device!\n");
 		ret = PTR_ERR(nvmf_device);
@@ -1462,9 +1464,9 @@ static int __init nvmf_init(void)
 	return 0;
 
 out_destroy_device:
-	device_destroy(nvmf_class, MKDEV(0, 0));
+	device_destroy(&nvmf_class, MKDEV(0, 0));
 out_destroy_class:
-	class_destroy(nvmf_class);
+	class_unregister(&nvmf_class);
 out_free_host:
 	nvmf_host_put(nvmf_default_host);
 	return ret;
@@ -1473,8 +1475,8 @@ static int __init nvmf_init(void)
 static void __exit nvmf_exit(void)
 {
 	misc_deregister(&nvmf_misc);
-	device_destroy(nvmf_class, MKDEV(0, 0));
-	class_destroy(nvmf_class);
+	device_destroy(&nvmf_class, MKDEV(0, 0));
+	class_unregister(&nvmf_class);
 	nvmf_host_put(nvmf_default_host);
 
 	BUILD_BUG_ON(sizeof(struct nvmf_common_command) != 64);

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/3] nvme: fcloop: make fcloop_class constant
  2024-03-05 13:15 [PATCH 0/3] nvme: constify struct class usage Ricardo B. Marliere
  2024-03-05 13:15 ` [PATCH 1/3] nvme: core: " Ricardo B. Marliere
  2024-03-05 13:15 ` [PATCH 2/3] nvme: fabrics: make nvmf_class constant Ricardo B. Marliere
@ 2024-03-05 13:15 ` Ricardo B. Marliere
  2024-03-06  5:24   ` Chaitanya Kulkarni
  2024-03-05 13:51 ` [PATCH 0/3] nvme: constify struct class usage Christoph Hellwig
  3 siblings, 1 reply; 11+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 13:15 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	James Smart, Chaitanya Kulkarni
  Cc: linux-nvme, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the fcloop_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/nvme/target/fcloop.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c
index 1471af250ea6..913cd2ec7a6f 100644
--- a/drivers/nvme/target/fcloop.c
+++ b/drivers/nvme/target/fcloop.c
@@ -1556,7 +1556,9 @@ static const struct attribute_group *fcloop_dev_attr_groups[] = {
 	NULL,
 };
 
-static struct class *fcloop_class;
+static const struct class fcloop_class = {
+	.name = "fcloop",
+};
 static struct device *fcloop_device;
 
 
@@ -1564,15 +1566,14 @@ static int __init fcloop_init(void)
 {
 	int ret;
 
-	fcloop_class = class_create("fcloop");
-	if (IS_ERR(fcloop_class)) {
+	ret = class_register(&fcloop_class);
+	if (ret) {
 		pr_err("couldn't register class fcloop\n");
-		ret = PTR_ERR(fcloop_class);
 		return ret;
 	}
 
 	fcloop_device = device_create_with_groups(
-				fcloop_class, NULL, MKDEV(0, 0), NULL,
+				&fcloop_class, NULL, MKDEV(0, 0), NULL,
 				fcloop_dev_attr_groups, "ctl");
 	if (IS_ERR(fcloop_device)) {
 		pr_err("couldn't create ctl device!\n");
@@ -1585,7 +1586,7 @@ static int __init fcloop_init(void)
 	return 0;
 
 out_destroy_class:
-	class_destroy(fcloop_class);
+	class_unregister(&fcloop_class);
 	return ret;
 }
 
@@ -1643,8 +1644,8 @@ static void __exit fcloop_exit(void)
 
 	put_device(fcloop_device);
 
-	device_destroy(fcloop_class, MKDEV(0, 0));
-	class_destroy(fcloop_class);
+	device_destroy(&fcloop_class, MKDEV(0, 0));
+	class_unregister(&fcloop_class);
 }
 
 module_init(fcloop_init);

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/3] nvme: constify struct class usage
  2024-03-05 13:15 [PATCH 0/3] nvme: constify struct class usage Ricardo B. Marliere
                   ` (2 preceding siblings ...)
  2024-03-05 13:15 ` [PATCH 3/3] nvme: fcloop: make fcloop_class constant Ricardo B. Marliere
@ 2024-03-05 13:51 ` Christoph Hellwig
  2024-03-05 16:02   ` Keith Busch
  3 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2024-03-05 13:51 UTC (permalink / raw)
  To: Ricardo B. Marliere
  Cc: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	James Smart, Chaitanya Kulkarni, linux-nvme, linux-kernel,
	Greg Kroah-Hartman

The whole series looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/3] nvme: constify struct class usage
  2024-03-05 13:51 ` [PATCH 0/3] nvme: constify struct class usage Christoph Hellwig
@ 2024-03-05 16:02   ` Keith Busch
  2024-03-05 16:25     ` Ricardo B. Marliere
  0 siblings, 1 reply; 11+ messages in thread
From: Keith Busch @ 2024-03-05 16:02 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Ricardo B. Marliere, Jens Axboe, Sagi Grimberg, James Smart,
	Chaitanya Kulkarni, linux-nvme, linux-kernel, Greg Kroah-Hartman

Thanks, applied to nvme-6.9.

For some reason this series didn't arrive to my inbox. I got the patches
from lore, but I probably wouldn't have noticed this series if Christoph
hadn't replied.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/3] nvme: constify struct class usage
  2024-03-05 16:02   ` Keith Busch
@ 2024-03-05 16:25     ` Ricardo B. Marliere
  2024-03-07  8:01       ` Sagi Grimberg
  0 siblings, 1 reply; 11+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 16:25 UTC (permalink / raw)
  To: Keith Busch
  Cc: Christoph Hellwig, Jens Axboe, Sagi Grimberg, James Smart,
	Chaitanya Kulkarni, linux-nvme, linux-kernel, Greg Kroah-Hartman

Hi Keith,

On  5 Mar 09:02, Keith Busch wrote:
> Thanks, applied to nvme-6.9.
> 
> For some reason this series didn't arrive to my inbox. I got the patches
> from lore, but I probably wouldn't have noticed this series if Christoph
> hadn't replied.

This is weird, I use gmail for sending. Thanks for letting me know,
anyway, and picking up the patches. Also thank you Christoph for
reviewing!

All the best,
-	Ricardo.




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/3] nvme: core: constify struct class usage
  2024-03-05 13:15 ` [PATCH 1/3] nvme: core: " Ricardo B. Marliere
@ 2024-03-06  5:23   ` Chaitanya Kulkarni
  0 siblings, 0 replies; 11+ messages in thread
From: Chaitanya Kulkarni @ 2024-03-06  5:23 UTC (permalink / raw)
  To: Ricardo B. Marliere, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, James Smart, Chaitanya Kulkarni
  Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman

On 3/5/24 05:15, Ricardo B. Marliere wrote:
> Since commit 43a7206b0963 ("driver core: class: make class_register() take
> a const *"), the driver core allows for struct class to be in read-only
> memory, so move the structures nvme_class, nvme_subsys_class and
> nvme_ns_chr_class to be declared at build time placing them into read-only
> memory, instead of having to be dynamically allocated at boot time.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> ---
>

Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/3] nvme: fabrics: make nvmf_class constant
  2024-03-05 13:15 ` [PATCH 2/3] nvme: fabrics: make nvmf_class constant Ricardo B. Marliere
@ 2024-03-06  5:23   ` Chaitanya Kulkarni
  0 siblings, 0 replies; 11+ messages in thread
From: Chaitanya Kulkarni @ 2024-03-06  5:23 UTC (permalink / raw)
  To: Ricardo B. Marliere, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, James Smart, Chaitanya Kulkarni
  Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman

On 3/5/24 05:15, Ricardo B. Marliere wrote:
> Since commit 43a7206b0963 ("driver core: class: make class_register() take
> a const *"), the driver core allows for struct class to be in read-only
> memory, so move the nvmf_class structure to be declared at build time
> placing it into read-only memory, instead of having to be dynamically
> allocated at boot time.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> ---
>

Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] nvme: fcloop: make fcloop_class constant
  2024-03-05 13:15 ` [PATCH 3/3] nvme: fcloop: make fcloop_class constant Ricardo B. Marliere
@ 2024-03-06  5:24   ` Chaitanya Kulkarni
  0 siblings, 0 replies; 11+ messages in thread
From: Chaitanya Kulkarni @ 2024-03-06  5:24 UTC (permalink / raw)
  To: Ricardo B. Marliere, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, James Smart, Chaitanya Kulkarni
  Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman

On 3/5/24 05:15, Ricardo B. Marliere wrote:
> Since commit 43a7206b0963 ("driver core: class: make class_register() take
> a const *"), the driver core allows for struct class to be in read-only
> memory, so move the fcloop_class structure to be declared at build time
> placing it into read-only memory, instead of having to be dynamically
> allocated at boot time.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> ---
>   

Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/3] nvme: constify struct class usage
  2024-03-05 16:25     ` Ricardo B. Marliere
@ 2024-03-07  8:01       ` Sagi Grimberg
  0 siblings, 0 replies; 11+ messages in thread
From: Sagi Grimberg @ 2024-03-07  8:01 UTC (permalink / raw)
  To: Ricardo B. Marliere, Keith Busch
  Cc: Christoph Hellwig, Jens Axboe, James Smart, Chaitanya Kulkarni,
	linux-nvme, linux-kernel, Greg Kroah-Hartman


On 05/03/2024 18:25, Ricardo B. Marliere wrote:
> Hi Keith,
>
> On  5 Mar 09:02, Keith Busch wrote:
>> Thanks, applied to nvme-6.9.
>>
>> For some reason this series didn't arrive to my inbox. I got the patches
>> from lore, but I probably wouldn't have noticed this series if Christoph
>> hadn't replied.
> This is weird, I use gmail for sending. Thanks for letting me know,
> anyway,

Same here...



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-03-07  8:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-05 13:15 [PATCH 0/3] nvme: constify struct class usage Ricardo B. Marliere
2024-03-05 13:15 ` [PATCH 1/3] nvme: core: " Ricardo B. Marliere
2024-03-06  5:23   ` Chaitanya Kulkarni
2024-03-05 13:15 ` [PATCH 2/3] nvme: fabrics: make nvmf_class constant Ricardo B. Marliere
2024-03-06  5:23   ` Chaitanya Kulkarni
2024-03-05 13:15 ` [PATCH 3/3] nvme: fcloop: make fcloop_class constant Ricardo B. Marliere
2024-03-06  5:24   ` Chaitanya Kulkarni
2024-03-05 13:51 ` [PATCH 0/3] nvme: constify struct class usage Christoph Hellwig
2024-03-05 16:02   ` Keith Busch
2024-03-05 16:25     ` Ricardo B. Marliere
2024-03-07  8:01       ` Sagi Grimberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox