From: Hannes Reinecke <hare@suse.de>
To: Christophe Varoqui <christophe.varoqui@gmail.com>
Cc: dm-devel@redhat.com
Subject: [PATCH 10/13] Discover target ids for ATA
Date: Wed, 16 Jan 2013 13:14:13 +0100 [thread overview]
Message-ID: <1358338456-1234-11-git-send-email-hare@suse.de> (raw)
In-Reply-To: <1358338456-1234-1-git-send-email-hare@suse.de>
libata devices now have a separate sysfs entry, so we should be
discovering them properly, too.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
libmultipath/discovery.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 3fd33a3..b6bce22 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -207,7 +207,7 @@ sysfs_get_tgt_nodename (struct path *pp, char * node)
{
const char *targetid, *value;
struct udev_device *parent, *tgtdev;
- int host, channel, rport_id = -1;
+ int host, channel, rport_id = -1, ata_id = -1;
parent = udev_device_get_parent_with_subsystem_devtype(pp->udev, "scsi", "scsi_device");
if (!parent)
@@ -275,6 +275,23 @@ sysfs_get_tgt_nodename (struct path *pp, char * node)
udev_device_unref(tgtdev);
}
}
+ /* Check for libata */
+ parent = pp->udev;
+ targetid = NULL;
+ while (parent) {
+ targetid = udev_device_get_sysname(parent);
+ if (targetid && sscanf(targetid, "ata%d", &ata_id) == 1)
+ break;
+ parent = udev_device_get_parent(parent);
+ targetid = NULL;
+ }
+ if (targetid) {
+ pp->sg_id.proto_id = SCSI_PROTOCOL_ATA;
+ pp->sg_id.transport_id = ata_id;
+ snprintf(node, NODE_NAME_SIZE, "ata-%d.00", ata_id);
+ return 0;
+ }
+ pp->sg_id.proto_id = SCSI_PROTOCOL_UNSPEC;
return 1;
}
--
1.7.4.2
next prev parent reply other threads:[~2013-01-16 12:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-16 12:14 [PATCH 00/13] More patches from SLES Hannes Reinecke
2013-01-16 12:14 ` [PATCH 01/13] Fixup .gitignore Hannes Reinecke
2013-01-16 12:14 ` [PATCH 02/13] Check for !SUSPENDED in kpartx rules Hannes Reinecke
2013-01-16 12:14 ` [PATCH 03/13] kpartx.rules: Check for accessible device-mapper device Hannes Reinecke
2013-01-16 12:14 ` [PATCH 04/13] Correct persistent symlink for cciss Hannes Reinecke
2013-01-16 12:14 ` [PATCH 05/13] Add hardware entry for Intel Multi-Flex Hannes Reinecke
2013-01-16 12:14 ` [PATCH 06/13] Add Datacore SANSymphony to hwtable Hannes Reinecke
2013-01-16 20:53 ` Christophe Varoqui
2013-01-16 12:14 ` [PATCH 07/13] Add SUN STK6580 to hardware table Hannes Reinecke
2013-01-16 12:14 ` [PATCH 08/13] Remove unused structures Hannes Reinecke
2013-01-16 12:14 ` [PATCH 09/13] Use transport identifiers when detecting devices Hannes Reinecke
2013-01-16 12:14 ` Hannes Reinecke [this message]
2013-01-16 12:14 ` [PATCH 11/13] Set recovery_tmo for iSCSI devices Hannes Reinecke
2013-01-16 12:14 ` [PATCH 12/13] Set I_T_nexus_loss_timeout on SAS devices Hannes Reinecke
2013-01-16 12:14 ` [PATCH 13/13] Rename variables in sysfs_get_tgt_nodename Hannes Reinecke
2013-01-16 21:06 ` [PATCH 00/13] More patches from SLES Christophe Varoqui
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=1358338456-1234-11-git-send-email-hare@suse.de \
--to=hare@suse.de \
--cc=christophe.varoqui@gmail.com \
--cc=dm-devel@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox