On 10/24/2012 02:55 PM, Boaz Harrosh wrote: > On 10/24/2012 02:51 PM, Boaz Harrosh wrote: >> >> This patch adds the support for the following two read-only sysfs attributes >> to scsi_osd class members : osdname & systemid >> >> These attributes will show up as below in sysfs class hierarchy: >> /sys/class/scsi_osd/osdX/osdname >> /sys/class/scsi_osd/osdX/systemid >> >> The osdname & systemid are OSD device attributes which uniquely >> identify a device on the network, while it's IP and certainly >> it's /dev/osdX device path might change. >> Userspace utilities (e.g. mkfs.exofs) can parse these attributes to >> identify the correct OSD in safer and faster way. >> >> (Today osd apps open each device in the system and send a >> attributes query for these, in order to access the user >> requested device) >> >> Signed-off-by: Sachin Bhamare <sbhamare@xxxxxxxxxxx> >> Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx> > > James hi. > > This is for the next (v3.8) merge window. Please submit to scsi-misc tree. > James ping! Do you want that I push it through my osd tree? Thanks Boaz > It is actually a very old well tested, but forgotten patch. > > Thanks > Boaz > >> --- >> drivers/scsi/osd/osd_uld.c | 28 ++++++++++++++++++++++++++++ >> 1 files changed, 28 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c >> index d4ed9eb..4375417 100644 >> --- a/drivers/scsi/osd/osd_uld.c >> +++ b/drivers/scsi/osd/osd_uld.c >> @@ -97,9 +97,37 @@ struct osd_dev_handle { >> >> static DEFINE_IDA(osd_minor_ida); >> >> +/* >> + * scsi sysfs attribute operations >> + */ >> +static ssize_t osdname_show(struct device *dev, struct device_attribute *attr, >> + char *buf) >> +{ >> + struct osd_uld_device *ould = container_of(dev, struct osd_uld_device, >> + class_dev); >> + return sprintf(buf, "%s\n", ould->odi.osdname); >> +} >> + >> +static ssize_t systemid_show(struct device *dev, struct device_attribute *attr, >> + char *buf) >> +{ >> + struct osd_uld_device *ould = container_of(dev, struct osd_uld_device, >> + class_dev); >> + >> + memcpy(buf, ould->odi.systemid, ould->odi.systemid_len); >> + return ould->odi.systemid_len; >> +} >> + >> +static struct device_attribute osd_uld_attrs[] = { >> + __ATTR(osdname, S_IRUGO, osdname_show, NULL), >> + __ATTR(systemid, S_IRUGO, systemid_show, NULL), >> + __ATTR_NULL, >> +}; >> + >> static struct class osd_uld_class = { >> .owner = THIS_MODULE, >> .name = "scsi_osd", >> + .dev_attrs = osd_uld_attrs, >> }; >> >> /* >> > > > _______________________________________________ > osd-dev mailing list > osd-dev@xxxxxxxxxxxx > http://mailman.open-osd.org/mailman/listinfo/osd-dev > -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html