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 <sbham...@panasas.com>
>> Signed-off-by: Boaz Harrosh <bharr...@panasas.com>
> 
> 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-...@open-osd.org
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to