Messages in this thread | | | Subject | Re: [PATCH] scsi: scsi_sysfs.c: Hide wwid sdev attr if VPD is not supported | From | Hannes Reinecke <> | Date | Wed, 19 Jun 2019 08:34:56 +0200 |
| |
On 6/19/19 5:35 AM, Martin K. Petersen wrote: > > Marcos, > >> WWID composed from VPD data from device, specifically page 0x83. So, >> when a device does not have VPD support, for example USB storage >> devices where VPD is specifically disabled, a read into <blk >> device>/device/wwid file will always return ENXIO. To avoid this, >> change the scsi_sdev_attr_is_visible function to hide wwid sysfs file >> when the devices does not support VPD. > > Not a big fan of attribute files that come and go. > > Why not just return an empty string? Hannes? > Actually, the intention of the 'wwid' attribute was to have a common place where one could look up the global id. As such it actually serves a dual purpose, namely indicating that there _is_ a global ID _and_ that this kernel (version) has support for 'wwid' attribute. This is to resolve one big issue we have to udev nowadays, which is figuring out if a specific sysfs attribute is actually supported on this particular kernel. Dynamic attributes are 'nicer' on a conceptual level, but make the above test nearly impossible, as we now have _two_ possibilities why a specific attribute is not present. So making 'wwid' conditional would actually defeat its very purpose, and we should leave it blank if not supported.
Cheers,
Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@suse.com +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)
| |