Re: [osd-dev] [PATCH] osduld: Add osdname & systemid sysfs at scsi_osd class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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,
>  };
>  
>  /*
> 


--
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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux