Thread (15 messages) 15 messages, 3 authors, 2021-08-30

Re: [PATCH 03/10] nvme-multipath: add error handling support for add_disk()

From: Luis Chamberlain <mcgrof@kernel.org>
Date: 2021-08-30 21:09:10
Also in: linux-block, linux-nvme, lkml, nvdimm, xen-devel

On Fri, Aug 27, 2021 at 01:29:32PM -0700, Keith Busch wrote:
On Fri, Aug 27, 2021 at 12:18:02PM -0700, Luis Chamberlain wrote:
quoted
@@ -479,13 +479,17 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
 static void nvme_mpath_set_live(struct nvme_ns *ns)
 {
 	struct nvme_ns_head *head = ns->head;
+	int rc;
 
 	if (!head->disk)
 		return;
 
-	if (!test_and_set_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
-		device_add_disk(&head->subsys->dev, head->disk,
-				nvme_ns_id_attr_groups);
+	if (!test_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
This should still be test_and_set_bit() because it is protecting against
two nvme paths simultaneously calling device_add_disk() on the same
namespace head.
Interesting, I'll add a comment as well, as this was not clear with the drive
by effort.

  Luis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help