Message ID | 20211015235219.2191207-4-mcgrof@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: add_disk() error handling stragglers | expand |
On Fri, Oct 15, 2021 at 4:53 PM Luis Chamberlain <mcgrof@kernel.org> wrote: > > We know we don't need del_gendisk() if we haven't added > the disk, so just skip it. This should fix a bug on older > kernels, as del_gendisk() became able to deal with > disks not added only recently, after the patch titled > "block: add flag for add_disk() completion notation". Perhaps put this in: commit $abbrev_commit ("block: add flag for add_disk() completion notation") ...format, but I can't seem to find that commit? If you're touching the changelog how about one that clarifies the impact and drops "we"? "del_gendisk() is not required if the disk has not been added. On kernels prior to commit $abbrev_commit ("block: add flag for add_disk() completion notation") it is mandatory to not call del_gendisk() if the underlying device has not been through device_add()." Fixes: 41cd8b70c37a ("libnvdimm, btt: add support for blk integrity") With that you can add: Reviewed-by: Dan Williams <dan.j.williams@intel.com>
On Sun, Oct 31, 2021 at 10:47:22AM -0700, Dan Williams wrote: > On Fri, Oct 15, 2021 at 4:53 PM Luis Chamberlain <mcgrof@kernel.org> wrote: > > > > We know we don't need del_gendisk() if we haven't added > > the disk, so just skip it. This should fix a bug on older > > kernels, as del_gendisk() became able to deal with > > disks not added only recently, after the patch titled > > "block: add flag for add_disk() completion notation". > > Perhaps put this in: > > commit $abbrev_commit ("block: add flag for add_disk() completion notation") > > ...format, but I can't seem to find that commit? Indeed, that patch got dropped and it would seem Christoph preferred a simpler approach with the new disk_live() commit 40b3a52ffc5bc3b5427d5d35b035cfb19d03fdd6 Author: Christoph Hellwig <hch@lst.de> Date: Wed Aug 18 16:45:32 2021 +0200 block: add a sanity check for a live disk in del_gendisk > If you're touching the changelog how about one that clarifies the > impact and drops "we"? > "del_gendisk() is not required if the disk has not been added. On > kernels prior to commit $abbrev_commit ("block: add flag for > add_disk() completion notation") > it is mandatory to not call del_gendisk() if the underlying device has > not been through device_add()." > > Fixes: 41cd8b70c37a ("libnvdimm, btt: add support for blk integrity") > > With that you can add: > > Reviewed-by: Dan Williams <dan.j.williams@intel.com> You got it. Luis
diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c index 52de60b7adee..29cc7325e890 100644 --- a/drivers/nvdimm/btt.c +++ b/drivers/nvdimm/btt.c @@ -1538,7 +1538,6 @@ static int btt_blk_init(struct btt *btt) int rc = nd_integrity_init(btt->btt_disk, btt_meta_size(btt)); if (rc) { - del_gendisk(btt->btt_disk); blk_cleanup_disk(btt->btt_disk); return rc; }
We know we don't need del_gendisk() if we haven't added the disk, so just skip it. This should fix a bug on older kernels, as del_gendisk() became able to deal with disks not added only recently, after the patch titled "block: add flag for add_disk() completion notation". Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> --- drivers/nvdimm/btt.c | 1 - 1 file changed, 1 deletion(-)