All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <bharrosh@panasas.com>
To: James Bottomley <James.Bottomley@HansenPartnership.com>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	open-osd <osd-dev@open-osd.org>
Subject: Re: [osd-dev] [PATCH] osduld: Add osdname & systemid sysfs at scsi_osd class
Date: Wed, 24 Oct 2012 14:55:34 -0700	[thread overview]
Message-ID: <508863D6.4040301@panasas.com> (raw)
In-Reply-To: <508862ED.1070600@panasas.com>

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@panasas.com>
> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>

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



  reply	other threads:[~2012-10-24 21:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-24 21:51 [PATCH] osduld: Add osdname & systemid sysfs at scsi_osd class Boaz Harrosh
2012-10-24 21:55 ` Boaz Harrosh [this message]
2012-11-05 20:15   ` [osd-dev] " Boaz Harrosh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=508863D6.4040301@panasas.com \
    --to=bharrosh@panasas.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=osd-dev@open-osd.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.