lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 20 Apr 2012 13:34:05 -0400
From:	Mike Snitzer <snitzer@...hat.com>
To:	James.Bottomley@...senpartnership.com
Cc:	linux-scsi@...r.kernel.org, Hannes Reinecke <hare@...e.de>,
	Chandra Seetharaman <sekharan@...ibm.com>,
	linux-kernel@...r.kernel.org
Subject: [PATCH v2] [SCSI] scsi_dh: change scsi_dh_detach export to
 EXPORT_SYMBOL

Allow a proprietary non-GPL multipath driver, like EMC PowerPath, to
detach a scsi_dh using scsi_dh_detach.  This is an improvement over
requiring them to write 'detach' to /sys/block/sdX/queue/dh_state

End result is Linux and PowerPath can coexist without compromising
Linux's default handling of multipath LUNs.

Linux has suffered from the race where a scsi_dh is not available to be
attached to a SCSI device until too late (after an HBA driver has
started the SCSI device scan that may attach a scsi_dh).  Attaching a
scsi_dh too late results in default sense handling that does not
silently end IO to passive paths, which creates excessive delays and IO
errors during normal boot of a system with hundreds of LUNs.

To fix this the appropriate scsi_dh must be available to be attached
before an HBA driver's SCSI device scan.  But once attached, both
scsi_dh_alua and scsi_dh_emc are known to conflict with PowerPath --
allowing PowerPath to use scsi_dh_detach resolves such conflicts.

Signed-off-by: Mike Snitzer <snitzer@...hat.com>
Acked-by: Hannes Reinecke <hare@...e.de>
Acked-by: Chandra Seetharaman <sekharan@...ibm.com>
---
 drivers/scsi/device_handler/scsi_dh.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

v2: header tweaks, added Chandra's Acked-by
    p.s. James, if you still think I'm too indirect or long-winded
    please feel free to change the header accordingly.  Thanks!

diff --git a/drivers/scsi/device_handler/scsi_dh.c b/drivers/scsi/device_handler/scsi_dh.c
index 23149b9..a550de1 100644
--- a/drivers/scsi/device_handler/scsi_dh.c
+++ b/drivers/scsi/device_handler/scsi_dh.c
@@ -578,7 +578,7 @@ void scsi_dh_detach(struct request_queue *q)
 	}
 	put_device(&sdev->sdev_gendev);
 }
-EXPORT_SYMBOL_GPL(scsi_dh_detach);
+EXPORT_SYMBOL(scsi_dh_detach);
 
 static struct notifier_block scsi_dh_nb = {
 	.notifier_call = scsi_dh_notifier
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ