Message ID | 20210920072726.1159572-2-hch@lst.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/3] nvdimm/pmem: fix creating the dax group | expand |
On Mon, Sep 20, 2021 at 09:27:24AM +0200, Christoph Hellwig wrote: > The recent block layer refactoring broke the way how the pmem driver > abused device_add_disk. Fix this by properly passing the attribute groups > to device_add_disk. > > Fixes: 52b85909f85d ("block: fold register_disk into device_add_disk") > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ira Weiny <ira.weiny@intel.com> > --- > drivers/nvdimm/pmem.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c > index 72de88ff0d30d..ef4950f808326 100644 > --- a/drivers/nvdimm/pmem.c > +++ b/drivers/nvdimm/pmem.c > @@ -380,7 +380,6 @@ static int pmem_attach_disk(struct device *dev, > struct nd_pfn_sb *pfn_sb; > struct pmem_device *pmem; > struct request_queue *q; > - struct device *gendev; > struct gendisk *disk; > void *addr; > int rc; > @@ -489,10 +488,8 @@ static int pmem_attach_disk(struct device *dev, > } > dax_write_cache(dax_dev, nvdimm_has_cache(nd_region)); > pmem->dax_dev = dax_dev; > - gendev = disk_to_dev(disk); > - gendev->groups = pmem_attribute_groups; > > - device_add_disk(dev, disk, NULL); > + device_add_disk(dev, disk, pmem_attribute_groups); > if (devm_add_action_or_reset(dev, pmem_release_disk, pmem)) > return -ENOMEM; > > -- > 2.30.2 >
On Mon, Sep 20, 2021 at 12:29 AM Christoph Hellwig <hch@lst.de> wrote: > > The recent block layer refactoring broke the way how the pmem driver > abused device_add_disk. Fix this by properly passing the attribute groups > to device_add_disk. > > Fixes: 52b85909f85d ("block: fold register_disk into device_add_disk") This also fixes the the way the pmem driver abused device_add_disk(), so perhaps add: Fixes: fef912bf860e ("block: genhd: add 'groups' argument to device_add_disk") ...as well. It's not a stable fix as this is only a cosmetic fixup until the most recent refactoring turned it into a bug. Either way, you can add: Reviewed-by: Dan Williams <dan.j.williams@intel.com>
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 72de88ff0d30d..ef4950f808326 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c @@ -380,7 +380,6 @@ static int pmem_attach_disk(struct device *dev, struct nd_pfn_sb *pfn_sb; struct pmem_device *pmem; struct request_queue *q; - struct device *gendev; struct gendisk *disk; void *addr; int rc; @@ -489,10 +488,8 @@ static int pmem_attach_disk(struct device *dev, } dax_write_cache(dax_dev, nvdimm_has_cache(nd_region)); pmem->dax_dev = dax_dev; - gendev = disk_to_dev(disk); - gendev->groups = pmem_attribute_groups; - device_add_disk(dev, disk, NULL); + device_add_disk(dev, disk, pmem_attribute_groups); if (devm_add_action_or_reset(dev, pmem_release_disk, pmem)) return -ENOMEM;
The recent block layer refactoring broke the way how the pmem driver abused device_add_disk. Fix this by properly passing the attribute groups to device_add_disk. Fixes: 52b85909f85d ("block: fold register_disk into device_add_disk") Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/nvdimm/pmem.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)