* [PATCH v2] scsi: Export SCSI Inquiry data to sysfs
@ 2015-08-14 7:39 Johannes Thumshirn
2015-09-24 14:54 ` Johannes Thumshirn
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Thumshirn @ 2015-08-14 7:39 UTC (permalink / raw)
To: James E.J. Bottomley
Cc: Hannes Reinecke, Johannes Thumshirn, linux-scsi, linux-kernel
Export the RAW SCSI Inquiry to sysfs as binfile. This way the data can be used
by userland without the need to have and ioctl or use the sg_inq tool.
Here is an example of the provided data
linux:~ # hexdump /sys/class/scsi_device/1\:0\:0\:0/device/inquiry
0000000 8005 3205 001f 0000 4551 554d 2020 2020
0000010 4551 554d 4420 4456 522d 4d4f 2020 2020
0000020 2e32 2e33
0000024
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
---
Chanes to v1:
* Correct typo userlang -> userland in commit message.
drivers/scsi/scsi_sysfs.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index 9ad4116..5ecb65d 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -773,6 +773,29 @@ static struct bin_attribute dev_attr_vpd_##_page = { \
sdev_vpd_pg_attr(pg83);
sdev_vpd_pg_attr(pg80);
+static ssize_t show_inquiry(struct file *filep, struct kobject *kobj,
+ struct bin_attribute *bin_attr,
+ char *buf, loff_t off, size_t count)
+{
+ struct device *dev = container_of(kobj, struct device, kobj);
+ struct scsi_device *sdev = to_scsi_device(dev);
+
+ if (!sdev->inquiry)
+ return -EINVAL;
+
+ return memory_read_from_buffer(buf, count, &off, sdev->inquiry,
+ sdev->inquiry_len);
+}
+
+static struct bin_attribute dev_attr_inquiry = {
+ .attr = {
+ .name = "inquiry",
+ .mode = S_IRUGO,
+ },
+ .size = 0,
+ .read = show_inquiry,
+};
+
static ssize_t
show_iostat_counterbits(struct device *dev, struct device_attribute *attr,
char *buf)
@@ -957,6 +980,7 @@ static struct attribute *scsi_sdev_attrs[] = {
static struct bin_attribute *scsi_sdev_bin_attrs[] = {
&dev_attr_vpd_pg83,
&dev_attr_vpd_pg80,
+ &dev_attr_inquiry,
NULL
};
static struct attribute_group scsi_sdev_attr_group = {
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] scsi: Export SCSI Inquiry data to sysfs
2015-08-14 7:39 [PATCH v2] scsi: Export SCSI Inquiry data to sysfs Johannes Thumshirn
@ 2015-09-24 14:54 ` Johannes Thumshirn
2015-10-21 6:32 ` Hannes Reinecke
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Thumshirn @ 2015-09-24 14:54 UTC (permalink / raw)
To: James Smart
Cc: Hannes Reinecke, linux-scsi, linux-kernel, James E.J. Bottomley
Ping?
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] scsi: Export SCSI Inquiry data to sysfs
2015-09-24 14:54 ` Johannes Thumshirn
@ 2015-10-21 6:32 ` Hannes Reinecke
0 siblings, 0 replies; 3+ messages in thread
From: Hannes Reinecke @ 2015-10-21 6:32 UTC (permalink / raw)
To: Johannes Thumshirn, James Smart
Cc: linux-scsi, linux-kernel, James E.J. Bottomley
On 09/24/2015 04:54 PM, Johannes Thumshirn wrote:
>
> Ping?
>
I really would like to see them included, as with this we can move
the udev rules over to not issuing any SG_IO commands during event
processing. This helps a lot for multipath failover scenarios.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-10-21 6:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-14 7:39 [PATCH v2] scsi: Export SCSI Inquiry data to sysfs Johannes Thumshirn
2015-09-24 14:54 ` Johannes Thumshirn
2015-10-21 6:32 ` Hannes Reinecke
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).